0040D86F   mov         esi,esp
0040D871   mov         eax,dword ptr [ebp-4]
0040D874   push        eax
0040D875   push        0
0040D877   push        0
0040D879   push        offset @ILT+0(threadProc) (00401005)
0040D87E   push        0
0040D880   push        0
0040D882   call        dword ptr [__imp__CreateThread@24 (0042a198)]
0040D888   cmp         esi,esp
0040D88A   call        __chkesp (004015c0)
29:
30:       while(true){
0040D88F   mov         ecx,1
0040D894   test        ecx,ecx
0040D896   je          main+0AFh (0040d8ff)
31:           Sleep(500);
0040D898   mov         esi,esp
0040D89A   push        1F4h
0040D89F   call        dword ptr [__imp__Sleep@4 (0042a194)]
0040D8A5   cmp         esi,esp
0040D8A7   call        __chkesp (004015c0)
32:           putchar(13);
0040D8AC   mov         edx,dword ptr [__iob+24h (00424a54)]
0040D8B2   sub         edx,1
0040D8B5   mov         dword ptr [__iob+24h (00424a54)],edx
0040D8BB   cmp         dword ptr [__iob+24h (00424a54)],0
0040D8C2   jl          main+9Bh (0040d8eb)
0040D8C4   mov         eax,[__iob+20h (00424a50)]
0040D8C9   mov         byte ptr [eax],0Dh
0040D8CC   mov         ecx,0Dh
0040D8D1   and         ecx,0FFh
0040D8D7   mov         dword ptr [ebp-8],ecx
0040D8DA   mov         edx,dword ptr [__iob+20h (00424a50)]
0040D8E0   add         edx,1
0040D8E3   mov         dword ptr [__iob+20h (00424a50)],edx
0040D8E9   jmp         main+0ADh (0040d8fd)
0040D8EB   push        offset __iob+20h (00424a50)
0040D8F0   push        0Dh
0040D8F2   call        _flsbuf (004011f0)
0040D8F7   add         esp,8
0040D8FA   mov         dword ptr [ebp-8],eax
33:       }
0040D8FD   jmp         main+3Fh (0040d88f)
34:
35:       return 0;
0040D8FF   xor         eax,eax
36:   }
0040D901   pop         edi
0040D902   pop         esi
0040D903   pop         ebx
0040D904   add         esp,48h
0040D907   cmp         ebp,esp
0040D909   call        __chkesp (004015c0)
0040D90E   mov         esp,ebp
0040D910   pop         ebp
0040D898   mov         esi,esp
0040D89A   push        1F4h
0040D89F   call        dword ptr [__imp__Sleep@4 (0042a194)]
0040D8A5   cmp         esi,esp
0040D8A7   call        __chkesp (004015c0)
32:           putchar(13);
0040D8AC   mov         edx,dword ptr [__iob+24h (00424a54)]
0040D8B2   sub         edx,1
0040D8B5   mov         dword ptr [__iob+24h (00424a54)],edx
0040D8BB   cmp         dword ptr [__iob+24h (00424a54)],0
0040D8C2   jl          main+9Bh (0040d8eb)
0040D8C4   mov         eax,[__iob+20h (00424a50)]
0040D8C9   mov         byte ptr [eax],0Dh
0040D8CC   mov         ecx,0Dh
0040D8D1   and         ecx,0FFh
0040D8D7   mov         dword ptr [ebp-8],ecx
0040D8DA   mov         edx,dword ptr [__iob+20h (00424a50)]
0040D8E0   add         edx,1
0040D8E3   mov         dword ptr [__iob+20h (00424a50)],edx
0040D8E9   jmp         main+0ADh (0040d8fd)
0040D8EB   push        offset __iob+20h (00424a50)
0040D8F0   push        0Dh
0040D8F2   call        _flsbuf (004011f0)
0040D8F7   add         esp,8
0040D8FA   mov         dword ptr [ebp-8],eax
33:       }
0040D8FD   jmp         main+3Fh (0040d88f)
34:
35:       return 0;
0040D8FF   xor         eax,eax
36:   }
0040D901   pop         edi
0040D902   pop         esi
0040D903   pop         ebx
0040D904   add         esp,48h
0040D907   cmp         ebp,esp
0040D909   call        __chkesp (004015c0)
0040D90E   mov         esp,ebp
0040D910   pop         ebp
0040D911   ret
0040D7DB   mov         esi,esp
0040D7DD   mov         edx,dword ptr [i]
0040D7E3   push        edx
0040D7E4   call        dword ptr [__imp__GetAsyncKeyState@4 (0042a2bc)]
0040D7EA   cmp         esi,esp
0040D7EC   call        __chkesp (004015c0)
0040D7F1   mov         word ptr [ks],ax
15:               if(ks==-32767)
0040D7F8   movsx       eax,word ptr [ks]
0040D7FF   cmp         eax,0FFFF8001h
0040D804   jne         threadProc+0A2h (0040d822)
16:               {
17:                   //putchar(i);
18:                   printf("keyPress: %d - %d\r\n", i, ks);
0040D806   movsx       ecx,word ptr [ks]
0040D80D   push        ecx
0040D80E   mov         edx,dword ptr [i]
0040D814   push        edx
0040D815   push        offset string "keyPress: %d - %d\r\n" (00422f70)
0040D81A   call        printf (004010d0)
0040D81F   add         esp,0Ch
19:               }
20:           }
0040D822   jmp         threadProc+40h (0040d7c0)
21:           Sleep(10);
0040D824   mov         esi,esp
0040D826   push        0Ah
0040D828   call        dword ptr [__imp__Sleep@4 (0042a194)]
0040D82E   cmp         esi,esp
0040D830   call        __chkesp (004015c0)
22:       }
0040D835   jmp         threadProc+1Eh (0040d79e)
23:   }
0040D83A   pop         edi
0040D83B   pop         esi
0040D83C   pop         ebx
0040D83D   add         esp,148h
0040D843   cmp         ebp,esp
0040D845   call        __chkesp (004015c0)
0040D84A   mov         esp,ebp
0040D84C   pop         ebp
0040D84D   ret         4
24:
25:   int main(int argc, char* argv[])
26:   {
0040D850   push        ebp
0040D851   mov         ebp,esp
0040D853   sub         esp,48h
0040D856   push        ebx
0040D857   push        esi
0040D858   push        edi
0040D859   lea         edi,[ebp-48h]
0040D85C   mov         ecx,12h
0040D861   mov         eax,0CCCCCCCCh
0040D866   rep stos    dword ptr [edi]
27:       LPDWORD tID = 0;
0040D868   mov         dword ptr [ebp-4],0
28:       CreateThread(NULL,0,threadProc,NULL,0,tID);
0040D86F   mov         esi,esp
0040D871   mov         eax,dword ptr [ebp-4]
0040D874   push        eax
0040D875   push        0
0040D877   push        0
0040D879   push        offset @ILT+0(threadProc) (00401005)
0040D87E   push        0
0040D880   push        0
0040D882   call        dword ptr [__imp__CreateThread@24 (0042a198)]
0040D888   cmp         esi,esp
0040D88A   call        __chkesp (004015c0)
29:
30:       while(true){
0040D88F   mov         ecx,1
0040D894   test        ecx,ecx
0040D896   je          main+0AFh (0040d8ff)
31:           Sleep(500);
0040D898   mov         esi,esp
0040D89A   push        1F4h
0040D89F   call        dword ptr [__imp__Sleep@4 (0042a194)]
0040D8A5   cmp         esi,esp
0040D8A7   call        __chkesp (004015c0)
32:           putchar(13);
0040D8AC   mov         edx,dword ptr [__iob+24h (00424a54)]
0040D8B2   sub         edx,1
0040D8B5   mov         dword ptr [__iob+24h (00424a54)],edx
0040D8BB   cmp         dword ptr [__iob+24h (00424a54)],0
0040D8C2   jl          main+9Bh (0040d8eb)
0040D8C4   mov         eax,[__iob+20h (00424a50)]
0040D8C9   mov         byte ptr [eax],0Dh
0040D8CC   mov         ecx,0Dh
0040D8D1   and         ecx,0FFh
0040D8D7   mov         dword ptr [ebp-8],ecx
0040D8DA   mov         edx,dword ptr [__iob+20h (00424a50)]
0040D8E0   add         edx,1
0040D8E3   mov         dword ptr [__iob+20h (00424a50)],edx
0040D8E9   jmp         main+0ADh (0040d8fd)
0040D8EB   push        offset __iob+20h (00424a50)
0040D8F0   push        0Dh
0040D8F2   call        _flsbuf (004011f0)
0040D8F7   add         esp,8
0040D8FA   mov         dword ptr [ebp-8],eax
33:       }
0040D8FD   jmp         main+3Fh (0040d88f)
34:
35:       return 0;
0040D8FF   xor         eax,eax
36:   }
0040D901   pop         edi
0040D902   pop         esi
0040D903   pop         ebx
0040D904   add         esp,48h
0040D907   cmp         ebp,esp
0040D909   call        __chkesp (004015c0)
0040D90E   mov         esp,ebp
0040D910   pop         ebp
0040D911   ret
