Function at 0x1005458
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x1014b48]
and dword [ebp - 0x42c], 0
push ebx
push esi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push edi
push 0x1015714
mov dword [ebp - 0x430], eax
mov byte [ebp - 0x20c], 0
mov byte [ebp - 0x310], 0
call fcn.01002b31
test eax, eax
jne 0x10054a4
mov edi, 0x45f
jmp 0x1005e52
mov esi, 0x1017700
push esi
mov ebx, 0x208
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x1001443
push 0x10016ac
push 0x10015d4
call fcn.01003b12
test eax, eax
jl 0x1005e65
push 0x10016b4
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10054f3
mov edi, 0x475
jmp 0x1005e52
push 0x1015714
call fcn.01003fbc
test eax, eax
je 0x1005e65
cmp byte [0x1017740], 0
je 0x1005543
cmp byte [0x1017700], 0
je 0x1005543
push 0x1017740
call fcn.01003fbc
test eax, eax
je 0x1005e65
push 0x1017740
push 0x50
push 0x1016ac0
mov eax, 0x1001464
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0
push 0x100169c
mov edi, 0x1001454
push edi
call fcn.01002d7f
test eax, eax
je 0x1005566
mov dword [0x1017124], 0x865
jmp 0x10055c3
push esi
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x1001690
push 0x1001674
push edi
call fcn.01003b12
push 0x1001690
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x10055a1
mov dword [0x1017124], 0x864
jmp 0x10055c3
push 0x100169c
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
neg eax
sbb eax, eax
neg eax
add eax, 0x865
mov dword [0x1017124], eax
push esi
push 0
push 0x1001658
push edi
call fcn.01002d7f
and dword [0x101712c], 0
mov dword [0x1017128], eax
mov dword [ebp - 0x418], 0x10142b4
mov eax, dword [ebp - 0x418]
push esi
push 0
push dword [eax - 4]
push edi
call fcn.01002d7f
test eax, eax
je 0x100560b
mov eax, dword [ebp - 0x418]
mov eax, dword [eax]
or dword [0x101712c], eax
add dword [ebp - 0x418], 8
cmp dword [ebp - 0x418], 0x10142fc
jl 0x10055e7
push esi
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x1001443
push 0x1001728
push edi
call fcn.01003b12
movsx eax, byte [ebp - 0x20c]
push eax
call fcn.0100ce96
cmp eax, 0x42
pop ecx
je 0x1005658
cmp eax, 0x50
jne 0x100565f
or dword [0x101712c], 0x40
jmp 0x100565f
or byte [0x101712c], 0x80
test byte [0x101712c], 0xc0
je 0x10056d6
lea eax, [ebp - 0x20c]
push 0x22
push eax
call fcn.0100cb20
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x420], eax
je 0x1005e4d
inc dword [ebp - 0x420]
push 0x22
push dword [ebp - 0x420]
call fcn.0100cb20
test eax, eax
pop ecx
pop ecx
je 0x1005e4d
push dword [ebp - 0x420]
mov byte [eax], 0
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 [0x1017114], eax
je 0x1005c52
push dword [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
push 0
push 0x1001648
push edi
call fcn.01002d7f
test eax, eax
je 0x10056ef
or byte [0x101712e], 1
push esi
push 0x104
push 0x10162b0
push 0x1001443
push 0x1001608
push edi
call fcn.01003b12
push esi
push 0x104
push 0x1016c00
push 0x100170c
push 0x10015f4
push edi
call fcn.01003b12
push esi
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x10012cc
push 0x1001634
push edi
call fcn.01003b12
push dword [0x1014308]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x100575e
or byte [0x101712e], 2
jmp 0x100579c
push dword [0x101430c]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x100577e
or byte [0x101712e], 4
jmp 0x100579c
push dword [0x1014310]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x100579c
or byte [0x101712e], 8
push esi
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x1001443
push 0x10016fc
push edi
call fcn.01003b12
cmp byte [ebp - 0x20c], 0
jne 0x10057e7
push esi
push 0x3e7
push 0x10016f4
push edi
call fcn.01002d7f
cmp eax, 0x3e7
mov dword [0x101711c], eax
je 0x100584b
mov dword [0x1017118], 0x10016ec
jmp 0x100585f
push 0x10016e8
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1005809
mov dword [0x1017118], 0x10016e8
jmp 0x1005855
push 0x10016ec
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x100582b
mov dword [0x1017118], 0x10016ec
jmp 0x1005855
push 0x10016e0
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
mov dword [0x1017118], 0x10016e0
je 0x1005855
mov dword [0x1017118], 0x10016d8
mov dword [0x101711c], 7
and dword [0x1017134], 0
push esi
push ebx
lea eax, [ebp - 0x20c]
push eax
push 0x100162c
push 0x1001618
push edi
call fcn.01003b12
cmp byte [ebp - 0x20c], 0
je 0x10058dd
lea ebx, [ebp - 0x20c]
movsx eax, byte [ebx]
push eax
call fcn.0100ce96
inc ebx
cmp eax, 0x41
pop ecx
je 0x10058d1
cmp eax, 0x49
je 0x10058bf
cmp eax, 0x4e
je 0x10058b6
cmp eax, 0x53
jne 0x10058d8
or dword [0x1017134], 4
jmp 0x10058d8
and dword [0x1017134], 0xfffffffe
jmp 0x10058d8
mov eax, dword [0x1017134]
and eax, 0xfffffffd
or eax, 1
mov dword [0x1017134], eax
jmp 0x10058d8
or dword [0x1017134], 3
cmp byte [ebx], 0
jne 0x100588e
push esi
push 0
push 0x10016c0
push edi
call fcn.01002d7f
mov dword [0x101713c], eax
mov ebx, 0x10141c0
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.01003b12
test eax, eax
jl 0x1005e65
mov eax, dword [ebx + 8]
test eax, eax
je 0x1005926
mov ecx, dword [ebx - 4]
xor edx, edx
cmp byte [ecx], dl
setne dl
mov dword [eax], edx
add ebx, 0x1c
cmp ebx, 0x10142bc
jl 0x10058f5
cmp dword [0x1017124], 0x866
jne 0x100595f
push 0x104
push 0x10161ac
push 0x1015b9c
push dword [ebp - 0x430]
call fcn.0100bb12
test eax, eax
je 0x1005e65
push esi
push 0x50
push 0x1016b60
push 0x1001443
push 0x10014ac
push edi
call fcn.01003b12
test eax, eax
jg 0x1005985
mov edi, 0x476
jmp 0x1005e52
push 0x1017740
call fcn.01002d2a
push 0x1015714
mov ebx, eax
call fcn.01002d2a
cmp eax, ebx
jbe 0x10059a6
push 0x1015714
jmp 0x10059ab
push 0x1017740
call fcn.01002d2a
mov ebx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
push 0x40
mov dword [ebp - 0x41c], eax
call ebx
push dword [ebp - 0x41c]
mov dword [ebp - 0x424], eax
push 0x40
call ebx
cmp dword [ebp - 0x424], 0
mov dword [ebp - 0x418], eax
je 0x1005c52
test eax, eax
je 0x1005c52
mov eax, dword [ebp - 0x424]
mov edx, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0x420], eax
mov eax, 0x1016b60
push eax
shr edx, 1
push edx
push ecx
mov ebx, 0x1001443
push ebx
push 0
push eax
mov dword [ebp - 0x428], ecx
call fcn.01003b12
jmp 0x1005b0f
push dword [ebp - 0x418]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [ebp - 0x418]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x418]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x418], eax
mov eax, 0x1016b60
push eax
push 0x104
lea ecx, [ebp - 0x310]
push ecx
push ebx
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01003b12
push 1
push dword [ebp - 0x41c]
lea eax, [ebp - 0x20c]
push dword [ebp - 0x424]
push eax
call fcn.01004f33
test eax, eax
je 0x1005c5c
jl 0x1005c7c
push ebx
push 0x104
lea eax, [ebp - 0x310]
push eax
call fcn.0101290a
mov eax, dword [ebp - 0x424]
jmp 0x1005afe
push 0x208
push dword [ebp - 0x424]
lea eax, [ebp - 0x20c]
push eax
call fcn.010039ea
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.010032ea
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebp - 0x424]
lea eax, [ecx + eax + 1]
mov dword [ebp - 0x424], eax
cmp byte [eax], 0
jne 0x1005ab8
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x418]
cmp byte [eax], 0
jne 0x1005a27
push dword [ebp - 0x420]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x1017140], 0
je 0x1005d84
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push ebx
push 0x10014cc
push edi
call fcn.01003b12
test eax, eax
jl 0x1005e65
push 0
lea eax, [ebp - 0x310]
push eax
mov eax, dword [0x1017140]
add eax, 4
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01003cae
test eax, eax
je 0x1005e65
mov eax, dword [0x1017140]
add eax, 0x38
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0100318b
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push ebx
push 0x10014b8
push edi
call fcn.01003b12
test eax, eax
jl 0x1005e65
push 0
lea eax, [ebp - 0x310]
push eax
mov eax, dword [0x1017140]
add eax, 0x40
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01003cae
test eax, eax
je 0x1005e65
mov eax, dword [0x1017140]
add eax, 0x74
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.0100318b
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push ebx
push 0x10014dc
push edi
call fcn.01003b12
test eax, eax
jl 0x1005e65
cmp byte [ebp - 0x20c], 0
mov ecx, dword [0x1017140]
je 0x1005d6f
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x1005d6f
imul eax, eax, 0x3c
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
mov dword [ebp - 0x41c], edi
jne 0x1005c83
mov edi, 0x44c
jmp 0x1005e52
mov edi, 0x47d
push dword [ebp - 0x420]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push dword [ebp - 0x428]
call esi
jmp 0x1005e52
mov edi, 0x47c
jmp 0x1005c61
cmp byte [ebp - 0x20c], 0x40
jne 0x1005e35
mov eax, dword [ebp - 0x41c]
push esi
push 0x104
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x310]
push eax
push ebx
xor edi, edi
push edi
lea eax, [ebp - 0x20b]
push eax
call fcn.01003b12
cmp byte [ebp - 0x310], 0
je 0x1005d31
lea eax, [ebp - 0x310]
mov dword [ebp - 0x418], eax
push esi
push 0x104
lea eax, [ebp - 0x414]
push eax
push ebx
push dword [ebp - 0x418]
lea eax, [ebp - 0x20b]
push eax
call fcn.01003b12
push dword [ebp - 0x428]
lea eax, [ebp - 0x414]
push eax
call fcn.010040cc
test eax, eax
je 0x1005e22
push dword [ebp - 0x418]
add dword [ebp - 0x428], 0x3c
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [edi + eax + 1]
lea eax, [ebp + edi - 0x310]
cmp byte [eax], 0
mov dword [ebp - 0x418], eax
jne 0x1005cce
mov eax, dword [0x1017140]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x80]
imul ecx, ecx, 0x3c
mov esi, dword [ebp - 0x41c]
push dword [ebp - 0x41c]
lea edi, [edx + eax + 0x84]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [0x1017140]
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 0x1015b9c
push 0
call fcn.01004b8f
mov esi, 0x104
push esi
push 0x10166b8
mov edi, 0x10169bc
push edi
call fcn.0100b991
push 0x200
push 0x10164b8
mov ebx, 0x10167bc
push ebx
call fcn.0100b991
push esi
push 0x1016d04
push 0x1016e08
call fcn.0100b991
push esi
push 0x1016f0c
mov esi, 0x1017010
push esi
call fcn.0100b991
cmp dword [0x1017124], 0x864
jne 0x1005e16
push edi
call fcn.0100ba73
test eax, eax
je 0x1005e65
push ebx
call fcn.0100ba73
test eax, eax
je 0x1005e65
push 0x1016e08
call fcn.0100ba73
test eax, eax
je 0x1005e65
push esi
call fcn.0100ba73
test eax, eax
je 0x1005e65
mov dword [ebp - 0x42c], 1
jmp 0x1005e65
push dword [ebp - 0x41c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, 0x481
jmp 0x1005e52
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.010040cc
test eax, eax
jne 0x1005d31
push edi
jmp 0x1005e28
mov edi, 0x47f
xor eax, eax
push eax
push 0x10
push eax
push eax
push edi
push dword [ebp - 0x430]
call fcn.0100373a
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x42c]
pop edi
pop esi
pop ebx
call fcn.0100c759
leave
ret 4