Function at 0x40e6b0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1010c
call fcn.00422250
mov dword [ebp - 0xc], 0
lea eax, [ebp - 8]
push eax
call fcn.00410290
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40f08c
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x10018]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x43297c
lea eax, [ebp - 0x10018]
push eax
call fcn.0041df60
add esp, 8
xor ecx, ecx
mov word [eax], cx
push 0x44
lea edx, [ebp - 0x10078]
push edx
call fcn.0041dff0
add esp, 8
mov dword [ebp - 0x10078], 0x44
mov dword [ebp - 0x1004c], 0x81
xor eax, eax
mov word [ebp - 0x10048], ax
mov ecx, dword [ebp + 0xc]
neg ecx
sbb ecx, ecx
and ecx, 4
mov dword [ebp - 0x1002c], ecx
lea edx, [ebp - 0x10028]
push edx
lea eax, [ebp - 0x10078]
push eax
lea ecx, [ebp - 0x10018]
push ecx
push 0
mov edx, dword [ebp - 0x1002c]
push edx
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call dword [0x4894a0]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jne 0x40f082
push 0x432980
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x10080], eax
push 0x432994
mov ecx, dword [ebp - 0x10080]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10090], eax
push 0x4329a4
mov edx, dword [ebp - 0x10080]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10098], eax
push 0x4329b8
mov eax, dword [ebp - 0x10080]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10084], eax
push 0x4329cc
mov ecx, dword [ebp - 0x10080]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10088], eax
push 0x4329e4
mov edx, dword [ebp - 0x10080]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1008c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x1007c], eax
cmp dword [ebp - 0x10090], 0
je 0x40f03f
cmp dword [ebp - 0x10098], 0
je 0x40f03f
cmp dword [ebp - 0x10084], 0
je 0x40f03f
cmp dword [ebp - 0x10088], 0
je 0x40f03f
cmp dword [ebp - 0x1008c], 0
je 0x40f03f
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x100b0], eax
mov ecx, dword [ebp - 0x100b0]
mov edx, dword [ebp - 0x100b0]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x100a8], edx
mov eax, dword [ebp - 0x100a8]
add eax, 0x18
mov dword [ebp - 0x100ac], eax
mov dword [ebp - 0x100a4], 0
mov dword [ebp - 0x100a0], 0x91c
mov dword [ebp - 0x1009c], 0
push 0
push 0x8000000
push 4
lea ecx, [ebp - 0x100a0]
push ecx
push 0
push 6
lea edx, [ebp - 0x100a4]
push edx
call dword [ebp - 0x10090]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40f03f
mov dword [ebp - 0x100b4], 0
mov dword [ebp - 0x100b8], 0x91c
push 4
push 0
push 2
lea eax, [ebp - 0x100b8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x100b4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov edx, dword [ebp - 0x100a4]
push edx
call dword [ebp - 0x10098]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40f032
mov dword [ebp - 0x100bc], 0
push 4
push 0
push 2
lea eax, [ebp - 0x100b8]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x100bc]
push ecx
mov edx, dword [ebp - 0x10028]
push edx
mov eax, dword [ebp - 0x100a4]
push eax
call dword [ebp - 0x10098]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40f01e
mov dword [ebp - 0x100cc], 0
mov ecx, 0x40fcd0
sub ecx, 0x40f0a0
mov dword [ebp - 0x100c0], ecx
mov edx, dword [ebp - 0x100c0]
xor eax, eax
mov dword [ebp - 0x100c8], edx
mov dword [ebp - 0x100c4], eax
push 0
push 0x8000000
push 0x40
lea ecx, [ebp - 0x100c8]
push ecx
push 0
push 0xe
lea edx, [ebp - 0x100cc]
push edx
call dword [ebp - 0x10090]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40f01e
mov dword [ebp - 0x100d0], 0
mov eax, dword [ebp - 0x100c0]
mov dword [ebp - 0x100d4], eax
push 0x40
push 0
push 2
lea ecx, [ebp - 0x100d4]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x100d0]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov eax, dword [ebp - 0x100cc]
push eax
call dword [ebp - 0x10098]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40f011
mov dword [ebp - 0x100d8], 0
push 0x40
push 0
push 2
lea ecx, [ebp - 0x100d4]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x100d8]
push edx
mov eax, dword [ebp - 0x10028]
push eax
mov ecx, dword [ebp - 0x100cc]
push ecx
call dword [ebp - 0x10098]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40effd
mov edx, dword [ebp - 0x100c0]
push edx
push 0x40f0a0
mov eax, dword [ebp - 0x100d0]
push eax
call fcn.00422a00
add esp, 0xc
mov ecx, dword [ebp - 0x100b4]
mov dword [ebp - 0x100dc], ecx
push 0x4329ec
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x100e0], eax
push 0x432a08
mov edx, dword [ebp - 0x100e0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x100dc]
mov dword [ecx], eax
push 0x432a18
mov edx, dword [ebp - 0x100e0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x100dc]
mov dword [ecx + 4], eax
push 0x432a28
mov edx, dword [ebp - 0x100dc]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x432a44
mov eax, dword [ebp - 0x100dc]
add eax, 0xd2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x432a5c
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x19c
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x432a70
mov edx, dword [ebp - 0x100dc]
add edx, 0x266
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432a78
mov eax, dword [ebp - 0x100dc]
add eax, 0x2ca
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432a88
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x32e
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432a94
mov edx, dword [ebp - 0x100dc]
add edx, 0x3f6
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432aa4
mov eax, dword [ebp - 0x100dc]
add eax, 0x45a
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432ab0
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x4be
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432abc
mov edx, dword [ebp - 0x100dc]
add edx, 0x522
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432ac8
mov eax, dword [ebp - 0x100dc]
add eax, 0x586
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432ad4
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x5ea
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432ae4
mov edx, dword [ebp - 0x100dc]
add edx, 0x6b2
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432afc
mov eax, dword [ebp - 0x100dc]
add eax, 0x64e
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432b10
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x716
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [ebp - 0x100dc]
mov dword [edx + 0x77c], 1
mov eax, dword [ebp - 0x100dc]
mov ecx, dword [0x47e46c]
mov dword [eax + 0x780], ecx
mov dword [ebp - 0x100ec], 0
mov eax, dword [ebp - 8]
cdq
mov dword [ebp - 0x100e8], eax
mov dword [ebp - 0x100e4], edx
push 0
push 0x8000000
push 4
lea edx, [ebp - 0x100e8]
push edx
push 0
push 6
lea eax, [ebp - 0x100ec]
push eax
call dword [ebp - 0x10090]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40effd
mov dword [ebp - 0x100f4], 0
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x100f0], ecx
push 4
push 0
push 2
lea edx, [ebp - 0x100f0]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0x100f4]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
mov ecx, dword [ebp - 0x100ec]
push ecx
call dword [ebp - 0x10098]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40eff0
mov dword [ebp - 0x100f8], 0
push 4
push 0
push 2
lea edx, [ebp - 0x100f0]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0x100f8]
push eax
mov ecx, dword [ebp - 0x10028]
push ecx
mov edx, dword [ebp - 0x100ec]
push edx
call dword [ebp - 0x10098]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40efdc
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x100f4]
push edx
call fcn.00422a00
add esp, 0xc
mov eax, dword [ebp - 8]
shr eax, 2
mov dword [ebp - 0x100fc], eax
mov dword [ebp - 0x10104], 0
jmp 0x40ed96
mov ecx, dword [ebp - 0x10104]
add ecx, 1
mov dword [ebp - 0x10104], ecx
mov edx, dword [ebp - 0x10104]
cmp edx, dword [ebp - 0x100fc]
jge 0x40edca
mov eax, dword [ebp - 0x10104]
mov ecx, dword [ebp - 0x100f4]
mov edx, dword [ecx + eax*4]
xor edx, dword [0x47e46c]
mov eax, dword [ebp - 0x10104]
mov ecx, dword [ebp - 0x100f4]
mov dword [ecx + eax*4], edx
jmp 0x40ed87
mov edx, dword [ebp - 0x100dc]
mov eax, dword [ebp - 0x100f8]
mov dword [edx + 0x914], eax
mov ecx, dword [ebp - 0x100dc]
mov edx, dword [ebp - 8]
mov dword [ecx + 0x918], edx
mov dword [ebp - 0x10100], 0
push str.1793FE49_EE15_41C3_84A5_95040079F16D
push 0
push 1
push 0
call dword [0x48949c]
mov dword [ebp - 0x10100], eax
cmp dword [ebp - 0x10100], 0
je 0x40efdc
mov dword [ebp - 0x10108], 0
push 0
lea eax, [ebp - 0x10108]
push eax
mov ecx, dword [ebp - 0x100bc]
push ecx
mov edx, dword [ebp - 0x100d8]
push edx
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x10028]
push eax
call dword [ebp - 0x10084]
mov dword [ebp - 0x10094], eax
cmp dword [ebp - 0x10094], 0
jl 0x40efc2
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x10028]
mov dword [ecx], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x10020]
mov dword [eax + 8], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x10024]
mov dword [edx + 4], eax
push 0x1388
mov ecx, dword [ebp - 0x10100]
push ecx
call dword [0x4894ac]
mov dword [ebp - 0x1010c], eax
mov edx, dword [ebp - 0x10100]
push edx
call dword [0x489558]
cmp dword [ebp - 0x1010c], 0x102
je 0x40ef7e
mov eax, dword [ebp - 0x100bc]
push eax
mov ecx, dword [ebp - 0x10028]
push ecx
call dword [ebp - 0x10088]
mov edx, dword [ebp - 0x100d8]
push edx
mov eax, dword [ebp - 0x10028]
push eax
call dword [ebp - 0x10088]
mov ecx, dword [ebp - 0x100f8]
push ecx
mov edx, dword [ebp - 0x10028]
push edx
call dword [ebp - 0x10088]
mov eax, dword [ebp - 0x100b4]
push eax
mov ecx, dword [ebp - 0x1007c]
push ecx
call dword [ebp - 0x10088]
mov edx, dword [ebp - 0x100d0]
push edx
mov eax, dword [ebp - 0x1007c]
push eax
call dword [ebp - 0x10088]
mov ecx, dword [ebp - 0x100f4]
push ecx
mov edx, dword [ebp - 0x1007c]
push edx
call dword [ebp - 0x10088]
mov eax, dword [ebp - 0x100a4]
push eax
call dword [ebp - 0x1008c]
mov ecx, dword [ebp - 0x100cc]
push ecx
call dword [ebp - 0x1008c]
mov edx, dword [ebp - 0x100ec]
push edx
call dword [ebp - 0x1008c]
mov eax, dword [ebp - 0x10100]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x489498]
mov eax, 1
jmp 0x40f08e
push 0
mov edx, dword [ebp - 0x10028]
push edx
call dword [0x4894b8]
mov eax, dword [ebp - 0x10028]
push eax
call dword [0x489484]
mov ecx, dword [ebp - 0x10024]
push ecx
call dword [0x489484]
mov dword [ebp - 0x10028], 0
mov dword [ebp - 0x10024], 0
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0x10100]
push edx
call dword [0x489558]
mov eax, dword [ebp - 0x10100]
push eax
call dword [0x489484]
mov ecx, dword [ebp - 0x100f4]
push ecx
mov edx, dword [ebp - 0x1007c]
push edx
call dword [ebp - 0x10088]
mov eax, dword [ebp - 0x100ec]
push eax
call dword [ebp - 0x1008c]
mov ecx, dword [ebp - 0x100d0]
push ecx
mov edx, dword [ebp - 0x1007c]
push edx
call dword [ebp - 0x10088]
mov eax, dword [ebp - 0x100cc]
push eax
call dword [ebp - 0x1008c]
mov ecx, dword [ebp - 0x100b4]
push ecx
mov edx, dword [ebp - 0x1007c]
push edx
call dword [ebp - 0x10088]
mov eax, dword [ebp - 0x100a4]
push eax
call dword [ebp - 0x1008c]
cmp dword [ebp - 0xc], 0
jne 0x40f082
push 0
mov ecx, dword [ebp - 0x10028]
push ecx
call dword [0x4894b8]
mov edx, dword [ebp - 0x10028]
push edx
call dword [0x489484]
mov eax, dword [ebp - 0x10024]
push eax
call dword [0x489484]
mov dword [ebp - 0x10028], 0
mov dword [ebp - 0x10024], 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x489498]
xor eax, eax
mov esp, ebp
pop ebp
ret