Function at 0x40b240
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1010c
call fcn.004235c0
mov dword [ebp - 0xc], 0
lea eax, [ebp - 8]
push eax
call fcn.0040ce20
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40bc1c
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x10018]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4332f8
lea eax, [ebp - 0x10018]
push eax
call fcn.0041e760
add esp, 8
xor ecx, ecx
mov word [eax], cx
push 0x44
lea edx, [ebp - 0x10078]
push edx
call fcn.0041e7f0
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 [0x48c0e8]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jne 0x40bc12
push 0x4332fc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x10080], eax
push 0x433310
mov ecx, dword [ebp - 0x10080]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10090], eax
push 0x433320
mov edx, dword [ebp - 0x10080]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10098], eax
push 0x433334
mov eax, dword [ebp - 0x10080]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10084], eax
push 0x433348
mov ecx, dword [ebp - 0x10080]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10088], eax
push 0x433360
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 0x40bbcf
cmp dword [ebp - 0x10098], 0
je 0x40bbcf
cmp dword [ebp - 0x10084], 0
je 0x40bbcf
cmp dword [ebp - 0x10088], 0
je 0x40bbcf
cmp dword [ebp - 0x1008c], 0
je 0x40bbcf
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 0x40bbcf
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 0x40bbc2
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 0x40bbae
mov dword [ebp - 0x100cc], 0
mov ecx, 0x40c860
sub ecx, 0x40bc30
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 0x40bbae
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 0x40bba1
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 0x40bb8d
mov edx, dword [ebp - 0x100c0]
push edx
push 0x40bc30
mov eax, dword [ebp - 0x100d0]
push eax
call fcn.004231d0
add esp, 0xc
mov ecx, dword [ebp - 0x100b4]
mov dword [ebp - 0x100dc], ecx
push 0x433368
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x100e0], eax
push 0x433384
mov edx, dword [ebp - 0x100e0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x100dc]
mov dword [ecx], eax
push 0x433394
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 0x4333a4
mov edx, dword [ebp - 0x100dc]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4333c0
mov eax, dword [ebp - 0x100dc]
add eax, 0xd2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4333d8
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x19c
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4333ec
mov edx, dword [ebp - 0x100dc]
add edx, 0x266
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4333f4
mov eax, dword [ebp - 0x100dc]
add eax, 0x2ca
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433404
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x32e
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433410
mov edx, dword [ebp - 0x100dc]
add edx, 0x3f6
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433420
mov eax, dword [ebp - 0x100dc]
add eax, 0x45a
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x43342c
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x4be
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433438
mov edx, dword [ebp - 0x100dc]
add edx, 0x522
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433444
mov eax, dword [ebp - 0x100dc]
add eax, 0x586
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433450
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x5ea
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433460
mov edx, dword [ebp - 0x100dc]
add edx, 0x6b2
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x433478
mov eax, dword [ebp - 0x100dc]
add eax, 0x64e
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x43348c
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 [0x480d98]
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 0x40bb8d
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 0x40bb80
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 0x40bb6c
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x100f4]
push edx
call fcn.004231d0
add esp, 0xc
mov eax, dword [ebp - 8]
shr eax, 2
mov dword [ebp - 0x100fc], eax
mov dword [ebp - 0x10104], 0
jmp 0x40b926
mov ecx, dword [ebp - 0x10104]
add ecx, 1
mov dword [ebp - 0x10104], ecx
mov edx, dword [ebp - 0x10104]
cmp edx, dword [ebp - 0x100fc]
jge 0x40b95a
mov eax, dword [ebp - 0x10104]
mov ecx, dword [ebp - 0x100f4]
mov edx, dword [ecx + eax*4]
xor edx, dword [0x480d98]
mov eax, dword [ebp - 0x10104]
mov ecx, dword [ebp - 0x100f4]
mov dword [ecx + eax*4], edx
jmp 0x40b917
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.E58EA887_0FCB_45AF_B7BC_DCDE02807C07
push 0
push 1
push 0
call dword [0x48c0e4]
mov dword [ebp - 0x10100], eax
cmp dword [ebp - 0x10100], 0
je 0x40bb6c
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 0x40bb52
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 [0x48c0f4]
mov dword [ebp - 0x1010c], eax
mov edx, dword [ebp - 0x10100]
push edx
call dword [0x48c1a0]
cmp dword [ebp - 0x1010c], 0x102
je 0x40bb0e
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 [0x48c0e0]
mov eax, 1
jmp 0x40bc1e
push 0
mov edx, dword [ebp - 0x10028]
push edx
call dword [0x48c100]
mov eax, dword [ebp - 0x10028]
push eax
call dword [0x48c0cc]
mov ecx, dword [ebp - 0x10024]
push ecx
call dword [0x48c0cc]
mov dword [ebp - 0x10028], 0
mov dword [ebp - 0x10024], 0
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0x10100]
push edx
call dword [0x48c1a0]
mov eax, dword [ebp - 0x10100]
push eax
call dword [0x48c0cc]
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 0x40bc12
push 0
mov ecx, dword [ebp - 0x10028]
push ecx
call dword [0x48c100]
mov edx, dword [ebp - 0x10028]
push edx
call dword [0x48c0cc]
mov eax, dword [ebp - 0x10024]
push eax
call dword [0x48c0cc]
mov dword [ebp - 0x10028], 0
mov dword [ebp - 0x10024], 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x48c0e0]
xor eax, eax
mov esp, ebp
pop ebp
ret