Function at 0x1008c09
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x101fb10]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x42c], 0
push ebx
push esi
push edi
push 0x1020b74
mov dword [ebp - 0x430], eax
mov byte [ebp - 0x20c], 0
mov byte [ebp - 0x310], 0
call fcn.010066e5
test eax, eax
jne 0x1008c57
mov edi, 0x45f
jmp 0x100967a
mov esi, 0x10231e0
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10014b3
push 0x1001674
push 0x100159c
call fcn.01007436
test eax, eax
jl 0x100968d
mov ebx, dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0xffffffffffffffff
push 0x100167c
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
je 0x1008caf
mov edi, 0x475
jmp 0x100967a
push 0x1020b74
call fcn.01007b0e
test eax, eax
je 0x100968d
cmp byte [0x1023340], 0
je 0x1008cff
cmp byte [0x10231e0], 0
je 0x1008cff
push 0x1023340
call fcn.01007b0e
test eax, eax
je 0x100968d
push 0x1023340
push 0x50
push 0x1021f20
mov eax, 0x1001504
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push esi
push 0
push 0x1001664
mov edi, 0x10014c4
push edi
call fcn.0100693b
test eax, eax
je 0x1008d22
mov dword [0x1022584], 0x865
jmp 0x1008d8d
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x1001658
push 0x100163c
push edi
call fcn.01007436
push 0xffffffffffffffff
push 0x1001658
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1008d65
mov dword [0x1022584], 0x864
jmp 0x1008d8d
push 0xffffffffffffffff
push 0x1001664
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
neg eax
sbb eax, eax
neg eax
add eax, 0x865
mov dword [0x1022584], eax
push esi
push 0
push 0x1001620
push edi
call fcn.0100693b
and dword [0x102258c], 0
mov dword [0x1022588], eax
mov dword [ebp - 0x418], 0x101f284
mov eax, dword [ebp - 0x418]
push esi
push 0
push dword [eax - 4]
push edi
call fcn.0100693b
test eax, eax
je 0x1008dd5
mov eax, dword [ebp - 0x418]
mov eax, dword [eax]
or dword [0x102258c], eax
add dword [ebp - 0x418], 8
cmp dword [ebp - 0x418], 0x101f2cc
jl 0x1008db1
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10014b3
push 0x10016f0
push edi
call fcn.01007436
movsx eax, byte [ebp - 0x20c]
push eax
call fcn.0101123a
pop ecx
cmp eax, 0x42
je 0x1008e26
cmp eax, 0x50
jne 0x1008e30
or dword [0x102258c], 0x40
jmp 0x1008e30
or dword [0x102258c], 0x80
test byte [0x102258c], 0xc0
je 0x1008eb2
lea eax, [ebp - 0x20c]
push 0x22
push eax
call fcn.01010be0
pop ecx
pop ecx
mov dword [ebp - 0x420], eax
test eax, eax
je 0x1009675
inc dword [ebp - 0x420]
push 0x22
push dword [ebp - 0x420]
call fcn.01010be0
pop ecx
pop ecx
test eax, eax
je 0x1009675
push dword [ebp - 0x420]
mov byte [eax], 0
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push 0x40
mov dword [ebp - 0x41c], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x1022574], eax
test eax, eax
je 0x100946f
push dword [ebp - 0x420]
push dword [ebp - 0x41c]
push eax
call fcn.01006dcd
push esi
push 0
push 0x1001610
push edi
call fcn.0100693b
test eax, eax
je 0x1008ece
or dword [0x102258c], 0x10000
push esi
push 0x104
push 0x1021710
push 0x10014b3
push 0x10015d0
push edi
call fcn.01007436
push esi
push 0x104
push 0x1022060
push 0x10016d4
push 0x10015bc
push edi
call fcn.01007436
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x100135c
push 0x10015fc
push edi
call fcn.01007436
push 0xffffffffffffffff
push dword [0x101f2cc]
lea eax, [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1008f48
or dword [0x102258c], 0x20000
jmp 0x1008f94
push 0xffffffffffffffff
push dword [0x101f2d0]
lea eax, [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1008f6f
or dword [0x102258c], 0x40000
jmp 0x1008f94
push 0xffffffffffffffff
push dword [0x101f2d4]
lea eax, [ebp - 0x20c]
push 0xffffffffffffffff
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1008f94
or dword [0x102258c], 0x80000
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10014b3
push 0x10016c4
push edi
call fcn.01007436
cmp byte [ebp - 0x20c], 0
jne 0x1008fe4
push esi
mov ebx, 0x3e7
push ebx
push 0x10016bc
push edi
call fcn.0100693b
mov dword [0x102257c], eax
cmp eax, ebx
je 0x1009054
mov dword [0x1022578], 0x10016b4
jmp 0x1009068
push 0xffffffffffffffff
push 0x10016b0
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x100900a
mov dword [0x1022578], 0x10016b0
jmp 0x100905e
push 0xffffffffffffffff
push 0x10016b4
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
jne 0x1009030
mov dword [0x1022578], 0x10016b4
jmp 0x100905e
push 0xffffffffffffffff
push 0x10016a8
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 1
push 0x7f
call ebx
dec eax
dec eax
mov dword [0x1022578], 0x10016a8
je 0x100905e
mov dword [0x1022578], 0x10016a0
mov dword [0x102257c], 7
and dword [0x1022594], 0
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10015f4
push 0x10015e0
push edi
call fcn.01007436
cmp byte [ebp - 0x20c], 0
je 0x10090ea
lea ebx, [ebp - 0x20c]
movsx eax, byte [ebx]
push eax
call fcn.0101123a
inc ebx
pop ecx
cmp eax, 0x41
je 0x10090de
cmp eax, 0x49
je 0x10090cc
cmp eax, 0x4e
je 0x10090c3
cmp eax, 0x53
jne 0x10090e5
or dword [0x1022594], 4
jmp 0x10090e5
and dword [0x1022594], 0xfffffffe
jmp 0x10090e5
mov eax, dword [0x1022594]
and eax, 0xfffffffd
or eax, 1
mov dword [0x1022594], eax
jmp 0x10090e5
or dword [0x1022594], 3
cmp byte [ebx], 0
jne 0x100909b
push esi
push 0
push 0x1001688
push edi
call fcn.0100693b
mov dword [0x102259c], eax
mov ebx, 0x101f190
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.01007436
test eax, eax
jl 0x100968d
mov eax, dword [ebx + 8]
test eax, eax
je 0x1009133
mov ecx, dword [ebx - 4]
xor edx, edx
cmp byte [ecx], dl
setne dl
mov dword [eax], edx
add ebx, 0x1c
cmp ebx, 0x101f28c
jl 0x1009102
cmp dword [0x1022584], 0x866
jne 0x100916c
push 0x104
push 0x102160c
push 0x1020ffc
push dword [ebp - 0x430]
call fcn.0100faa7
test eax, eax
je 0x100968d
push esi
push 0x50
push 0x1021fc0
push 0x10014b3
push 0x1001538
push edi
call fcn.01007436
test eax, eax
jg 0x1009192
mov edi, 0x476
jmp 0x100967a
push 0x1023340
call fcn.010068e2
push 0x1020b74
mov ebx, eax
call fcn.010068e2
cmp eax, ebx
jbe 0x10091b3
push 0x1020b74
jmp 0x10091b8
push 0x1023340
call fcn.010068e2
mov ebx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push eax
push 0x40
mov dword [ebp - 0x428], eax
call ebx
push dword [ebp - 0x428]
mov dword [ebp - 0x418], eax
push 0x40
call ebx
mov ebx, eax
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x424], ebx
test eax, eax
je 0x100946f
test ebx, ebx
je 0x100946f
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x420], eax
mov eax, 0x1021fc0
push eax
shr ecx, 1
push ecx
push ebx
push 0x10014b3
push 0
push eax
mov dword [ebp - 0x41c], ebx
call fcn.01007436
cmp byte [ebx], 0
mov ebx, 0x104
je 0x100932e
push dword [ebp - 0x424]
lea eax, [ebp - 0x20c]
push 0x208
push eax
call fcn.01006dcd
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
mov eax, 0x1021fc0
push eax
push ebx
lea ecx, [ebp - 0x310]
push ecx
push 0x10014b3
lea ecx, [ebp - 0x20c]
push ecx
push eax
call fcn.01007436
push 1
push dword [ebp - 0x428]
lea eax, [ebp - 0x20c]
push dword [ebp - 0x418]
push eax
call fcn.010086c4
test eax, eax
je 0x1009479
jl 0x1009499
push 0x10014b3
push ebx
lea eax, [ebp - 0x310]
push eax
call fcn.0101a172
mov eax, dword [ebp - 0x418]
jmp 0x100930e
push 0x208
push dword [ebp - 0x418]
lea eax, [ebp - 0x20c]
push eax
call fcn.010072df
lea eax, [ebp - 0x310]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01007f6a
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
cmp byte [eax], 0
jne 0x10092c8
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x424]
cmp byte [eax], 0
jne 0x1009233
push dword [ebp - 0x420]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x41c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [0x10225a0], 0
je 0x10095b1
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10014b3
push 0x1001558
push edi
call fcn.01007436
test eax, eax
jl 0x100968d
push 0
push ebx
lea eax, [ebp - 0x310]
push eax
mov eax, dword [0x10225a0]
add eax, 4
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01007793
test eax, eax
je 0x100968d
mov eax, dword [0x10225a0]
add eax, 0x38
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01007c22
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10014b3
push 0x1001544
push edi
call fcn.01007436
test eax, eax
jl 0x100968d
push 0
push ebx
lea eax, [ebp - 0x310]
push eax
mov eax, dword [0x10225a0]
add eax, 0x40
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.01007793
test eax, eax
je 0x100968d
mov eax, dword [0x10225a0]
add eax, 0x74
push eax
lea eax, [ebp - 0x310]
push eax
call fcn.01007c22
push esi
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 0x10014b3
push 0x1001568
push edi
call fcn.01007436
test eax, eax
jl 0x100968d
cmp byte [ebp - 0x20c], 0
mov ecx, dword [0x10225a0]
je 0x100959c
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x100959c
lea ecx, [ebp - 0x41c]
push ecx
push 0x3c
pop ecx
mul ecx
push edx
push eax
call fcn.0100ff9b
test eax, eax
jge 0x10094a0
mov edi, 0x44c
jmp 0x100967a
mov edi, 0x47d
push dword [ebp - 0x420]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
call esi
push dword [ebp - 0x41c]
call esi
jmp 0x100967a
mov edi, 0x47c
jmp 0x100947e
push dword [ebp - 0x41c]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
mov dword [ebp - 0x424], edi
test edi, edi
je 0x100946f
cmp byte [ebp - 0x20c], 0x40
jne 0x100965d
push esi
push ebx
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x310]
push eax
push 0x10014b3
xor edi, edi
push edi
lea eax, [ebp - 0x20b]
push eax
call fcn.01007436
cmp byte [ebp - 0x310], 0
je 0x1009562
lea eax, [ebp - 0x310]
mov dword [ebp - 0x428], eax
push esi
push ebx
lea eax, [ebp - 0x414]
push eax
push 0x10014b3
push dword [ebp - 0x428]
lea eax, [ebp - 0x20b]
push eax
call fcn.01007436
push dword [ebp - 0x41c]
lea eax, [ebp - 0x414]
push eax
call fcn.01007cb7
test eax, eax
je 0x100964a
push dword [ebp - 0x428]
add dword [ebp - 0x41c], 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 - 0x428], eax
jne 0x10094ff
mov eax, dword [0x10225a0]
mov ecx, dword [eax + 0x7c]
imul ecx, ecx, 0x3c
push ecx
mov ecx, dword [eax + 0x80]
push dword [ebp - 0x424]
lea eax, [ecx + eax + 0x84]
push eax
call fcn.010113b0
add esp, 0xc
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [0x10225a0]
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 0x1020ffc
push 0
call fcn.0100833e
push ebx
push 0x1021b18
mov esi, 0x1021e1c
push esi
call fcn.0100f910
push 0x200
push 0x1021918
mov edi, 0x1021c1c
push edi
call fcn.0100f910
push ebx
push 0x1022164
push 0x1022268
call fcn.0100f910
push ebx
push 0x102236c
mov ebx, 0x1022470
push ebx
call fcn.0100f910
cmp dword [0x1022584], 0x864
jne 0x100963e
push esi
call fcn.0100f9fc
test eax, eax
je 0x100968d
push edi
call fcn.0100f9fc
test eax, eax
je 0x100968d
push 0x1022268
call fcn.0100f9fc
test eax, eax
je 0x100968d
push ebx
call fcn.0100f9fc
test eax, eax
je 0x100968d
mov dword [ebp - 0x42c], 1
jmp 0x100968d
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, 0x481
jmp 0x100967a
push edi
lea eax, [ebp - 0x20c]
push eax
call fcn.01007cb7
test eax, eax
jne 0x1009562
push edi
jmp 0x1009650
mov edi, 0x47f
xor eax, eax
push eax
push 0x10
push eax
push eax
push edi
push dword [ebp - 0x430]
call fcn.01007006
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x42c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01010bbf
leave
ret 4