Function at 0x425a80
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cae6c
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x5053c0]
xor eax, ebp
mov dword [ebp - 0x64], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x164], ecx
mov ecx, dword [ebp - 0x164]
call fcn.00441c7a
push 0
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call fcn.00454763
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x425b84
call fcn.00442305
push eax
lea ecx, [ebp - 0x60]
call fcn.00402920
mov dword [ebp - 4], 0
push 0x65
call fcn.0044d586
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
jne 0x425b0e
jmp 0x425b1f
push 0x65
mov edx, dword [ebp - 0x118]
push edx
lea ecx, [ebp - 0x60]
call fcn.00402720
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x11c], ecx
xor edx, edx
cmp dword [ebp - 0x11c], 0
sete dl
movzx eax, dl
test eax, eax
jne 0x425b75
push 0
push 0
push 0x800
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.USER32.dll_AppendMenuA]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x120]
push ecx
push 0x10
push 0
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_AppendMenuA]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.00402970
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0xc8]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x128]
push eax
push 1
push 0x80
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0xc8]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
push edx
push 0
push 0x80
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 0x164], 0
jne 0x425bf9
mov dword [ebp - 0x168], 0
jmp 0x425c08
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x168], eax
push str.PCLoader_2.0.6_1578__2014111801
mov ecx, dword [ebp - 0x168]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
call fcn.00442305
push eax
lea ecx, [ebp - 0x5c]
call fcn.00402920
mov dword [ebp - 4], 1
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x48], 0
jmp 0x425c59
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 5
jge 0x425cdb
mov eax, dword [ebp - 0x48]
add eax, 0x67
push eax
lea ecx, [ebp - 0xe8]
push ecx
call fcn.0040b4c0
add esp, 8
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x130], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x130]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040a9a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe8]
call fcn.00402970
push 0
lea ecx, [ebp - 0x5c]
call fcn.0040a8d0
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x48]
push edx
push 0x1307
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x94]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x425c50
mov dword [0x56cbcc], 0
push 0x14f8
call fcn.004411e1
add esp, 4
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 3
cmp dword [ebp - 0xf0], 0
je 0x425d1a
push 0
mov ecx, dword [ebp - 0xf0]
call fcn.0040fad0
mov dword [ebp - 0x170], eax
jmp 0x425d24
mov dword [ebp - 0x170], 0
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0xec], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xec]
mov dword [eax + 0x168], ecx
mov edx, dword [ebp - 0x164]
push edx
push 0x86
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x168]
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x168]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x134]
call eax
push 0x9c2b0
call fcn.004411e1
add esp, 4
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0xf8], 0
je 0x425dab
push 0
mov ecx, dword [ebp - 0xf8]
call fcn.004214d0
mov dword [ebp - 0x174], eax
jmp 0x425db5
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0xf4], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0xf4]
mov dword [edx + 0x16c], eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0x8a
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x16c]
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx + 0x16c]
mov edx, dword [eax]
mov eax, dword [edx + 0x134]
call eax
push 0x9c5dc
call fcn.004411e1
add esp, 4
mov dword [ebp - 0x100], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x100], 0
je 0x425e3a
push 0
mov ecx, dword [ebp - 0x100]
call fcn.00428be0
mov dword [ebp - 0x178], eax
jmp 0x425e44
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x178]
mov dword [ebp - 0xfc], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0xfc]
mov dword [edx + 0x170], eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0x88
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x170]
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx + 0x170]
mov edx, dword [eax]
mov eax, dword [edx + 0x134]
call eax
push 0x314
call fcn.004411e1
add esp, 4
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 6
cmp dword [ebp - 0x108], 0
je 0x425ec9
push 0
mov ecx, dword [ebp - 0x108]
call fcn.004278e0
mov dword [ebp - 0x17c], eax
jmp 0x425ed3
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x104], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x104]
mov dword [edx + 0x174], eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0x83
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x174]
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx + 0x174]
mov edx, dword [eax]
mov eax, dword [edx + 0x134]
call eax
push 0x174
call fcn.004411e1
add esp, 4
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x110], 0
je 0x425f58
push 0
mov ecx, dword [ebp - 0x110]
call fcn.004251c0
mov dword [ebp - 0x180], eax
jmp 0x425f62
mov dword [ebp - 0x180], 0
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x10c], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x10c]
mov dword [edx + 0x178], eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0x8c
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x178]
mov ecx, dword [ebp - 0x164]
mov ecx, dword [ecx + 0x178]
mov edx, dword [eax]
mov eax, dword [edx + 0x134]
call eax
mov dword [ebp - 0x14], 0x73
mov dword [ebp - 0x10], 0x74
push 0xe801
push 0x50008200
mov ecx, dword [ebp - 0x164]
push ecx
mov ecx, dword [ebp - 0x164]
add ecx, 0xcc
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0xcc]
mov edx, dword [eax + 0x168]
call edx
push 0
push 0x1c
push 0x408
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0xec]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
push 2
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x164]
add ecx, 0xcc
call fcn.0044e2b7
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x40]
sub eax, 0x55
push eax
push 0
push 0x73
push 0
mov ecx, dword [ebp - 0x164]
add ecx, 0xcc
call fcn.0044e1ab
push 0
push 0x8000000
push 0x74
push 1
mov ecx, dword [ebp - 0x164]
add ecx, 0xcc
call fcn.0044e1ab
push 1
push 0
push 0
push 0
push 0x74
push 0xe8ff
push 0xe800
mov ecx, dword [ebp - 0x164]
call fcn.004464cc
push 0
push 0x3e8
push 0x64
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0xec]
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov dword [ebp - 0x4c], ecx
push 1
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
sub eax, 3
push eax
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
add edx, 3
push edx
mov ecx, dword [ebp - 0x164]
add ecx, 0x74
call fcn.0044a22b
lea eax, [ebp - 0x58]
push eax
push 0
push 0x1328
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 0x94]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x48], 0
jmp 0x42613c
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 5
jge 0x42617d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + ecx*4 + 0x168]
mov dword [ebp - 0x144], eax
push 1
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x50]
sub edx, dword [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 0x144]
call fcn.0044a22b
jmp 0x426133
movzx edx, byte [0x54b448]
cmp edx, 5
jl 0x426190
mov byte [0x54b448], 0
movzx eax, byte [0x54b448]
mov dword [ebp - 0x148], eax
push 0
mov ecx, dword [ebp - 0x148]
push ecx
push 0x130c
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x94]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 5
movzx ecx, byte [0x54b448]
mov edx, dword [ebp - 0x164]
mov ecx, dword [edx + ecx*4 + 0x168]
call fcn.0044a269
mov eax, dword [ebp - 0x164]
add eax, 0x74
mov dword [ebp - 0x14c], eax
jne 0x4261f6
mov dword [ebp - 0x184], 0
jmp 0x426205
mov ecx, dword [ebp - 0x14c]
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x184], edx
push 0x203
push 0
push 0
push 0
push 0
push 1
mov eax, dword [ebp - 0x184]
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp dword [0x5074f0], 0
je 0x426375
mov ecx, dword [0x5074f8]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x150]
push edx
movzx eax, byte [0x56cbc0]
push eax
push 0x4d9aa4
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x56cbc0], al
mov ecx, dword [0x5074f8]
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x154]
push edx
movzx eax, byte [0x56cbc1]
push eax
push str.Baudrate
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x56cbc1], al
movzx ecx, byte [0x56cbc1]
mov edx, dword [ecx*4 + 0x5035d8]
push edx
movzx eax, byte [0x56cbc0]
shl eax, 4
add eax, str..COM1
push eax
push str.serial_port_settings:_port___s__baudrate___d_n
lea ecx, [ebp - 0xe4]
push ecx
call fcn.004803da
add esp, 0x10
push 0
lea edx, [ebp - 0xe4]
push edx
call fcn.004256d0
add esp, 8
push 0x200
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x164]
call fcn.0044a590
push 0
push 0
push 0x407
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [0x5074f0], 1
jne 0x42633e
mov edx, dword [ebp - 0x164]
mov eax, dword [edx + 0x168]
mov dword [ebp - 0x158], eax
push 0
push 0x40e
push 0x111
mov ecx, dword [ebp - 0x158]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x426375
cmp dword [0x5074f0], 2
jne 0x426375
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax + 0x170]
mov dword [ebp - 0x15c], ecx
push 0
push 0x40e
push 0x111
mov edx, dword [ebp - 0x15c]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x114], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
call fcn.00402970
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x64]
xor ecx, ebp
call fcn.00480296
mov esp, ebp
pop ebp
ret