Function at 0x1055a3c
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x920
mov eax, dword [0x1080bec]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push esi
push 0
push 0x1005c6c
push 0x1005b84
mov dword [ebp - 4], eax
mov dword [ebp - 0x920], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 2
jne 0x1056321
push esi
push 0x400
lea eax, [ebp - 0x904]
push eax
push 0x1002088
push 0x1005c60
push 0x1005c48
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x105631a
mov esi, dword [sym.imp.msvcrt.dll_wcstok]
mov ebx, 0x1005c40
lea eax, [ebp - 0x904]
push ebx
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x1055c3d
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
xor ecx, ecx
mov cx, word [edi + 0x8c]
and eax, 1
shl eax, 0xe
push ebx
push 0
and ecx, 0xffffa000
or eax, ecx
mov word [edi + 0x8c], ax
call esi
add esp, 0xc
jmp 0x1055c35
push eax
call fcn.0106bfa0
movzx eax, ax
mov dword [ebp - 0x918], eax
xor eax, eax
cmp word [0x1085d5c], ax
mov dword [ebp - 0x908], eax
mov dword [ebp - 0x910], eax
jbe 0x1055c2e
cmp dword [ebp - 0x908], 0
jne 0x1055c2e
mov eax, dword [ebp - 0x910]
mov eax, dword [eax*4 + 0x10837a0]
test byte [eax + 0x182], 1
je 0x1055c15
movzx ecx, word [eax + 0x140]
and dword [ebp - 0x90c], 0
test ecx, ecx
jle 0x1055c15
lea edx, [eax + 0x142]
mov dword [ebp - 0x914], edx
mov edx, dword [ebp - 0x914]
movzx edx, word [edx]
cmp edx, dword [ebp - 0x918]
je 0x1055b93
inc dword [ebp - 0x90c]
add dword [ebp - 0x914], 2
cmp dword [ebp - 0x90c], ecx
jl 0x1055b68
jmp 0x1055c15
xor ecx, ecx
mov cx, word [edi + 0x8c]
xor edx, edx
and ecx, 0x1fff
mov dword [ebp - 0x914], ecx
jle 0x1055bdb
mov ecx, dword [edi + 0x90]
jmp 0x1055bba
mov ecx, dword [ebp - 0x91c]
cmp dword [ecx], eax
je 0x1055bdb
add ecx, 4
mov dword [ebp - 0x91c], ecx
xor ecx, ecx
mov cx, word [edi + 0x8c]
inc edx
and ecx, 0x1fff
cmp edx, ecx
jl 0x1055bb4
mov ecx, dword [ebp - 0x914]
cmp edx, ecx
jl 0x1055c0b
mov edx, dword [edi + 0x90]
mov dword [edx + ecx*4], eax
xor eax, eax
mov ax, word [edi + 0x8c]
lea ecx, [eax + 1]
xor ecx, eax
and ecx, 0xffff1fff
xor ecx, eax
mov word [edi + 0x8c], cx
mov dword [ebp - 0x908], 1
movzx eax, word [0x1085d5c]
inc dword [ebp - 0x910]
cmp dword [ebp - 0x910], eax
jl 0x1055b1f
push ebx
push 0
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1055af5
push dword [ebp - 0x920]
lea eax, [ebp - 0x904]
push 0x400
push eax
push 0x1002088
push 0x1005c30
push 0x1005c48
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x1056313
lea eax, [ebp - 0x904]
push ebx
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x1055df7
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
xor ecx, ecx
mov cx, word [edi + 0x8c]
shl eax, 0xf
push ebx
push 0
and ecx, 0xffff7fff
or ecx, eax
mov word [edi + 0x8c], cx
call esi
add esp, 0xc
jmp 0x1055def
push eax
call fcn.0106bfa0
movzx eax, ax
mov dword [ebp - 0x918], eax
xor eax, eax
cmp word [0x1085d5c], ax
mov dword [ebp - 0x908], eax
mov dword [ebp - 0x910], eax
jbe 0x1055de8
cmp dword [ebp - 0x908], 0
jne 0x1055de8
mov eax, dword [ebp - 0x910]
mov eax, dword [eax*4 + 0x10837a0]
test byte [eax + 0x182], 1
jne 0x1055dcf
movzx ecx, word [eax + 0x140]
and dword [ebp - 0x90c], 0
test ecx, ecx
jle 0x1055dcf
lea edx, [eax + 0x142]
mov dword [ebp - 0x914], edx
mov edx, dword [ebp - 0x914]
movzx edx, word [edx]
cmp edx, dword [ebp - 0x918]
je 0x1055d4d
inc dword [ebp - 0x90c]
add dword [ebp - 0x914], 2
cmp dword [ebp - 0x90c], ecx
jl 0x1055d22
jmp 0x1055dcf
xor ecx, ecx
mov cx, word [edi + 0x8c]
xor edx, edx
and ecx, 0x1fff
mov dword [ebp - 0x914], ecx
jle 0x1055d95
mov ecx, dword [edi + 0x90]
jmp 0x1055d74
mov ecx, dword [ebp - 0x91c]
cmp dword [ecx], eax
je 0x1055d95
add ecx, 4
mov dword [ebp - 0x91c], ecx
xor ecx, ecx
mov cx, word [edi + 0x8c]
inc edx
and ecx, 0x1fff
cmp edx, ecx
jl 0x1055d6e
mov ecx, dword [ebp - 0x914]
cmp edx, ecx
jl 0x1055dc5
mov edx, dword [edi + 0x90]
mov dword [edx + ecx*4], eax
xor eax, eax
mov ax, word [edi + 0x8c]
lea ecx, [eax + 1]
xor ecx, eax
and ecx, 0xffff1fff
xor ecx, eax
mov word [edi + 0x8c], cx
mov dword [ebp - 0x908], 1
movzx eax, word [0x1085d5c]
inc dword [ebp - 0x910]
cmp dword [ebp - 0x910], eax
jl 0x1055cd9
push ebx
push 0
call esi
pop ecx
pop ecx
test eax, eax
jne 0x1055caf
push dword [ebp - 0x920]
push 0
push 0x1005c20
push 0x1005c0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
mov dword [ebp - 0x914], eax
je 0x105618f
lea ecx, [edi + 4]
push 3
mov dword [ebp - 0x918], ecx
xor eax, eax
pop ecx
cmp dword [ebp - 0x914], ecx
mov word [edi + 2], ax
jl 0x1055e3d
mov dword [ebp - 0x914], ecx
cmp dword [ebp - 0x914], eax
jle 0x105618f
mov ecx, dword [ebp - 0x918]
add ecx, 0x17
mov dword [ebp - 0x910], ecx
inc eax
push eax
push 0x1005bf4
mov dword [ebp - 0x91c], eax
lea eax, [ebp - 0x84]
push 0x1005be8
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push dword [ebp - 0x920]
lea eax, [ebp - 0x904]
push 0x400
push eax
push 0x1002088
lea eax, [ebp - 0x84]
push eax
push 0x1005c0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x105617d
lea eax, [ebp - 0x904]
push ebx
push eax
call esi
test eax, eax
pop ecx
pop ecx
je 0x105617d
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
mov ecx, dword [ebp - 0x918]
mov dl, byte [ecx]
xor dl, al
and dl, 1
xor byte [ecx], dl
push ebx
push 0
call esi
add esp, 0xc
test eax, eax
je 0x105617d
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
mov ecx, dword [ebp - 0x918]
shl al, 1
xor al, byte [ecx]
push ebx
and al, 6
xor byte [ecx], al
push 0
call esi
add esp, 0xc
test eax, eax
je 0x105617d
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
mov dword [esp], 0x1005be0
push 0
mov dword [ebp - 0x90c], eax
call esi
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x908], eax
je 0x105617d
cmp word [eax], 0x20
jne 0x1055f3f
add dword [ebp - 0x908], 2
cmp word [ebp - 0x90c], 0
jne 0x1055f73
push 3
push 0x142d
call fcn.0106bcca
push eax
push dword [ebp - 0x908]
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x1055f73
mov dword [ebp - 0x90c], 6
movzx ecx, word [ebp - 0x90c]
mov eax, dword [ebp - 0x910]
push ecx
push dword [ebp - 0x908]
add eax, 0xffffffea
push eax
call fcn.0106c175
push dword [ebp - 0x908]
call dword [sym.imp.msvcrt.dll_wcslen]
mov ecx, dword [ebp - 0x908]
lea eax, [ecx + eax*2 + 2]
push ebx
push eax
call esi
add esp, 0xc
test eax, eax
je 0x105617d
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
mov dword [esp], 0x1005be0
push 0
mov dword [ebp - 0x90c], eax
call esi
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x908], eax
je 0x105617d
cmp word [eax], 0x20
jne 0x1055fea
add dword [ebp - 0x908], 2
cmp word [ebp - 0x90c], 0
jne 0x1056047
push 0x142e
call fcn.0106bcca
push eax
push dword [ebp - 0x908]
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x105601d
mov dword [ebp - 0x90c], 7
jmp 0x1056047
push 3
push 0x142f
call fcn.0106bcca
push eax
push dword [ebp - 0x908]
call dword [sym.imp.msvcrt.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x1056047
mov dword [ebp - 0x90c], 6
movzx eax, word [ebp - 0x90c]
push eax
push dword [ebp - 0x908]
push dword [ebp - 0x910]
call fcn.0106c175
mov eax, dword [ebp - 0x910]
add eax, 0xffffffea
mov eax, dword [eax]
cmp eax, 6
je 0x10560d4
cmp eax, 7
je 0x10560d4
mov eax, dword [ebp - 0x910]
add eax, 0xffffffea
push eax
push dword [0x1085d50]
call sub.NMAPI.dll_GetAddressInfo
test eax, eax
jne 0x10560d4
push 0x1005bd4
push eax
call esi
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x908], eax
je 0x10560d4
push 0x1002860
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x10560d4
mov eax, dword [ebp - 0x910]
push 0x1002860
push dword [ebp - 0x908]
add eax, 0xffffffea
push eax
push dword [0x1085d50]
call fcn.0104e0ac
mov eax, dword [ebp - 0x910]
mov eax, dword [eax]
cmp eax, 6
je 0x105613d
cmp eax, 7
je 0x105613d
push dword [ebp - 0x910]
push dword [0x1085d50]
call sub.NMAPI.dll_GetAddressInfo
test eax, eax
jne 0x105613d
push 0x1005bd4
push eax
call esi
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x908], eax
je 0x105613d
push 0x1002860
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
je 0x105613d
push 0x1002860
push dword [ebp - 0x908]
push dword [ebp - 0x910]
push dword [0x1085d50]
call fcn.0104e0ac
mov eax, dword [ebp - 0x910]
add eax, 0xffffffea
push eax
push dword [0x1085d54]
call sub.NMAPI.dll_GetAddressInfo
test eax, eax
jne 0x105616b
push dword [ebp - 0x910]
push dword [0x1085d54]
call sub.NMAPI.dll_GetAddressInfo
test eax, eax
je 0x105617d
inc word [edi + 2]
add dword [ebp - 0x918], 0x2d
add dword [ebp - 0x910], 0x2d
mov eax, dword [ebp - 0x91c]
cmp eax, dword [ebp - 0x914]
jl 0x1055e58
xor eax, eax
lea ecx, [edi + 0x98]
mov dword [edi + 0x94], eax
mov dword [ebp - 0x918], ecx
mov ecx, dword [ebp - 0x918]
and dword [ecx], 0
add ecx, 4
inc eax
push eax
push 0x1005bc4
mov dword [ebp - 0x91c], eax
lea eax, [ebp - 0x104]
push 0x1005be8
push eax
mov dword [ebp - 0x90c], ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
xor eax, eax
inc eax
push eax
push 0x1005bb4
mov dword [ebp - 0x914], eax
lea eax, [ebp - 0x84]
push 0x1005be8
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push dword [ebp - 0x920]
lea eax, [ebp - 0x904]
push 0x400
push eax
push 0x1002088
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x10562e7
lea eax, [ebp - 0x904]
push ebx
push eax
call esi
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x908], eax
je 0x10562d8
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
mov ecx, dword [ebp - 0x90c]
push dword [ebp - 0x908]
and eax, 1
mov dword [ecx], eax
call dword [sym.imp.msvcrt.dll__wtoi]
test al, 2
pop ecx
pop ecx
je 0x1056276
mov eax, dword [ebp - 0x90c]
mov byte [eax + 4], 1
push ebx
push 0
call esi
test eax, eax
pop ecx
pop ecx
je 0x10562d8
push eax
call fcn.0106bfa0
mov ecx, dword [ebp - 0x90c]
push ebx
push 0
mov word [ecx + 7], ax
call esi
test eax, eax
pop ecx
pop ecx
je 0x10562d8
push eax
call fcn.0106bfa0
mov ecx, dword [ebp - 0x90c]
push ebx
push 0
mov word [ecx + 9], ax
call esi
test eax, eax
pop ecx
pop ecx
je 0x10562d8
push 0x10
push eax
mov eax, dword [ebp - 0x90c]
add eax, 0xb
push eax
call fcn.0106bffe
mov eax, dword [ebp - 0x918]
add dword [ebp - 0x90c], 0x1b
inc dword [eax]
mov eax, dword [ebp - 0x914]
cmp eax, 4
jl 0x10561d9
mov eax, dword [ebp - 0x918]
cmp dword [eax], 0
je 0x10562ff
add dword [ebp - 0x918], 0x70
inc dword [edi + 0x94]
mov eax, dword [ebp - 0x91c]
cmp eax, 4
jl 0x10561a3
xor eax, eax
inc eax
jmp 0x105633a
push 0x142c
jmp 0x1056326
push 0x142b
jmp 0x1056326
push 0x1430
call fcn.0106bcca
push eax
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.0106bdb1
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 8