Module: linkio.c Group: 'DGROUP' CONST,CONST2,_DATA,_BSS Segment: _TEXT BYTE USE32 00000479 bytes 0000 68 24 00 00 00 linkio_error_ push 00000024H 0005 e8 00 00 00 00 call __CHK 000a 53 push ebx 000b 51 push ecx 000c 52 push edx 000d 56 push esi 000e 57 push edi 000f 55 push ebp 0010 89 e5 mov ebp,esp 0012 81 ec 04 00 00 00 sub esp,00000004H 0018 89 45 fc mov -4H[ebp],eax 001b ff 75 fc push -4H[ebp] 001e e8 00 00 00 00 call printf_ 0023 83 c4 04 add esp,00000004H 0026 c7 05 00 00 00 00 01 00 00 00 mov dword ptr ___connected,00000001H 0030 89 ec mov esp,ebp 0032 5d pop ebp 0033 5f pop edi 0034 5e pop esi 0035 5a pop edx 0036 59 pop ecx 0037 5b pop ebx 0038 c3 ret 0039 68 20 00 00 00 setLA_ push 00000020H 003e e8 00 00 00 00 call __CHK 0043 53 push ebx 0044 51 push ecx 0045 52 push edx 0046 56 push esi 0047 57 push edi 0048 55 push ebp 0049 89 e5 mov ebp,esp 004b 81 ec 04 00 00 00 sub esp,00000004H 0051 89 45 fc mov -4H[ebp],eax 0054 8b 45 fc mov eax,-4H[ebp] 0057 a3 00 00 00 00 mov _inputData,eax 005c a1 00 00 00 00 mov eax,_inputData 0061 40 inc eax 0062 a3 00 00 00 00 mov _outputData,eax 0067 a1 00 00 00 00 mov eax,_outputData 006c 40 inc eax 006d a3 00 00 00 00 mov _inputStatus,eax 0072 a1 00 00 00 00 mov eax,_inputStatus 0077 40 inc eax 0078 a3 00 00 00 00 mov _outputStatus,eax 007d 8b 45 fc mov eax,-4H[ebp] 0080 83 c0 10 add eax,00000010H 0083 a3 00 00 00 00 mov _resetRoot,eax 0088 a1 00 00 00 00 mov eax,_resetRoot 008d 40 inc eax 008e a3 00 00 00 00 mov _analyseRoot,eax 0093 89 ec mov esp,ebp 0095 5d pop ebp 0096 5f pop edi 0097 5e pop esi 0098 5a pop edx 0099 59 pop ecx 009a 5b pop ebx 009b c3 ret 009c 68 1c 00 00 00 initLA_ push 0000001cH 00a1 e8 00 00 00 00 call __CHK 00a6 53 push ebx 00a7 51 push ecx 00a8 52 push edx 00a9 56 push esi 00aa 57 push edi 00ab 55 push ebp 00ac 89 e5 mov ebp,esp 00ae 81 ec 00 00 00 00 sub esp,00000000H 00b4 5d pop ebp 00b5 5f pop edi 00b6 5e pop esi 00b7 5a pop edx 00b8 59 pop ecx 00b9 5b pop ebx 00ba c3 ret 00bb 68 2c 00 00 00 outputOrFail_ push 0000002cH 00c0 e8 00 00 00 00 call __CHK 00c5 53 push ebx 00c6 51 push ecx 00c7 52 push edx 00c8 56 push esi 00c9 57 push edi 00ca 55 push ebp 00cb 89 e5 mov ebp,esp 00cd 81 ec 0c 00 00 00 sub esp,0000000cH 00d3 88 45 fc mov -4H[ebp],al 00d6 83 3d 00 00 00 00 00 cmp dword ptr ___connected,00000000H 00dd 74 4d je L6 00df 31 d2 xor edx,edx 00e1 8a 55 fc mov dl,-4H[ebp] 00e4 a1 00 00 00 00 mov eax,_outputData 00e9 e8 00 00 00 00 call outp_ 00ee c7 45 f8 00 00 00 00 mov dword ptr -8H[ebp],00000000H 00f5 81 7d f8 40 9c 00 00 L1 cmp dword ptr -8H[ebp],00009c40H 00fc 7c 07 jl L3 00fe eb 1e jmp L5 0100 ff 45 f8 L2 inc dword ptr -8H[ebp] 0103 eb f0 jmp L1 0105 a1 00 00 00 00 L3 mov eax,_outputStatus 010a e8 00 00 00 00 call inp_ 010f a8 01 test al,01H 0111 74 09 je L4 0113 c7 45 f4 01 00 00 00 mov dword ptr -0cH[ebp],00000001H 011a eb 17 jmp L7 011c eb e2 L4 jmp L2 011e b8 00 00 00 00 L5 mov eax,offset L41 0123 50 push eax 0124 e8 00 00 00 00 call printf_ 0129 83 c4 04 add esp,00000004H 012c c7 45 f4 00 00 00 00 L6 mov dword ptr -0cH[ebp],00000000H 0133 8b 45 f4 L7 mov eax,-0cH[ebp] 0136 89 ec mov esp,ebp 0138 5d pop ebp 0139 5f pop edi 013a 5e pop esi 013b 5a pop edx 013c 59 pop ecx 013d 5b pop ebx 013e c3 ret 013f 68 28 00 00 00 inputOrFail_ push 00000028H 0144 e8 00 00 00 00 call __CHK 0149 53 push ebx 014a 51 push ecx 014b 52 push edx 014c 56 push esi 014d 57 push edi 014e 55 push ebp 014f 89 e5 mov ebp,esp 0151 81 ec 0c 00 00 00 sub esp,0000000cH 0157 89 45 f4 mov -0cH[ebp],eax 015a 83 3d 00 00 00 00 00 cmp dword ptr ___connected,00000000H 0161 74 54 je L13 0163 c7 45 fc 00 00 00 00 mov dword ptr -4H[ebp],00000000H 016a 81 7d fc 40 9c 00 00 L8 cmp dword ptr -4H[ebp],00009c40H 0171 7c 07 jl L10 0173 eb 2f jmp L12 0175 ff 45 fc L9 inc dword ptr -4H[ebp] 0178 eb f0 jmp L8 017a a1 00 00 00 00 L10 mov eax,_inputStatus 017f e8 00 00 00 00 call inp_ 0184 a8 01 test al,01H 0186 74 1a je L11 0188 a1 00 00 00 00 mov eax,_inputData 018d e8 00 00 00 00 call inp_ 0192 89 c2 mov edx,eax 0194 8b 45 f4 mov eax,-0cH[ebp] 0197 88 10 mov [eax],dl 0199 c7 45 f8 01 00 00 00 mov dword ptr -8H[ebp],00000001H 01a0 eb 1c jmp L14 01a2 eb d1 L11 jmp L9 01a4 b8 16 00 00 00 L12 mov eax,offset L42 01a9 e8 00 00 00 00 call linkio_error_ 01ae c7 45 f8 00 00 00 00 mov dword ptr -8H[ebp],00000000H 01b5 eb 07 jmp L14 01b7 c7 45 f8 00 00 00 00 L13 mov dword ptr -8H[ebp],00000000H 01be 8b 45 f8 L14 mov eax,-8H[ebp] 01c1 89 ec mov esp,ebp 01c3 5d pop ebp 01c4 5f pop edi 01c5 5e pop esi 01c6 5a pop edx 01c7 59 pop ecx 01c8 5b pop ebx 01c9 c3 ret 01ca 68 20 00 00 00 resetLoop_ push 00000020H 01cf e8 00 00 00 00 call __CHK 01d4 53 push ebx 01d5 51 push ecx 01d6 52 push edx 01d7 56 push esi 01d8 57 push edi 01d9 55 push ebp 01da 89 e5 mov ebp,esp 01dc 81 ec 04 00 00 00 sub esp,00000004H 01e2 e8 00 00 00 00 call clock_ 01e7 89 45 fc mov -4H[ebp],eax 01ea e8 00 00 00 00 L15 call clock_ 01ef 3b 45 fc cmp eax,-4H[ebp] 01f2 74 f6 je L15 01f4 e8 00 00 00 00 L16 call clock_ 01f9 3b 45 fc cmp eax,-4H[ebp] 01fc 74 f6 je L16 01fe 89 ec mov esp,ebp 0200 5d pop ebp 0201 5f pop edi 0202 5e pop esi 0203 5a pop edx 0204 59 pop ecx 0205 5b pop ebx 0206 c3 ret 0207 68 1c 00 00 00 reset_ push 0000001cH 020c e8 00 00 00 00 call __CHK 0211 53 push ebx 0212 51 push ecx 0213 52 push edx 0214 56 push esi 0215 57 push edi 0216 55 push ebp 0217 89 e5 mov ebp,esp 0219 81 ec 00 00 00 00 sub esp,00000000H 021f 31 d2 xor edx,edx 0221 a1 00 00 00 00 mov eax,_analyseRoot 0226 e8 00 00 00 00 call outp_ 022b 31 d2 xor edx,edx 022d a1 00 00 00 00 mov eax,_resetRoot 0232 e8 00 00 00 00 call outp_ 0237 e8 00 00 00 00 call resetLoop_ 023c ba 01 00 00 00 mov edx,00000001H 0241 a1 00 00 00 00 mov eax,_resetRoot 0246 e8 00 00 00 00 call outp_ 024b e8 00 00 00 00 call resetLoop_ 0250 31 d2 xor edx,edx 0252 a1 00 00 00 00 mov eax,_outputStatus 0257 e8 00 00 00 00 call outp_ 025c 31 d2 xor edx,edx 025e a1 00 00 00 00 mov eax,_inputStatus 0263 e8 00 00 00 00 call outp_ 0268 31 d2 xor edx,edx 026a a1 00 00 00 00 mov eax,_resetRoot 026f e8 00 00 00 00 call outp_ 0274 5d pop ebp 0275 5f pop edi 0276 5e pop esi 0277 5a pop edx 0278 59 pop ecx 0279 5b pop ebx 027a c3 ret 027b 68 34 00 00 00 outRecord_ push 00000034H 0280 e8 00 00 00 00 call __CHK 0285 53 push ebx 0286 51 push ecx 0287 56 push esi 0288 57 push edi 0289 55 push ebp 028a 89 e5 mov ebp,esp 028c 81 ec 1c 00 00 00 sub esp,0000001cH 0292 89 45 e4 mov -1cH[ebp],eax 0295 89 55 e8 mov -18H[ebp],edx 0298 e8 00 00 00 00 call clock_ 029d 89 45 f0 mov -10H[ebp],eax 02a0 83 3d 00 00 00 00 00 cmp dword ptr ___connected,00000000H 02a7 0f 84 89 00 00 00 je L27 02ad c7 45 f8 00 00 00 00 mov dword ptr -8H[ebp],00000000H 02b4 8b 45 f8 L17 mov eax,-8H[ebp] 02b7 3b 45 e8 cmp eax,-18H[ebp] 02ba 7c 0a jl L19 02bc e9 6c 00 00 00 jmp L26 02c1 ff 45 f8 L18 inc dword ptr -8H[ebp] 02c4 eb ee jmp L17 02c6 c7 45 fc 00 00 00 00 L19 mov dword ptr -4H[ebp],00000000H 02cd eb 05 L20 jmp L22 02cf ff 45 fc L21 inc dword ptr -4H[ebp] 02d2 eb f9 jmp L20 02d4 a1 00 00 00 00 L22 mov eax,_outputStatus 02d9 e8 00 00 00 00 call inp_ 02de a8 01 test al,01H 02e0 74 16 je L23 02e2 8b 45 e4 mov eax,-1cH[ebp] 02e5 ff 45 e4 inc dword ptr -1cH[ebp] 02e8 31 d2 xor edx,edx 02ea 8a 10 mov dl,[eax] 02ec a1 00 00 00 00 mov eax,_outputData 02f1 e8 00 00 00 00 call outp_ 02f6 eb 33 jmp L25 02f8 81 7d fc 40 9c 00 00 L23 cmp dword ptr -4H[ebp],00009c40H 02ff 7c 28 jl L24 0301 c7 45 fc 00 00 00 00 mov dword ptr -4H[ebp],00000000H 0308 e8 00 00 00 00 call clock_ 030d 89 45 f4 mov -0cH[ebp],eax 0310 8b 45 f4 mov eax,-0cH[ebp] 0313 2b 45 f0 sub eax,-10H[ebp] 0316 3d f4 01 00 00 cmp eax,000001f4H 031b 76 0c jbe L24 031d b8 2b 00 00 00 mov eax,offset L43 0322 e8 00 00 00 00 call linkio_error_ 0327 eb 0d jmp L27 0329 eb a4 L24 jmp L21 032b eb 94 L25 jmp L18 032d c7 45 ec 01 00 00 00 L26 mov dword ptr -14H[ebp],00000001H 0334 eb 07 jmp L28 0336 c7 45 ec 00 00 00 00 L27 mov dword ptr -14H[ebp],00000000H 033d 8b 45 ec L28 mov eax,-14H[ebp] 0340 89 ec mov esp,ebp 0342 5d pop ebp 0343 5f pop edi 0344 5e pop esi 0345 59 pop ecx 0346 5b pop ebx 0347 c3 ret 0348 68 34 00 00 00 inRecord_ push 00000034H 034d e8 00 00 00 00 call __CHK 0352 53 push ebx 0353 51 push ecx 0354 56 push esi 0355 57 push edi 0356 55 push ebp 0357 89 e5 mov ebp,esp 0359 81 ec 1c 00 00 00 sub esp,0000001cH 035f 89 45 e4 mov -1cH[ebp],eax 0362 89 55 e8 mov -18H[ebp],edx 0365 e8 00 00 00 00 call clock_ 036a 89 45 f0 mov -10H[ebp],eax 036d 83 3d 00 00 00 00 00 cmp dword ptr ___connected,00000000H 0374 0f 84 87 00 00 00 je L39 037a c7 45 fc 00 00 00 00 mov dword ptr -4H[ebp],00000000H 0381 8b 45 fc L29 mov eax,-4H[ebp] 0384 3b 45 e8 cmp eax,-18H[ebp] 0387 7c 0a jl L31 0389 e9 6a 00 00 00 jmp L38 038e ff 45 fc L30 inc dword ptr -4H[ebp] 0391 eb ee jmp L29 0393 c7 45 f8 00 00 00 00 L31 mov dword ptr -8H[ebp],00000000H 039a eb 05 L32 jmp L34 039c ff 45 f8 L33 inc dword ptr -8H[ebp] 039f eb f9 jmp L32 03a1 a1 00 00 00 00 L34 mov eax,_inputStatus 03a6 e8 00 00 00 00 call inp_ 03ab a8 01 test al,01H 03ad 74 14 je L35 03af a1 00 00 00 00 mov eax,_inputData 03b4 e8 00 00 00 00 call inp_ 03b9 8b 55 e4 mov edx,-1cH[ebp] 03bc ff 45 e4 inc dword ptr -1cH[ebp] 03bf 88 02 mov [edx],al 03c1 eb 33 jmp L37 03c3 81 7d f8 40 9c 00 00 L35 cmp dword ptr -8H[ebp],00009c40H 03ca 7c 28 jl L36 03cc c7 45 f8 00 00 00 00 mov dword ptr -8H[ebp],00000000H 03d3 e8 00 00 00 00 call clock_ 03d8 89 45 f4 mov -0cH[ebp],eax 03db 8b 45 f4 mov eax,-0cH[ebp] 03de 2b 45 f0 sub eax,-10H[ebp] 03e1 3d f4 01 00 00 cmp eax,000001f4H 03e6 76 0c jbe L36 03e8 b8 41 00 00 00 mov eax,offset L44 03ed e8 00 00 00 00 call linkio_error_ 03f2 eb 0d jmp L39 03f4 eb a6 L36 jmp L33 03f6 eb 96 L37 jmp L30 03f8 c7 45 ec 01 00 00 00 L38 mov dword ptr -14H[ebp],00000001H 03ff eb 07 jmp L40 0401 c7 45 ec 00 00 00 00 L39 mov dword ptr -14H[ebp],00000000H 0408 8b 45 ec L40 mov eax,-14H[ebp] 040b 89 ec mov esp,ebp 040d 5d pop ebp 040e 5f pop edi 040f 5e pop esi 0410 59 pop ecx 0411 5b pop ebx 0412 c3 ret 0413 68 24 00 00 00 inputReady_ push 00000024H 0418 e8 00 00 00 00 call __CHK 041d 53 push ebx 041e 51 push ecx 041f 52 push edx 0420 56 push esi 0421 57 push edi 0422 55 push ebp 0423 89 e5 mov ebp,esp 0425 81 ec 08 00 00 00 sub esp,00000008H 042b a1 00 00 00 00 mov eax,_inputStatus 0430 e8 00 00 00 00 call inp_ 0435 83 e0 01 and eax,00000001H 0438 89 45 fc mov -4H[ebp],eax 043b 8b 45 fc mov eax,-4H[ebp] 043e 89 45 f8 mov -8H[ebp],eax 0441 8b 45 f8 mov eax,-8H[ebp] 0444 89 ec mov esp,ebp 0446 5d pop ebp 0447 5f pop edi 0448 5e pop esi 0449 5a pop edx 044a 59 pop ecx 044b 5b pop ebx 044c c3 ret 044d 68 20 00 00 00 altRecord_ push 00000020H 0452 e8 00 00 00 00 call __CHK 0457 53 push ebx 0458 51 push ecx 0459 52 push edx 045a 56 push esi 045b 57 push edi 045c 55 push ebp 045d 89 e5 mov ebp,esp 045f 81 ec 04 00 00 00 sub esp,00000004H 0465 e8 00 00 00 00 call inputReady_ 046a 89 45 fc mov -4H[ebp],eax 046d 8b 45 fc mov eax,-4H[ebp] 0470 89 ec mov esp,ebp 0472 5d pop ebp 0473 5f pop edi 0474 5e pop esi 0475 5a pop edx 0476 59 pop ecx 0477 5b pop ebx 0478 c3 ret No disassembly errors ------------------------------------------------------------ Segment: CONST DWORD USE32 00000056 bytes 0000 46 61 69 6c 20 69 6e 20 L41 - Fail in 0008 6f 75 74 70 75 74 4f 72 - outputOr 0010 46 61 69 6c 0a 00 - Fail.. 0016 46 61 69 6c 20 69 6e 20 L42 - Fail in 001e 69 6e 70 75 74 4f 72 46 - inputOrF 0026 61 69 6c 0a 00 - ail.. 002b 74 69 6d 65 6f 75 74 20 L43 - timeout 0033 69 6e 20 6f 75 74 52 65 - in outRe 003b 63 6f 72 64 0a 00 - cord.. 0041 74 69 6d 65 6f 75 74 20 L44 - timeout 0049 69 6e 20 69 6e 52 65 63 - in inRec 0051 6f 72 64 0a 00 - ord.. No disassembly errors ------------------------------------------------------------ Segment: _DATA DWORD USE32 00000004 bytes 0000 01 00 00 00 ___connected - .... No disassembly errors ------------------------------------------------------------ Segment: _BSS DWORD USE32 0000001c bytes No disassembly errors ------------------------------------------------------------