Function at 0x1001623a
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10089e26
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x178
and dword [ebp - 0x8c], 0
mov dword [ebp - 0x7c], 0xc755
mov dword [ebp - 0x88], 0xd19ac196
mov dword [ebp - 0xd4], 0x9cc14173
mov dword [ebp - 0x15c], 0x8872fa4a
mov dword [ebp - 0x150], 0xa733e34b
mov dword [ebp - 0x80], 0xa5f9c710
mov dword [ebp - 0x48], 0
jmp 0x100162a5
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 2
jge 0x100162bb
mov eax, dword [ebp - 0x48]
mov dword [ebp + eax*4 - 0xe8], 0
jmp 0x1001629e
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0xe8]
cmp dword [ebp - 0x80], eax
je 0x100162e9
mov dword [ebp - 0x98], 1
jmp 0x100162f0
and dword [ebp - 0x98], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xe8]
mov dword [ebp - 0xd4], eax
imul eax, dword [ebp - 0xd4], 7
add eax, dword [ebp - 0x7c]
jmp 0x1001631b
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 4
jne 0x10016349
cmp dword [ebp - 0x7c], 0
je 0x10016349
mov dword [ebp - 0xc0], 1
jmp 0x10016350
and dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0xc0]
je 0x1001636a
mov dword [ebp - 0xa0], 1
jmp 0x10016371
and dword [ebp - 0xa0], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0xe8]
cmp dword [ebp - 0xa0], eax
jge 0x10016392
mov dword [ebp - 0xd0], 1
jmp 0x10016399
and dword [ebp - 0xd0], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax - 0xe8], ecx
lea ecx, [ebp - 0x178]
call fcn.100188b0
and dword [ebp - 4], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x158], 0xffffffff
mov dword [ebp - 0x14], 0x10
jmp 0x100163dc
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffff9
jl 0x1001644c
mov dword [ebp - 0xec], 0xfffffffe
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x68], 0
jmp 0x10016406
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 3
jge 0x1001641c
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x148], 0xf4672159
jmp 0x100163ff
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xa8], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xa8]
mov dword [ebp + eax - 0x148], ecx
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x14]
mov dword [ebp + eax - 0x148], ecx
jmp 0x100163d5
mov dword [ebp - 0x14], 0xfffffff2
jmp 0x1001645c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x16
jne 0x10016489
mov dword [ebp - 0xfc], 6
push 1
push 0x1734
push 0x179e
lea eax, [ebp - 0xfc]
push eax
call fcn.10016077
add esp, 0x10
jmp 0x10016455
mov eax, dword [ebp + 0xc]
shr eax, 1
push eax
lea ecx, [ebp - 0x178]
call fcn.1001896c
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x94], 0xa6d0811
mov dword [ebp - 0x10], 0
jmp 0x100164bb
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xa
jle 0x100166be
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x9c], 2
mov byte [ebp - 0x25], 0
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x100164ea
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x10]
neg eax
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x34]
inc ecx
cmp eax, ecx
jge 0x1001650f
mov dword [ebp - 0xc8], 1
jmp 0x10016516
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xc8], eax
jle 0x1001652d
cmp dword [ebp - 0x10], 0
jne 0x1001652d
cmp dword [ebp - 0x34], 0
je 0x1001653f
cmp dword [ebp - 0x10], 0
je 0x1001653f
mov dword [ebp - 0xb0], 1
jmp 0x10016546
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xb0], eax
jne 0x1001655d
mov dword [ebp - 0xdc], 1
jmp 0x10016564
and dword [ebp - 0xdc], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0xdc], eax
jg 0x1001657b
mov dword [ebp - 0xb8], 1
jmp 0x10016582
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0xb8], eax
jl 0x10016599
mov dword [ebp - 0x90], 1
jmp 0x100165a0
and dword [ebp - 0x90], 0
imul eax, dword [ebp - 0x90], 0x2079
cmp eax, dword [ebp - 0x9c]
jl 0x100165be
mov dword [ebp - 0xf4], 1
jmp 0x100165c5
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x94], 0xe731
jle 0x100165e6
mov dword [ebp - 0xa4], 1
jmp 0x100165ed
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x9c]
cmp dword [ebp - 0xa4], eax
je 0x10016607
mov dword [ebp - 0xac], 1
jmp 0x1001660e
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
je 0x10016628
mov dword [ebp - 0xb4], 1
jmp 0x1001662f
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xb4]
cmp eax, dword [ebp - 0x10]
jne 0x10016649
mov dword [ebp - 0xbc], 1
jmp 0x10016650
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0xbc]
test eax, eax
je 0x10016670
cmp dword [ebp - 0x10], 0
je 0x10016670
mov dword [ebp - 0xc4], 1
jmp 0x10016677
and dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0xc4]
add eax, 0x3bab7214
je 0x100166a0
mov byte [ebp - 0x24], 0
movzx eax, byte [ebp - 0x24]
test eax, eax
je 0x1001669e
push 0x2f82
push 1
call fcn.100160c4
pop ecx
pop ecx
jmp 0x100166b9
cmp dword [ebp - 0x34], 0
je 0x100166a8
jmp 0x100166be
mov byte [ebp - 0x26], 0
lea eax, [ebp - 0x26]
push eax
push 0
call fcn.10016e2f
pop ecx
pop ecx
jmp 0x100164b4
and dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp + 0xc]
jae 0x10016ba6
mov dword [ebp - 0x50], 0x110c93b4
mov dword [ebp - 0x138], 0x17633efc
mov dword [ebp - 0x134], 0x17633efc
mov dword [ebp - 0x130], 0x17633efc
mov dword [ebp - 0x12c], 0x17633efc
mov dword [ebp - 0x50], 0
jmp 0x1001670d
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 7
jne 0x10016886
mov dword [ebp - 0x38], 0xfffffffd
mov dword [ebp - 0x38], 0
jmp 0x1001672e
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 3
jg 0x10016881
mov dword [ebp - 0x20], 0x22a149ce
mov dword [ebp - 0x20], 3
jmp 0x1001674f
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x100167d3
mov dword [ebp - 0x60], 0x71247adf
mov dword [ebp - 0x60], 0
jmp 0x1001676c
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jg 0x100167ce
mov dword [ebp - 0x58], 0xdfe012d2
mov dword [ebp - 0x58], 0
jmp 0x10016789
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 3
jg 0x100167bd
mov byte [ebp - 0x28], 0
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x100167a1
call dword [sym.imp.USER32.dll_WaitMessage]
mov byte [ebp - 0x2a], 0
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x100167bb
push 0x5710
push 0
call fcn.10016202
pop ecx
pop ecx
jmp 0x10016782
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x138], 0
je 0x100167cc
jmp 0x10016765
jmp 0x10016765
jmp 0x10016748
mov dword [ebp - 0x20], 0
jmp 0x100167e3
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jg 0x1001687c
mov dword [ebp - 0x64], 0
jmp 0x100167fd
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 1
jge 0x10016810
mov eax, dword [ebp - 0x64]
mov dword [ebp + eax*4 - 0x40], 0xfffffffc
jmp 0x100167f6
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x40], 3
jmp 0x10016835
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x40]
dec eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x40], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x40], 0
jl 0x10016877
mov dword [ebp - 0x6c], 0xd40a1650
mov dword [ebp - 0x6c], 0
jmp 0x10016859
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 3
jg 0x10016875
mov byte [ebp - 0x2c], 0
movzx eax, byte [ebp - 0x2c]
test eax, eax
je 0x10016873
push 0
call fcn.10016f0f
pop ecx
jmp 0x10016852
jmp 0x10016820
jmp 0x100167dc
jmp 0x10016727
jmp 0x10016706
mov byte [ebp - 0x23], 0
lea eax, [ebp - 0x23]
push eax
push 1
push 0x7be9
push 0x107e
push 0xb6
push 0x3a90
call fcn.100160f6
add esp, 0x18
lea eax, [ebp - 0x78]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x30], 0xad313dd3
mov dword [ebp - 0xcc], 0xe700d62e
mov dword [ebp - 0x44], 0
jmp 0x100168d6
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jge 0x100168ec
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x118], 0xe01b
jmp 0x100168cf
mov dword [ebp - 0x30], 0xfffffff0
jmp 0x100168fc
mov eax, dword [ebp - 0x30]
dec eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xffffffe2
jne 0x10016a5d
mov dword [ebp - 0x1c], 0xe8c9f369
mov dword [ebp - 0x128], 0xffffffff
mov dword [ebp - 0x124], 0xffffffff
mov dword [ebp - 0x120], 0xffffffff
mov dword [ebp - 0x11c], 0xffffffff
mov dword [ebp - 0x1c], 1
jmp 0x10016945
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x10016a47
xor eax, eax
inc eax
je 0x100169ac
mov dword [ebp - 0xcc], 0x3f7e813a
mov eax, dword [ebp - 0xcc]
cmp dword [ebp - 0x1c], eax
jle 0x10016975
mov dword [ebp - 0x84], 1
jmp 0x1001697c
and dword [ebp - 0x84], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax - 0x128], ecx
cmp dword [ebp - 0x84], 0
je 0x100169ac
mov eax, 0x62d7
test eax, eax
je 0x100169ac
mov dword [ebp - 0xd8], 1
jmp 0x100169b3
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0xd8], eax
jg 0x100169ca
mov dword [ebp - 0xf8], 1
jmp 0x100169d1
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x160], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x118], 7
jge 0x100169f6
mov dword [ebp - 0x104], 1
jmp 0x100169fd
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x118]
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x30], 0
je 0x10016a23
push 0x29d4
push 1
call fcn.10016191
pop ecx
pop ecx
jmp 0x10016a42
mov byte [ebp - 0x2b], 0
lea eax, [ebp - 0x2b]
push eax
push 0x31ec
push 0
call fcn.10016de7
add esp, 0xc
cmp dword [ebp - 0x1c], 0
je 0x10016a42
jmp 0x10016a47
jmp 0x1001693e
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x21]
push eax
push 0
call fcn.100185a4
pop ecx
pop ecx
jmp 0x100168f5
and dword [ebp - 0x4c], 0
jmp 0x10016a71
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x4c], 2
jae 0x10016ab4
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 0x3c]
xor edx, edx
div dword [0x1008f868]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
movzx eax, byte [eax + edx]
push eax
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
push eax
call fcn.10009a83
pop ecx
pop ecx
mov ecx, dword [ebp - 0x100]
add ecx, dword [ebp - 0x4c]
mov byte [ecx], al
jmp 0x10016a63
mov dword [ebp - 0x18], 0
jmp 0x10016ac4
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10016ada
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x110], 0xffffffff
jmp 0x10016abd
mov dword [ebp - 0x18], 0
jmp 0x10016aea
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10016b00
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x184], 0x3eb905d0
jmp 0x10016ae3
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x110], 0xffffffe8
jmp 0x10016b2b
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x110]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x110], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x110], 0xfffffffe
jg 0x10016b8c
mov dword [ebp - 0x54], 0x38ab659d
mov byte [ebp - 0x29], 0
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x10016b55
push 1
call fcn.100161ce
pop ecx
mov dword [ebp - 0x54], 0
jmp 0x10016b65
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 2
jg 0x10016b8a
mov byte [ebp - 0x27], 0
movzx eax, byte [ebp - 0x27]
test eax, eax
je 0x10016b88
push 0
push 0x1c96
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
jmp 0x10016b5e
jmp 0x10016b12
lea eax, [ebp - 0x178]
push eax
push 0
lea eax, [ebp - 0x78]
push eax
call fcn.10018517
add esp, 0xc
jmp 0x100166c2
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x5c], 0
jmp 0x10016bbd
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 1
jge 0x10016bd0
mov eax, dword [ebp - 0x5c]
mov dword [ebp + eax*4 - 0x74], 1
jmp 0x10016bb6
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x74], 0xffffffeb
jmp 0x10016bf5
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x74]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x74], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x74], 0x19
jl 0x10016c1e
mov dword [ebp - 0xf0], 0
lea eax, [ebp - 0xf0]
push eax
push 1
call fcn.10016202
pop ecx
pop ecx
jmp 0x10016be0
mov dword [ebp - 0x70], 0
jmp 0x10016c2e
mov eax, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0xffffffe8
jl 0x10016c56
mov byte [ebp - 0x22], 0
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x10016c54
push 0x16ad
push 0
push 0x5dad
call fcn.10016ec8
add esp, 0xc
jmp 0x10016c27
lea eax, [ebp - 0x178]
push eax
mov ecx, dword [ebp + 8]
call fcn.100188c3
mov eax, dword [ebp - 0x8c]
or eax, 1
mov dword [ebp - 0x8c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x178]
call fcn.1001890d
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret