Function at 0x46a8e0
Capabilities:
Check if file exists
Create thread
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5a0
mov eax, dword [0x5159c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x598], ecx
mov dword [ebp - 0x594], 0
push str.xmlmain.xml
lea eax, [ebp - 0x554]
push eax
call fcn.0048d980
add esp, 4
push eax
lea ecx, [ebp - 0x50c]
push ecx
call fcn.004123a0
add esp, 0xc
lea ecx, [ebp - 0x554]
call fcn.00413a40
lea ecx, [ebp - 0xc]
call fcn.0048a500
push 0
mov ecx, dword [ebp - 0x598]
add ecx, 0x54
call fcn.00441b10
push eax
lea ecx, [ebp - 0x50c]
call fcn.00413b20
push eax
mov edx, dword [ebp - 0x598]
mov eax, dword [edx + 0x30]
push eax
lea ecx, [ebp - 0xc]
call fcn.0048aa10
mov ecx, dword [ebp - 0x598]
mov edx, dword [ecx + 0x30]
push edx
mov ecx, 0x518d54
call fcn.00441b30
push eax
mov ecx, dword [ebp - 0x598]
add ecx, 0x5c
call fcn.004357a0
push eax
lea ecx, [ebp - 0x50c]
call fcn.00413b20
push eax
lea ecx, [ebp - 0xc]
call fcn.0048aae0
mov ecx, dword [ebp - 0x598]
add ecx, 0x5c
call fcn.00433d60
movzx eax, al
test eax, eax
je 0x46aa00
push ecx
mov ecx, esp
push 0x4ff0c8
call fcn.00436630
lea ecx, [ebp - 0x55c]
push ecx
mov ecx, dword [ebp - 0x598]
add ecx, 0x5c
call fcn.00433d30
mov ecx, eax
call fcn.00436db0
mov ecx, eax
call fcn.00440bd0
push eax
mov ecx, dword [ebp - 0x598]
add ecx, 0x30
call fcn.00442070
lea ecx, [ebp - 0x55c]
call fcn.00436690
mov ecx, dword [ebp - 0x598]
add ecx, 0x54
call fcn.0043bf30
movzx edx, al
test edx, edx
je 0x46ab55
push 1
mov ecx, dword [ebp - 0x598]
add ecx, 0x54
call fcn.00433c20
mov ecx, eax
call fcn.00436be0
lea eax, [ebp - 0x560]
push eax
mov ecx, dword [ebp - 0x598]
add ecx, 0x54
call fcn.00433c20
mov ecx, eax
call fcn.00436b80
push eax
mov ecx, dword [ebp - 0x598]
add ecx, 0x58
call fcn.00435340
lea ecx, [ebp - 0x560]
call fcn.004373a0
mov dword [ebp - 0x54c], 0x5b37
mov dword [ebp - 0x548], 0x5b3b
mov dword [ebp - 0x544], 0x5b3c
mov dword [ebp - 0x540], 0x5b3d
mov dword [ebp - 0x53c], 0x5b43
mov dword [ebp - 0x538], 0x5b44
mov dword [ebp - 0x534], 0x5b45
mov dword [ebp - 0x530], 0x5c69
mov dword [ebp - 0x52c], 0x5b5e
mov dword [ebp - 0x528], 0x5960
mov dword [ebp - 0x524], 0x5bcd
mov dword [ebp - 0x520], 0x5be2
mov dword [ebp - 0x51c], 0x5bdc
mov dword [ebp - 0x518], 0x5be5
mov dword [ebp - 0x514], 0x5c3e
push 0xf
lea ecx, [ebp - 0x54c]
push ecx
mov edx, dword [ebp - 0x598]
push edx
mov ecx, dword [ebp - 0x598]
add ecx, 0x58
call fcn.004344d0
push eax
mov ecx, dword [ebp - 0x598]
add ecx, 0x60
call fcn.00433ab0
push 0
mov ecx, dword [ebp - 0x598]
add ecx, 0x30
call fcn.004362c0
mov eax, dword [ebp - 0x598]
add eax, 0xbbc
push eax
mov ecx, dword [ebp - 0x598]
add ecx, 0x30
call fcn.00442b90
jmp 0x46ab7d
mov dword [ebp - 0x564], 0xffffffff
lea ecx, [ebp - 0xc]
call fcn.0048a520
lea ecx, [ebp - 0x50c]
call fcn.00413a40
mov eax, dword [ebp - 0x564]
jmp 0x46b018
push 0x80
mov ecx, 0x517464
call fcn.00473720
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x46abc4
push 1
mov ecx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x598]
add ecx, 0x30
call fcn.004737a0
push 0
mov edx, dword [ebp - 8]
push edx
mov ecx, dword [ebp - 0x598]
add ecx, 0x30
call fcn.004737a0
call fcn.00480bb0
mov ecx, dword [ebp - 0x598]
call fcn.004712e0
mov ecx, dword [ebp - 0x598]
call fcn.00471110
mov ecx, dword [ebp - 0x598]
call fcn.00472090
push 1
push 0
push 0
lea ecx, [ebp - 0x508]
call fcn.0040d4b0
lea eax, [ebp - 0x568]
push eax
call fcn.00410200
add esp, 4
mov ecx, eax
call fcn.00413b20
push eax
push 1
push 0x4ff0e4
push 0x4ff0f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x568]
call fcn.00413a40
cmp dword [ebp - 0x68], 0
je 0x46ac49
mov ecx, dword [ebp - 0x598]
mov edx, dword [ebp - 4]
mov dword [ecx + 0x188], edx
jmp 0x46ac59
mov eax, dword [ebp - 0x598]
mov dword [eax + 0x188], 0
lea ecx, [ebp - 0x56c]
push ecx
call fcn.00410200
add esp, 4
mov ecx, eax
call fcn.00413b20
push eax
push 0
push str.PopNum
push 0x4ff114
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x598]
mov dword [edx + 0x134], eax
lea ecx, [ebp - 0x56c]
call fcn.00413a40
lea eax, [ebp - 0x570]
push eax
call fcn.00410200
add esp, 4
mov ecx, eax
call fcn.00413b20
push eax
push 0
push 0x4ff128
push 0x4ff138
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [ebp - 0x598]
mov dword [ecx + 0x144], eax
lea ecx, [ebp - 0x570]
call fcn.00413a40
mov ecx, dword [ebp - 0x598]
call fcn.0046b130
mov ecx, dword [ebp - 0x598]
call fcn.0046d740
mov edx, dword [ebp - 0x598]
mov eax, dword [edx + 0x134]
mov ecx, dword [ebp - 0x598]
add eax, dword [ecx + 0x144]
push eax
mov ecx, dword [ebp - 0x598]
call fcn.0046dda0
mov ecx, dword [ebp - 0x598]
call fcn.0046e0d0
mov edx, dword [ebp - 0x598]
mov eax, dword [edx + 0x134]
mov ecx, dword [ebp - 0x598]
add eax, dword [ecx + 0x144]
je 0x46ad8a
push 0x4ff14c
push 0
lea edx, [ebp - 0x578]
push edx
call fcn.0040d0e0
add esp, 8
or dword [ebp - 0x594], 1
push eax
lea eax, [ebp - 0x57c]
push eax
call fcn.004123a0
add esp, 0xc
or dword [ebp - 0x594], 2
mov ecx, eax
call fcn.00413b20
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x46ad8a
mov dword [ebp - 0x59c], 0
jmp 0x46ad94
mov dword [ebp - 0x59c], 1
mov cl, byte [ebp - 0x59c]
mov byte [ebp - 0x571], cl
mov edx, dword [ebp - 0x594]
and edx, 2
je 0x46adbd
and dword [ebp - 0x594], 0xfffffffd
lea ecx, [ebp - 0x57c]
call fcn.00413a40
mov eax, dword [ebp - 0x594]
and eax, 1
je 0x46adda
and dword [ebp - 0x594], 0xfffffffe
lea ecx, [ebp - 0x578]
call fcn.00413a40
movzx ecx, byte [ebp - 0x571]
test ecx, ecx
je 0x46ae55
push 1
push 0x5be5
lea edx, [ebp - 0x580]
push edx
mov ecx, dword [ebp - 0x598]
add ecx, 0x58
call fcn.004344e0
mov ecx, eax
call fcn.00436a70
push eax
lea ecx, [ebp - 0x550]
call fcn.00435420
lea ecx, [ebp - 0x580]
call fcn.004373f0
lea ecx, [ebp - 0x550]
call fcn.00434650
movzx eax, al
test eax, eax
je 0x46ae4a
push 0x10000000
push 0
lea ecx, [ebp - 0x550]
call fcn.00434620
mov ecx, eax
call fcn.004369d0
lea ecx, [ebp - 0x550]
call fcn.00434600
push 1
push 0x5c69
lea ecx, [ebp - 0x584]
push ecx
mov ecx, dword [ebp - 0x598]
add ecx, 0x58
call fcn.004344e0
mov ecx, eax
call fcn.00436a70
push eax
lea ecx, [ebp - 0x510]
call fcn.00435420
lea ecx, [ebp - 0x584]
call fcn.004373f0
lea ecx, [ebp - 0x510]
call fcn.00434650
movzx edx, al
test edx, edx
je 0x46aeba
push 0
push 0x10000000
lea ecx, [ebp - 0x510]
call fcn.00434620
mov ecx, eax
call fcn.004369d0
mov ecx, dword [ebp - 0x598]
call fcn.004700f0
push 0xcc
mov ecx, 0x517464
call fcn.00473710
mov eax, dword [eax]
push eax
call dword [sym.imp.USER32.dll_LoadCursorW]
mov ecx, dword [ebp - 0x598]
mov dword [ecx + 0xbb4], eax
push 0x34
call fcn.004c6aff
add esp, 4
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x588], 0
je 0x46af15
mov ecx, dword [ebp - 0x588]
call fcn.0048b7d0
mov dword [ebp - 0x5a0], eax
jmp 0x46af1f
mov dword [ebp - 0x5a0], 0
mov edx, dword [ebp - 0x5a0]
push edx
mov ecx, 0x518d2c
call fcn.004738c0
lea eax, [ebp - 0x58c]
push eax
call fcn.00410200
add esp, 4
mov ecx, eax
call fcn.00413b20
push eax
push 0x4ff16c
push 0x4ff170
push 0x4ff178
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x58c]
call fcn.00413a40
push 0
push 0x7d0
push 0x3ee
mov ecx, dword [ebp - 0x598]
add ecx, 0x30
call fcn.0043b9c0
mov ecx, dword [ebp - 0x598]
cmp dword [ecx + 0x140], 0
jne 0x46afb6
push 0
push 0
mov edx, dword [ebp - 0x598]
push edx
push 0x46b2f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x598]
mov dword [ecx + 0x140], eax
mov edx, dword [ebp - 0x598]
mov eax, dword [edx + 0x30]
mov dword [0x518b74], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push 0
push 0x471ee0
push 4
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [0x518b70], eax
mov dword [ebp - 0x590], 1
lea ecx, [ebp - 0x510]
call fcn.00434600
lea ecx, [ebp - 0x508]
call fcn.0040de40
lea ecx, [ebp - 0xc]
call fcn.0048a520
lea ecx, [ebp - 0x50c]
call fcn.00413a40
mov eax, dword [ebp - 0x590]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c62c9
mov esp, ebp
pop ebp
ret 4