Function at 0x1005590
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x424
and dword [esp + 0x10], 0
and byte [esp + 0x14], 0
and byte [esp + 0x21c], 0
push ebx
push ebp
push esi
push edi
mov ebx, 0x1012434
push ebx
call fcn.010028be
test eax, eax
jne 0x10055c5
mov esi, 0x45f
jmp 0x1005e55
mov esi, 0x10143c0
push esi
mov edi, 0x208
push edi
lea eax, [esp + 0x2c]
push eax
push 0x1001443
push 0x1001984
push 0x10018ac
call fcn.010035e3
test eax, eax
jl 0x1005e69
push 0x100198c
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1005610
mov esi, 0x475
jmp 0x1005e55
push ebx
call fcn.01003a09
test eax, eax
je 0x1005e69
cmp byte [0x1014400], 0
mov ebx, 0x1014400
je 0x1005659
cmp byte [0x10143c0], 0
je 0x1005659
push ebx
call fcn.01003a09
test eax, eax
je 0x1005e69
push ebx
push 0x50
push 0x10137e0
mov eax, 0x1001464
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0
push 0x1001974
mov ebp, 0x1001454
push ebp
call fcn.01002ab7
test eax, eax
je 0x100567c
mov dword [0x1013e44], 0x865
jmp 0x10056d0
push esi
push edi
lea eax, [esp + 0x2c]
push eax
mov ebx, 0x1001968
push ebx
push 0x100194c
push ebp
call fcn.010035e3
push ebx
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x10056b0
mov dword [0x1013e44], 0x864
jmp 0x10056d0
push 0x1001974
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
neg eax
sbb eax, eax
neg eax
add eax, 0x865
mov dword [0x1013e44], eax
push esi
push 0
push 0x1001930
push ebp
call fcn.01002ab7
and dword [0x1013e4c], 0
mov dword [0x1013e48], eax
mov ebx, 0x1011284
push esi
push 0
push dword [ebx - 4]
push ebp
call fcn.01002ab7
test eax, eax
je 0x1005707
mov eax, dword [ebx]
or dword [0x1013e4c], eax
add ebx, 8
cmp ebx, 0x10112cc
jl 0x10056ef
push esi
push edi
lea eax, [esp + 0x2c]
push eax
push 0x1001443
push 0x10019f8
push ebp
call fcn.010035e3
movsx eax, byte [esp + 0x24]
push eax
call fcn.0100b92b
cmp eax, 0x42
pop ecx
je 0x1005748
cmp eax, 0x50
jne 0x100574f
or dword [0x1013e4c], 0x40
jmp 0x100574f
or byte [0x1013e4c], 0x80
test byte [0x1013e4c], 0xc0
je 0x10057ac
lea eax, [esp + 0x24]
push 0x22
push eax
call fcn.0100b5d0
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x1005e50
inc ebx
push 0x22
push ebx
call fcn.0100b5d0
test eax, eax
pop ecx
pop ecx
je 0x1005e50
and byte [eax], 0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov dword [0x1013e34], eax
je 0x1005c9b
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
push 0
push 0x1001920
push ebp
call fcn.01002ab7
test eax, eax
je 0x10057c5
or byte [0x1013e4e], 1
push esi
mov ebx, 0x104
push ebx
push 0x1012fd0
push 0x1001443
push 0x10018e0
push ebp
call fcn.010035e3
push esi
push ebx
push 0x1013920
push 0x10019dc
push 0x10018cc
push ebp
call fcn.010035e3
push esi
push edi
lea eax, [esp + 0x2c]
push eax
push 0x10012cc
push 0x100190c
push ebp
call fcn.010035e3
push dword [0x10112d8]
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
jne 0x1005833
or byte [0x1013e4e], 2
jmp 0x1005865
push dword [0x10112dc]
lea eax, [esp + 0x28]
push eax
call ebx
test eax, eax
jne 0x100584d
or byte [0x1013e4e], 4
jmp 0x1005865
push dword [0x10112e0]
lea eax, [esp + 0x28]
push eax
call ebx
test eax, eax
jne 0x1005865
or byte [0x1013e4e], 8
push esi
push edi
lea eax, [esp + 0x2c]
push eax
push 0x1001443
push 0x10019cc
push ebp
call fcn.010035e3
cmp byte [esp + 0x24], 0
jne 0x10058aa
push esi
mov ebx, 0x3e7
push ebx
push 0x10019c4
push ebp
call fcn.01002ab7
cmp eax, ebx
mov dword [0x1013e3c], eax
je 0x10058fc
mov dword [0x1013e38], 0x10017c0
jmp 0x1005910
push 0x10019c0
lea eax, [esp + 0x28]
push eax
call ebx
test eax, eax
jne 0x10058c6
mov dword [0x1013e38], 0x10019c0
jmp 0x1005906
push 0x10017c0
lea eax, [esp + 0x28]
push eax
call ebx
test eax, eax
jne 0x10058e2
mov dword [0x1013e38], 0x10017c0
jmp 0x1005906
push 0x10019b8
lea eax, [esp + 0x28]
push eax
call ebx
test eax, eax
mov dword [0x1013e38], 0x10019b8
je 0x1005906
mov dword [0x1013e38], 0x10019b0
mov dword [0x1013e3c], 7
and dword [0x1013e54], 0
push esi
push edi
lea eax, [esp + 0x2c]
push eax
push 0x1001904
push 0x10018f0
push ebp
call fcn.010035e3
cmp byte [esp + 0x24], 0
je 0x1005988
lea edi, [esp + 0x24]
movsx eax, byte [edi]
push eax
call fcn.0100b92b
inc edi
cmp eax, 0x41
pop ecx
je 0x100597c
cmp eax, 0x49
je 0x100596a
cmp eax, 0x4e
je 0x1005961
cmp eax, 0x53
jne 0x1005983
or dword [0x1013e54], 4
jmp 0x1005983
and dword [0x1013e54], 0xfffffffe
jmp 0x1005983
mov eax, dword [0x1013e54]
and eax, 0xfffffffd
or eax, 1
mov dword [0x1013e54], eax
jmp 0x1005983
or dword [0x1013e54], 3
cmp byte [edi], 0
jne 0x1005939
push esi
push 0
push 0x1001998
push ebp
call fcn.01002ab7
mov dword [0x1013e5c], eax
mov ebx, 0x1011190
push dword [ebx + 4]
push dword [ebx]
push dword [ebx - 4]
push dword [ebx - 8]
push dword [ebx - 0xc]
push dword [ebx - 0x10]
call fcn.010035e3
test eax, eax
jl 0x1005e69
mov eax, dword [ebx + 8]
test eax, eax
je 0x10059d1
mov ecx, dword [ebx - 4]
xor edx, edx
cmp byte [ecx], dl
setne dl
mov dword [eax], edx
add ebx, 0x1c
cmp ebx, 0x101128c
jl 0x10059a0
cmp dword [0x1013e44], 0x866
jne 0x1005a06
push 0x1012ecc
push 0x10128bc
push dword [esp + 0x440]
call fcn.01009f62
test eax, eax
je 0x1005e69
push esi
push 0x50
mov ebx, 0x1013880
push ebx
push 0x1001443
push 0x10014a8
push ebp
call fcn.010035e3
test eax, eax
jg 0x1005a2d
mov esi, 0x476
jmp 0x1005e55
push 0x1014400
call fcn.01002a79
push 0x1012434
mov edi, eax
call fcn.01002a79
cmp eax, edi
jbe 0x1005a4e
push 0x1012434
jmp 0x1005a53
push 0x1014400
call fcn.01002a79
mov edi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
push 0x40
mov dword [esp + 0x20], eax
call edi
push dword [esp + 0x18]
mov dword [esp + 0x14], eax
push 0x40
call edi
cmp dword [esp + 0x10], 0
mov edi, eax
je 0x1005c9b
test edi, edi
je 0x1005c9b
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
push ebx
shr eax, 1
push eax
push edi
push 0x1001443
push 0
push ebx
mov dword [esp + 0x2c], edi
call fcn.010035e3
jmp 0x1005b66
push edi
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push ebx
push 0x104
lea edi, [edi + eax + 1]
lea eax, [esp + 0x234]
push eax
push 0x1001443
lea eax, [esp + 0x34]
push eax
push ebx
call fcn.010035e3
push 1
push dword [esp + 0x1c]
lea eax, [esp + 0x2c]
push dword [esp + 0x18]
push eax
call fcn.010050f2
test eax, eax
je 0x1005ca5
jl 0x1005cc1
push 0x1001443
lea eax, [esp + 0x230]
push eax
call fcn.0100f496
mov eax, dword [esp + 0x10]
jmp 0x1005b59
push 0x208
push dword [esp + 0x14]
lea eax, [esp + 0x2c]
push eax
call fcn.010034c8
lea eax, [esp + 0x22c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.01002f36
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0x10]
lea eax, [ecx + eax + 1]
mov dword [esp + 0x10], eax
cmp byte [eax], 0
jne 0x1005b1e
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp byte [edi], 0
jne 0x1005aaf
push dword [esp + 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
call edi
push dword [esp + 0x14]
call edi
cmp dword [0x1013e60], 0
je 0x1005dc4
push esi
push 0x208
lea eax, [esp + 0x2c]
push eax
push 0x1001443
push 0x10014c8
push ebp
call fcn.010035e3
test eax, eax
jl 0x1005e69
push 0
lea eax, [esp + 0x230]
push eax
mov eax, dword [0x1013e60]
add eax, 4
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0100373d
test eax, eax
je 0x1005e69
mov eax, dword [0x1013e60]
add eax, 0x38
push eax
lea eax, [esp + 0x230]
push eax
call fcn.01002e0f
push esi
push 0x208
lea eax, [esp + 0x2c]
push eax
push 0x1001443
push 0x10014b4
push ebp
call fcn.010035e3
test eax, eax
jl 0x1005e69
push 0
lea eax, [esp + 0x230]
push eax
mov eax, dword [0x1013e60]
add eax, 0x40
push eax
lea eax, [esp + 0x30]
push eax
call fcn.0100373d
test eax, eax
je 0x1005e69
mov eax, dword [0x1013e60]
add eax, 0x74
push eax
lea eax, [esp + 0x230]
push eax
call fcn.01002e0f
push esi
push 0x208
lea eax, [esp + 0x2c]
push eax
push 0x1001443
push 0x10014d8
push ebp
call fcn.010035e3
test eax, eax
jl 0x1005e69
cmp byte [esp + 0x24], 0
mov ecx, dword [0x1013e60]
je 0x1005daf
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x1005daf
imul eax, eax, 0x3c
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
jne 0x1005cc8
mov esi, 0x44c
jmp 0x1005e55
mov esi, 0x47d
push dword [esp + 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
call edi
push dword [esp + 0x14]
call edi
jmp 0x1005e55
mov esi, 0x47c
jmp 0x1005caa
cmp byte [esp + 0x24], 0x40
jne 0x1005d6b
push esi
push 0x104
lea eax, [esp + 0x234]
push eax
push 0x1001443
xor edi, edi
push edi
lea eax, [esp + 0x39]
push eax
mov dword [esp + 0x2c], ebx
call fcn.010035e3
cmp byte [esp + 0x22c], 0
je 0x1005d7a
lea ebp, [esp + 0x22c]
push esi
push 0x104
lea eax, [esp + 0x338]
push eax
push 0x1001443
push ebp
lea eax, [esp + 0x39]
push eax
call fcn.010035e3
push dword [esp + 0x14]
lea eax, [esp + 0x334]
push eax
call fcn.01003add
test eax, eax
je 0x1005d5a
add dword [esp + 0x14], 0x3c
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [edi + eax + 1]
lea ebp, [esp + edi + 0x22c]
cmp byte [ebp], 0
jne 0x1005d08
jmp 0x1005d7a
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, 0x481
jmp 0x1005e55
push ebx
lea eax, [esp + 0x28]
push eax
call fcn.01003add
test eax, eax
je 0x1005d5a
mov eax, dword [0x1013e60]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x80]
imul ecx, ecx, 0x3c
lea edi, [edx + eax + 0x84]
mov eax, ecx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [0x1013e60]
mov eax, dword [ecx + 0x7c]
mov edx, dword [ecx + 0x80]
imul eax, eax, 0x3c
lea eax, [eax + edx + 0x88]
mov dword [ecx], eax
push 0
push 0x10128bc
push 0
call fcn.01004d74
push 0x10133d8
mov esi, 0x10136dc
push esi
call fcn.01009d61
push 0x10131d8
mov edi, 0x10134dc
push edi
call fcn.01009d61
push 0x1013a24
mov ebx, 0x1013b28
push ebx
call fcn.01009d61
push 0x1013c2c
mov ebp, 0x1013d30
push ebp
call fcn.01009d61
cmp dword [0x1013e44], 0x864
jne 0x1005e46
push esi
call fcn.01009e12
test eax, eax
je 0x1005e69
push edi
call fcn.01009e12
test eax, eax
je 0x1005e69
push ebx
call fcn.01009e12
test eax, eax
je 0x1005e69
push ebp
call fcn.01009e12
test eax, eax
je 0x1005e69
mov dword [esp + 0x20], 1
jmp 0x1005e69
mov esi, 0x47f
xor eax, eax
push eax
push 0x10
push eax
push eax
push esi
push dword [esp + 0x44c]
call fcn.01003267
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x424
ret 4