Function at 0x40b850
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov dword [esp], 0x104
mov dword [esp + 4], 2
call fcn.004556b7
mov dword [esp + 0x34], eax
lea eax, str.kernel32.dll
mov dword [esp], 0x7328f505
mov dword [esp + 4], eax
call fcn.0044d0b0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x104
call eax
sub esp, 0xc
mov dword [esp], 0x1000
mov dword [esp + 4], 1
call fcn.004556b7
mov dword [esp + 0x30], eax
mov dword [esp], 0x1000
mov dword [esp + 4], 1
call fcn.004556b7
mov dword [esp + 0x2c], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x34]
lea esi, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.0040b0c0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x44]
jb 0x40b947
mov dword [esp + 0x18], 2
jmp 0x40bab4
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
shl ecx, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x88]
jbe 0x40b989
mov dword [esp + 0x18], 4
jmp 0x40ba49
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x38]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0040af90
mov dword [esp], 0x104
mov dword [esp + 4], 2
call fcn.004556b7
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x24]
lea ecx, [0x4680f0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x8c]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00430bd0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40ba5d
jmp 0x40ba53
sub eax, 4
je 0x40ba5f
jmp 0x40bc8b
jmp 0x40ba5f
jmp 0x40ba61
mov ecx, dword [esp + 0x28]
mov eax, ecx
and eax, 1
xor eax, 0xffffffff
mov edx, ecx
and edx, 1
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
shl eax, 1
mov edx, ecx
xor edx, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
and edx, esi
or edx, 0xfffffffe
xor edx, 0xffffffff
xor ecx, 0xffffffff
and ecx, 0xfffffffe
or edx, ecx
xor edx, 0xffffffff
add edx, 0x7a004c75
add edx, eax
sub edx, 0x7a004c75
mov dword [esp + 0x28], edx
jmp 0x40b930
jmp 0x40bab6
cmp dword [esp + 0x84], 0
setle al
test al, 1
jne 0x40bac7
jmp 0x40baee
jmp 0x40bac9
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00455b05
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00455b05
mov dword [esp + 0x18], 1
jmp 0x40bc77
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
lea edx, [0x468136]
lea esi, [esp + 0x40]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.0040b0c0
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x40]
jb 0x40bb35
jmp 0x40bb28
mov dword [esp + 0x18], 5
jmp 0x40bc57
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
shl ecx, 4
add eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x54], eax
cmp dword [esp + 0x54], 0
jne 0x40bb71
mov dword [esp + 0x18], 7
jmp 0x40bc32
mov dword [esp], 0x104
mov dword [esp + 4], 2
call fcn.004556b7
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x1c]
lea ecx, [0x4680f0]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0040b7e0
mov ecx, dword [esp + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
sub esp, 8
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
sub edx, 1
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0040b850
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00455b05
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40bc43
jmp 0x40bc3c
sub eax, 7
je 0x40bc45
jmp 0x40bc89
jmp 0x40bc45
jmp 0x40bc47
mov eax, dword [esp + 0x20]
add eax, 1
mov dword [esp + 0x20], eax
jmp 0x40bb1c
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00455b05
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00455b05
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
sub eax, 1
ja 0x40bc8d
jmp 0x40bc82
add esp, 0x68
pop esi
pop edi
pop ebx
ret
jmp 0x40bc8d
jmp 0x40bc8d
jmp 0x40bc8f
jmp 0x40bc91
int3