Function at 0x4034b0
Capabilities:
Check for time delay via gettickcount
Read file on windows

Disassembly:
sub esp, 0x3c
mov edx, dword [0x432614]
push ebx
push ebp
mov dword [esp + 0xc], ecx
push esi
lea eax, [esp + 0x28]
push edi
lea ecx, [esp + 0x20]
push eax
push ecx
push edx
xor ebp, ebp
mov edi, 1
call dword [sym.imp.KERNEL32.dll_ClearCommError]
mov ecx, dword [0x432614]
xor eax, eax
mov dword [esp + 0x38], eax
push edi
mov dword [esp + 0x40], eax
push ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_SetCommMask]
mov eax, 0x14
lea edx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov eax, 0xa
push edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, dword [0x432614]
mov dword [esp + 0x44], 0x64
push eax
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
mov ecx, dword [0x432614]
push 6
push ecx
call dword [sym.imp.KERNEL32.dll_EscapeCommFunction]
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
push ebp
push str.CMLDDSJ
push str.test
mov ecx, eax
call sub.MFC42.DLL_CWinApp::GetProfileIntA
mov esi, dword [sym.imp.MSVCRT.dll_atoi]
test eax, eax
je 0x40359f
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
push str.3000
push str.MLDDSJ
lea edx, [esp + 0x20]
push str.test
push edx
mov ecx, eax
call sub.MFC42.DLL_CWinApp::GetProfileStringA
mov eax, dword [esp + 0x18]
push eax
call esi
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], eax
call fcn.00424c5a
jmp 0x4035a7
mov dword [esp + 0x24], 0xbb8
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
push 0
push str.CZJYS
push str.test
mov ecx, eax
call sub.MFC42.DLL_CWinApp::GetProfileIntA
test eax, eax
je 0x403602
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
push 0x432170
push str.ZJYS
lea ecx, [esp + 0x30]
push str.test
push ecx
mov ecx, eax
call sub.MFC42.DLL_CWinApp::GetProfileStringA
mov edx, dword [esp + 0x28]
push edx
call esi
add esp, 4
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], eax
call fcn.00424c5a
jmp 0x40360a
mov dword [esp + 0x18], 0xf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov bl, 0x68
mov edx, dword [0x432614]
lea eax, [esp + 0x1c]
push 0
push eax
lea ecx, [esp + 0x1a]
push 1
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp byte [esp + 0x12], bl
jne 0x403640
xor edi, edi
mov byte [esi], bl
inc ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
sub eax, edx
cmp eax, ecx
ja 0x40365a
test edi, edi
jne 0x40361a
jmp 0x403662
test edi, edi
jne 0x4037d9
mov ebx, 1
mov edx, dword [0x432614]
lea eax, [esp + 0x1c]
push 0
push eax
lea ecx, [esp + 0x1a]
push 1
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x40369f
mov edx, dword [0x432614]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x20]
push eax
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ClearCommError]
jmp 0x4036b5
mov ecx, dword [esp + 0x18]
mov al, byte [esp + 0x12]
push ecx
mov ecx, dword [esp + 0x18]
mov byte [ebx + esi], al
inc ebp
call fcn.00402950
inc ebx
cmp ebx, 0xa
jl 0x403667
xor ebx, ebx
mov bl, byte [esi + 9]
add ebx, 0xc
cmp ebx, 0xa
jl 0x403722
mov edi, 0xa
jle 0x403722
mov ecx, dword [0x432614]
lea edx, [esp + 0x1c]
push 0
push edx
lea eax, [esp + 0x1a]
push 1
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x403707
mov ecx, dword [0x432614]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x20]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ClearCommError]
jmp 0x40371d
mov eax, dword [esp + 0x18]
mov dl, byte [esp + 0x12]
mov ecx, dword [esp + 0x14]
push eax
mov byte [edi + esi], dl
inc ebp
call fcn.00402950
inc edi
cmp edi, ebx
jl 0x4036cf
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x50], eax
mov al, byte [esi + ebp]
cmp al, 0x16
je 0x4037c8
mov edi, ebp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [esp + 0x1c]
push 0
mov ebx, eax
mov eax, dword [0x432614]
push ecx
lea edx, [esp + 0x1a]
push 1
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x403777
mov eax, dword [0x432614]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x20]
push ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ClearCommError]
jmp 0x40378d
mov cl, byte [esp + 0x12]
mov edx, dword [esp + 0x18]
mov byte [edi + esi], cl
mov ecx, dword [esp + 0x14]
push edx
inc ebp
call fcn.00402950
mov al, byte [edi + esi]
cmp al, 0x16
jne 0x40379f
cmp byte [edi + esi - 2], 0x18
je 0x4037c8
cmp al, al
je 0x4037c8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
cmp eax, 0x1f4
ja 0x4037c8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
sub eax, edx
cmp eax, ecx
ja 0x4037c8
inc edi
jmp 0x403739
mov ecx, dword [esp + 0x14]
push 1
push ebp
push esi
push 1
call fcn.004029f0
jmp 0x4037f3
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x432160
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [esp + 0x18]
call fcn.00402980
mov eax, dword [0x432614]
push 5
push eax
call dword [sym.imp.KERNEL32.dll_EscapeCommFunction]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 4