Function at 0x40ef20
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x457c57
mov eax, dword fs:[0]
push eax
sub esp, 0x5ec
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4740f4]
xor eax, esp
push eax
lea eax, [esp + 0x600]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x28], esi
push 0
lea ecx, [esp + 0x6c]
call fcn.00417200
mov dword [esp + 0x608], 0
xor edi, edi
lea eax, [esi + 0x214]
cmp byte [eax - 0x1ac], 0
je 0x40efae
cmp byte [eax], 0
je 0x40efa3
cmp byte [eax + 0x1ac], 0
je 0x40efa6
cmp byte [eax + 0x358], 0
je 0x40efab
add edi, 4
add eax, 0x6b0
cmp edi, 0x100
jl 0x40ef71
jmp 0x40efba
inc edi
jmp 0x40efae
add edi, 2
jmp 0x40efae
add edi, 3
cmp edi, 0x100
mov dword [esp + 0x18], edi
jl 0x40efd3
push 0x30
push 0xea61
push 0xea75
call fcn.00410a20
add esp, 0xc
jmp 0x40f3ec
mov eax, edi
imul eax, eax, 0x1ac
lea ebx, [eax + esi]
push 0x1ac
lea eax, [ebx + 0x64]
push 0
push eax
mov dword [esp + 0x30], eax
call fcn.00440150
mov eax, dword [esp + 0x61c]
add esp, 0xc
test eax, eax
je 0x40f047
push eax
lea ecx, [esp + 0x20]
call fcn.00404d20
push eax
lea ecx, [esp + 0x318]
mov byte [esp + 0x60c], 1
call fcn.00404380
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x608], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40f047
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 0x475698
push 0
push str.defaultcoord
push str.window
call ebp
push 0x475698
push 0x32
push str.defaultposx
push str.window
mov dword [esp + 0x22c], eax
call ebp
push 0x475698
push 0x32
push str.defaultposy
push str.window
mov dword [esp + 0x5d4], eax
call ebp
push 0x475698
push 0x320
push str.defaultsizx
push str.window
mov dword [esp + 0x5d8], eax
call ebp
push 0x475698
push 0x258
push str.defaultsizy
push str.window
mov dword [esp + 0x5dc], eax
call ebp
lea ecx, [esp + 0x68]
mov dword [esp + 0x5d0], eax
call fcn.0041ffa0
cmp eax, 1
jne 0x40f3ec
mov ecx, dword [esp + 0x314]
cmp dword [ecx - 0xc], 0
je 0x40f3ec
mov ecx, dword [esp + 0x324]
mov edx, edi
imul edx, edx, 0x264
add esi, edx
push 0x50
lea eax, [esi + 0x1ac64]
push ecx
push eax
mov dword [esp + 0x28], eax
call fcn.00405390
mov eax, dword [esp + 0x338]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f130
sub eax, edx
inc eax
push eax
call fcn.0044127e
mov ecx, dword [esp + 0x330]
add esp, 4
mov dword [esi + 0x1aec0], eax
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x40f152
mov eax, dword [esp + 0x330]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f166
sub eax, edx
inc eax
push eax
call fcn.0044127e
mov ecx, dword [esp + 0x334]
add esp, 4
mov dword [esi + 0x1aec4], eax
mov edx, eax
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x40f188
mov edx, dword [esp + 0x318]
push 0x104
push edx
lea eax, [esi + 0x1acb5]
push eax
call fcn.00405390
mov ecx, dword [esp + 0x328]
push 0x104
push ecx
add esi, 0x1adba
push esi
call fcn.00405390
mov esi, dword [esp + 0x3c]
lea edx, [esp + 0x80]
push edx
push esi
call fcn.00407e30
mov dword [esp + 0x50], edi
sub esp, 0x18c
mov ecx, 0x6b
mov edi, esp
mov dword [esp + 0x1d8], 3
mov dword [esp + 0x1e0], 0
rep movsd dword es:[edi], dword [esi]
call fcn.00406a00
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x1c8]
add esp, 0x1ac
lea edx, [eax + 1]
jmp 0x40f220
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40f220
sub eax, edx
jne 0x40f3a6
call fcn.0041f601
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40f249
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
lea ecx, [ebx + 0x68]
mov byte [esp + 0x608], 2
test ecx, ecx
jne 0x40f26c
xor eax, eax
jmp 0x40f27a
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40f271
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00402f40
mov edi, dword [esp + 0x14]
push 0x5c
push edi
call fcn.00441c37
add esp, 8
test eax, eax
jne 0x40f29d
or esi, 0xffffffff
jmp 0x40f2a1
sub eax, edi
mov esi, eax
push 0x475698
push 0
push str.namefromfolder
push str.window
call ebp
test eax, eax
je 0x40f31d
push esi
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00404210
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x60c], 3
call fcn.00404380
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x608], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f301
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x14]
push 0x5c
push edi
call fcn.00441c37
add esp, 8
test eax, eax
jne 0x40f319
or esi, 0xffffffff
jmp 0x40f31d
sub eax, edi
mov esi, eax
mov eax, dword [edi - 0xc]
sub eax, esi
dec eax
push eax
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00404190
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x60c], 4
call fcn.00404380
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x608], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f36c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push 0x50
push esi
push 0x51
push ecx
call fcn.00442513
lea eax, [esi - 0x10]
add esp, 0x10
mov byte [esp + 0x608], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40f3a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x2c]
push ecx
push 0
push 0x1007
push edx
mov dword [esp + 0x50], eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, esi
call fcn.0040a850
lea eax, [esi + 0x64]
push eax
call sub.dxwnd.dll_Ordinal_1
add esp, 4
mov dword [esi + 0x60], 1
lea ecx, [esp + 0x68]
mov dword [esp + 0x608], 0xffffffff
call fcn.0040b410
mov ecx, dword [esp + 0x600]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f8
ret 4