Function at 0x487a10
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6205c5
mov eax, dword fs:[0]
push eax
sub esp, 0x1d8
mov eax, dword [0x6d5db8]
xor eax, ebp
mov dword [ebp - 0x7c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x178], ecx
mov ecx, dword [ebp - 0x178]
call fcn.005c4bed
push 0x6553c0
lea ecx, [ebp - 0x120]
call fcn.004015a0
mov dword [ebp - 4], 0
push 0x6553cc
lea ecx, [ebp - 0x100]
call fcn.004015a0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.0041b910
add eax, 4
push eax
lea edx, [ebp - 0x138]
push edx
call fcn.0040ed60
add esp, 0xc
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x180]
push ecx
lea edx, [ebp - 0x40]
push edx
call fcn.0040ed60
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x138]
call fcn.00401620
lea ecx, [ebp - 0x118]
call fcn.00404aa0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.00587e90
push eax
push 0x80
lea eax, [ebp - 0xfc]
push eax
push str.9109504
push 0x6553dc
push 0x6553e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0xfc]
push ecx
lea ecx, [ebp - 0x118]
call fcn.00401640
push 0xa
lea edx, [ebp - 0x11c]
push edx
lea ecx, [ebp - 0x118]
call fcn.00587e90
push eax
call fcn.005ea6d4
add esp, 0xc
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 0x21ac], eax
lea ecx, [ebp - 0x40]
call fcn.00587e90
push eax
push 0x80
lea edx, [ebp - 0xfc]
push edx
push str.13882323
push 0x6553fc
push 0x655408
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x118]
call fcn.00401640
push 0xa
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x118]
call fcn.00587e90
push eax
call fcn.005ea6d4
add esp, 0xc
mov edx, dword [ebp - 0x178]
mov dword [edx + 0x21b0], eax
mov eax, dword [ebp - 0x178]
push eax
call fcn.005acd80
mov ecx, eax
call fcn.005add90
lea ecx, [ebp - 0x64]
call fcn.00404aa0
mov byte [ebp - 4], 6
push str.XMLDecoderPreProgram.xml
call fcn.0041b910
add eax, 4
push eax
lea ecx, [ebp - 0x13c]
push ecx
call fcn.00404260
add esp, 0xc
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x188]
push eax
lea ecx, [ebp - 0x64]
call fcn.0040bb70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x13c]
call fcn.00401620
push 0
lea ecx, [ebp - 0x64]
call fcn.00401880
push eax
call fcn.00442630
mov ecx, eax
call fcn.004973f0
mov ecx, eax
call fcn.00534cd0
push 0xffffffffffffffff
lea ecx, [ebp - 0x64]
call fcn.0040cfa0
mov ecx, dword [ebp - 0x178]
push ecx
push 0x10d
mov ecx, dword [ebp - 0x178]
add ecx, 0x9a58
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x9a58]
mov edx, dword [eax + 0x134]
call edx
mov eax, dword [ebp - 0x178]
push eax
push 0x115
mov ecx, dword [ebp - 0x178]
add ecx, 0x78
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x78]
mov edx, dword [eax + 0x134]
call edx
mov eax, dword [ebp - 0x178]
push eax
push 0x116
mov ecx, dword [ebp - 0x178]
add ecx, 0x1510
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x1510]
mov edx, dword [eax + 0x134]
call edx
push 0x300
call fcn.005c4745
add esp, 4
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x144], 0
je 0x487cfe
mov eax, dword [ebp - 0x178]
push eax
mov ecx, dword [ebp - 0x144]
call fcn.0050d4f0
mov dword [ebp - 0x18c], eax
jmp 0x487d08
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x140], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x140]
mov dword [edx + 0x1e7c8], eax
call fcn.0041b910
add eax, 4
push eax
lea ecx, [ebp - 0x40]
call fcn.0040bb70
push 0x655430
call fcn.0041b910
add eax, 4
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.00404260
add esp, 0xc
mov dword [ebp - 0x190], eax
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x194], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x194]
push eax
lea ecx, [ebp - 0x100]
call fcn.0040bb70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x148]
call fcn.00401620
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0x100]
push edx
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax + 0x1e7c8]
call fcn.0050e110
push 1
mov ecx, dword [ebp - 0x178]
mov ecx, dword [ecx + 0x1e7c8]
call fcn.0050f380
push 1
mov edx, dword [ebp - 0x178]
mov ecx, dword [edx + 0x1e7c8]
call fcn.0050e140
push 1
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0043bcf0
mov ecx, dword [ebp - 0x178]
call fcn.0048dff0
push 0xffff0002
push 0xffff0000
push 6
push 6
push ecx
mov ecx, esp
mov dword [ebp - 0x14c], esp
push 0x655438
call fcn.004015a0
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x150]
push ecx
call fcn.005acd80
mov byte [ebp - 4], 6
mov ecx, eax
call fcn.005adbf0
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a4], edx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x1a4]
call fcn.00587e90
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0043ce10
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 0x21c8], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x150]
call fcn.00401620
push 0xffff0002
push 0xffff0000
push 6
push 6
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push 0x655448
call fcn.004015a0
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], edx
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x158]
push eax
call fcn.005acd80
mov byte [ebp - 4], 6
mov ecx, eax
call fcn.005adbf0
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b4], ecx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x1b4]
call fcn.00587e90
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0043ce10
mov edx, dword [ebp - 0x178]
mov dword [edx + 0x21b4], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x158]
call fcn.00401620
push 0xffff0002
push 0xffff0000
push 6
push 6
push ecx
mov ecx, esp
mov dword [ebp - 0x15c], esp
push 0x655458
call fcn.004015a0
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x160]
push ecx
call fcn.005acd80
mov byte [ebp - 4], 6
mov ecx, eax
call fcn.005adbf0
mov dword [ebp - 0x1c0], eax
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], edx
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1c4]
call fcn.00587e90
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0043ce10
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 0x21b8], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x160]
call fcn.00401620
push 0xffff0002
push 0xffff0000
push 6
push 6
push ecx
mov ecx, esp
mov dword [ebp - 0x164], esp
push str.Decoder.PreProgram
call fcn.004015a0
mov dword [ebp - 0x1c8], eax
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], edx
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0x168]
push eax
call fcn.005acd80
mov byte [ebp - 4], 6
mov ecx, eax
call fcn.005adbf0
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1d4], ecx
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x1d4]
call fcn.00587e90
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0043ce10
mov edx, dword [ebp - 0x178]
mov dword [edx + 0x21c0], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x168]
call fcn.00401620
push 0xffff0002
push 0xffff0000
push 6
push 6
push ecx
mov ecx, esp
mov dword [ebp - 0x16c], esp
push 0x655480
call fcn.004015a0
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x170]
push ecx
call fcn.005acd80
mov byte [ebp - 4], 6
mov ecx, eax
call fcn.005adbf0
mov dword [ebp - 0x1e0], eax
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e4], edx
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x1e4]
call fcn.00587e90
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0043ce10
mov ecx, dword [ebp - 0x178]
mov dword [ecx + 0x21bc], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x170]
call fcn.00401620
mov ecx, dword [ebp - 0x178]
call fcn.00490160
mov ecx, dword [ebp - 0x178]
call fcn.00490300
mov edx, dword [ebp - 0x178]
push edx
push 0x114
mov ecx, dword [ebp - 0x178]
add ecx, 0x13e4
mov eax, dword [ebp - 0x178]
mov edx, dword [eax + 0x13e4]
mov eax, dword [edx + 0x134]
call eax
mov ecx, dword [ebp - 0x178]
push ecx
push 0x112
mov ecx, dword [ebp - 0x178]
add ecx, 0x12a4
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x12a4]
mov edx, dword [eax + 0x134]
call edx
push 5
mov ecx, dword [ebp - 0x178]
add ecx, 0x13e4
call fcn.005cb0bc
push 5
mov ecx, dword [ebp - 0x178]
add ecx, 0x12a4
call fcn.005cb0bc
lea ecx, [ebp - 0x2c]
call fcn.00503da0
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x178]
call fcn.0040bb00
lea ecx, [ebp - 0x130]
call fcn.00503da0
push 0
lea ecx, [ebp - 0x130]
push ecx
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x12c]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x2c]
call fcn.00422580
push 1
lea ecx, [ebp - 0x2c]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
call fcn.00422850
push 0
mov ecx, dword [ebp - 0x178]
call fcn.005c738e
lea ecx, [ebp - 0x60]
call fcn.00503da0
lea ecx, [ebp - 0x114]
call fcn.00503da0
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x178]
call fcn.0040bb00
lea ecx, [ebp - 0x114]
push ecx
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.0040f100
lea ecx, [ebp - 0x114]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
call fcn.005cbf58
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x108], ecx
push 1
lea ecx, [ebp - 0x114]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x9734
call fcn.00422850
lea ecx, [ebp - 0x78]
call fcn.00503da0
lea ecx, [ebp - 0x50]
call fcn.00503da0
lea edx, [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x178]
add ecx, 0x13e4
call fcn.0040bb00
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x12a4
call fcn.0040bb00
lea ecx, [ebp - 0x78]
call fcn.004225b0
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
add edx, dword [ebp - 0x68]
mov dword [ebp - 0x70], edx
lea ecx, [ebp - 0x78]
call fcn.004225d0
mov ecx, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x6c], edx
push 1
lea ecx, [ebp - 0x78]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x13e4
call fcn.00422850
lea ecx, [ebp - 0x50]
call fcn.004225b0
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x44], eax
push 1
lea ecx, [ebp - 0x50]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x12a4
call fcn.00422850
lea ecx, [ebp - 0x3c]
call fcn.00503da0
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x178]
add ecx, 0x78
call fcn.0040f100
lea edx, [ebp - 0x3c]
push edx
mov ecx, dword [ebp - 0x178]
call fcn.005cbf58
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x178]
call fcn.005cbf58
lea ecx, [ebp - 0x3c]
call fcn.004225b0
mov ecx, dword [ebp - 0x24]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x3c]
call fcn.004225d0
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
push 1
lea ecx, [ebp - 0x3c]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x78
call fcn.00422850
push 5
mov ecx, dword [ebp - 0x178]
add ecx, 0x78
call fcn.005cb0bc
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x60]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
call fcn.005cbf94
mov dword [ebp - 0x134], 0
jmp 0x48842d
mov edx, dword [ebp - 0x134]
add edx, 1
mov dword [ebp - 0x134], edx
cmp dword [ebp - 0x134], 0x90
jge 0x488472
sub esp, 0x10
mov eax, esp
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov edx, dword [ebp - 0x5c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x58]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x134]
imul eax, eax, 0x60
mov ecx, dword [ebp - 0x178]
lea ecx, [ecx + eax + 0x612c]
call fcn.004973c0
jmp 0x48841e
lea ecx, [ebp - 0x1c]
call fcn.00503da0
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x178]
add ecx, 0x1510
call fcn.0040bb00
lea ecx, [ebp - 0x1c]
call fcn.004225b0
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x1c]
call fcn.004225d0
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x104]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x60]
call fcn.004225b0
sub eax, dword [ebp - 0x68]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x10c]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x68]
mov dword [ebp - 0x14], edx
push 1
lea ecx, [ebp - 0x1c]
call fcn.00503da0
push eax
mov ecx, dword [ebp - 0x178]
add ecx, 0x1510
call fcn.00422850
push 5
mov ecx, dword [ebp - 0x178]
add ecx, 0x1510
call fcn.005cb0bc
mov eax, dword [ebp - 0x178]
mov byte [eax + 0x9a4c], 1
mov ecx, dword [ebp - 0x178]
push ecx
push 0xf3
mov ecx, dword [ebp - 0x178]
add ecx, 0x121c
mov edx, dword [ebp - 0x178]
mov eax, dword [edx + 0x121c]
mov edx, dword [eax + 0x134]
call edx
push 0
mov ecx, dword [ebp - 0x178]
add ecx, 0x121c
call fcn.0051d450
mov ecx, dword [ebp - 0x178]
call fcn.0048ffa0
mov ecx, dword [ebp - 0x178]
call fcn.0048cfc0
mov ecx, dword [ebp - 0x178]
call fcn.0048cd40
mov dword [ebp - 0x174], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x64]
call fcn.00401620
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x118]
call fcn.00401620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.00401620
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x100]
call fcn.00401620
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.00401620
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
xor ecx, ebp
call fcn.005e5163
mov esp, ebp
pop ebp
ret