Function at 0x428030
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x65c
mov eax, dword [0x4e81bc]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x64c], 0
mov byte [ebp - 0x104], 0
push 0xff
push 0
lea eax, [ebp - 0x103]
push eax
call fcn.0049b140
add esp, 0xc
mov byte [ebp - 0x204], 0
push 0xff
push 0
lea ecx, [ebp - 0x203]
push ecx
call fcn.0049b140
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 0x630], edx
lea eax, [ebp - 0x104]
mov dword [ebp - 0x610], eax
mov ecx, dword [ebp - 0x610]
mov dword [ebp - 0x650], ecx
mov edx, dword [ebp - 0x630]
mov al, byte [edx]
mov byte [ebp - 0x605], al
mov ecx, dword [ebp - 0x610]
mov dl, byte [ebp - 0x605]
mov byte [ecx], dl
mov eax, dword [ebp - 0x630]
add eax, 1
mov dword [ebp - 0x630], eax
mov ecx, dword [ebp - 0x610]
add ecx, 1
mov dword [ebp - 0x610], ecx
cmp byte [ebp - 0x605], 0
jne 0x4280a9
lea edx, [ebp - 0x104]
add edx, 0xffffffff
mov dword [ebp - 0x614], edx
mov eax, dword [ebp - 0x614]
mov cl, byte [eax + 1]
mov byte [ebp - 0x609], cl
add dword [ebp - 0x614], 1
cmp byte [ebp - 0x609], 0
jne 0x4280fb
mov edi, dword [ebp - 0x614]
mov edx, dword [0x4cf2d8]
mov dword [edi], edx
mov eax, dword [0x4cf2dc]
mov dword [edi + 4], eax
mov ecx, dword [0x4cf2e0]
mov dword [edi + 8], ecx
mov dx, word [0x4cf2e4]
mov word [edi + 0xc], dx
lea eax, [ebp - 0x204]
add eax, 0xffffffff
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x618]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x60a], dl
add dword [ebp - 0x618], 1
cmp byte [ebp - 0x60a], 0
jne 0x428153
mov edi, dword [ebp - 0x618]
mov eax, dword [str.D:TECSUN]
mov dword [edi], eax
mov ecx, dword [0x4cf2ec]
mov dword [edi + 4], ecx
mov dx, word [0x4cf2f0]
mov word [edi + 8], dx
lea eax, [ebp - 0x204]
add eax, 0xffffffff
mov dword [ebp - 0x61c], eax
mov ecx, dword [ebp - 0x61c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x60b], dl
add dword [ebp - 0x61c], 1
cmp byte [ebp - 0x60b], 0
jne 0x4281a2
mov edi, dword [ebp - 0x61c]
mov eax, dword [str.TSDrvCfg.ini]
mov dword [edi], eax
mov ecx, dword [0x4cf2f8]
mov dword [edi + 4], ecx
mov edx, dword [0x4cf2fc]
mov dword [edi + 8], edx
mov ax, word [0x4cf300]
mov word [edi + 0xc], ax
lea ecx, [ebp - 0x104]
push ecx
push 0
push 0x4cf304
push 0x4cf30c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
jne 0x428418
lea edx, [ebp - 0x204]
push edx
push 0
push str.Flag
push 0x4cf318
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0
jne 0x4283b1
mov dword [0x4eef44], 1
mov byte [ebp - 0x604], 0
push 0x3ff
push 0
lea eax, [ebp - 0x603]
push eax
call fcn.0049b140
add esp, 0xc
push 0x100
push 0
lea ecx, [ebp - 0x104]
push ecx
call fcn.0049b140
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [ebp - 0x638], edx
lea eax, [ebp - 0x104]
mov dword [ebp - 0x620], eax
mov ecx, dword [ebp - 0x620]
mov dword [ebp - 0x654], ecx
mov edx, dword [ebp - 0x638]
mov al, byte [edx]
mov byte [ebp - 0x606], al
mov ecx, dword [ebp - 0x620]
mov dl, byte [ebp - 0x606]
mov byte [ecx], dl
mov eax, dword [ebp - 0x638]
add eax, 1
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x620]
add ecx, 1
mov dword [ebp - 0x620], ecx
cmp byte [ebp - 0x606], 0
jne 0x4282a0
lea edx, [ebp - 0x104]
add edx, 0xffffffff
mov dword [ebp - 0x624], edx
mov eax, dword [ebp - 0x624]
mov cl, byte [eax + 1]
mov byte [ebp - 0x60c], cl
add dword [ebp - 0x624], 1
cmp byte [ebp - 0x60c], 0
jne 0x4282f2
mov edi, dword [ebp - 0x624]
mov edx, dword [str.TSDrvCfg.dll]
mov dword [edi], edx
mov eax, dword [0x4cf320]
mov dword [edi + 4], eax
mov ecx, dword [0x4cf324]
mov dword [edi + 8], ecx
mov dx, word [0x4cf328]
mov word [edi + 0xc], dx
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x63c], eax
push str.iGetConfig
mov ecx, dword [ebp - 0x63c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x648], eax
cmp dword [ebp - 0x648], 0
jne 0x428376
xor eax, eax
jmp 0x42847f
lea edx, [ebp - 0x604]
push edx
call dword [ebp - 0x648]
mov dword [ebp - 0x64c], eax
lea eax, [ebp - 0x604]
push eax
call fcn.004285f0
add esp, 4
mov ecx, dword [ebp - 0x63c]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x63c], 0
jmp 0x428416
lea edx, [ebp - 0x204]
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x628], 0x4eee40
mov eax, dword [ebp - 0x628]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x640]
mov dl, byte [ecx]
mov byte [ebp - 0x607], dl
mov eax, dword [ebp - 0x628]
mov cl, byte [ebp - 0x607]
mov byte [eax], cl
mov edx, dword [ebp - 0x640]
add edx, 1
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x628]
add eax, 1
mov dword [ebp - 0x628], eax
cmp byte [ebp - 0x607], 0
jne 0x4283d3
jmp 0x42847d
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x644], ecx
mov dword [ebp - 0x62c], 0x4eee40
mov edx, dword [ebp - 0x62c]
mov dword [ebp - 0x65c], edx
mov eax, dword [ebp - 0x644]
mov cl, byte [eax]
mov byte [ebp - 0x608], cl
mov edx, dword [ebp - 0x62c]
mov al, byte [ebp - 0x608]
mov byte [edx], al
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x62c]
add edx, 1
mov dword [ebp - 0x62c], edx
cmp byte [ebp - 0x608], 0
jne 0x42843a
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00482147
mov esp, ebp
pop ebp
ret