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

Disassembly:
mov ecx, dword [esp + 8]
cmp dword [ecx + 8], 1
je 0x4b8871
mov eax, dword [ecx]
test eax, eax
je 0x4b8871
jle 0x4b8868
mov eax, dword [ecx + 0xc]
test byte [eax], 1
je 0x4b8868
mov dword [esp + 8], ecx
jmp 0x4bf8c5
mov dword [esp + 8], ecx
jmp 0x4bf435
mov eax, 0x16
ret
sub esp, 0x80
push edi
mov edi, dword [esp + 0x8c]
cmp dword [edi + 8], 1
je 0x4bf8ad
cmp dword [edi], 0
je 0x4bf8ad
push 0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 0x60]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x94]
push ecx
call fcn.004bf335
add esp, 0x24
test eax, eax
jne 0x4bf8b2
mov eax, dword [esp + 0x88]
push esi
lea edx, [esp + 0x78]
push edx
push edi
push eax
call fcn.004bf3a5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea ecx, [esp + 0x68]
push ecx
push edi
call fcn.004b72c5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
mov eax, dword [esp + 0x78]
test eax, eax
jle 0x4bf4f8
mov edx, dword [esp + 0x84]
test byte [edx], 1
jne 0x4bf4f8
mov eax, dword [esp + 0x68]
test eax, eax
jle 0x4bf4f8
mov eax, dword [esp + 0x74]
test byte [eax], 1
je 0x4bf7ce
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.004b72c5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.004b72c5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
lea edx, [esp + 0x28]
push 1
push edx
call fcn.004bfc35
lea eax, [esp + 0x20]
push 1
push eax
call fcn.004bfc35
add esp, 0x10
jmp 0x4bf555
mov eax, dword [esp + 0x48]
test eax, eax
jle 0x4bf625
mov ecx, dword [esp + 0x54]
test byte [ecx], 1
jne 0x4bf625
lea edx, [esp + 0x48]
push edx
mov eax, edx
push eax
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x4bf599
mov ecx, dword [esp + 0x34]
test byte [ecx], 1
jne 0x4bf5aa
mov eax, dword [esp + 0x58]
test eax, eax
jle 0x4bf5e8
mov edx, dword [esp + 0x64]
test byte [edx], 1
je 0x4bf5e8
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x6c]
push ecx
mov edx, eax
push edx
call fcn.004b7a25
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x7c]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x28]
push eax
mov ecx, eax
push ecx
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
lea edx, [esp + 0x58]
push edx
mov eax, edx
push eax
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
je 0x4bf555
jmp 0x4bf86a
mov eax, dword [esp + 0x38]
test eax, eax
jle 0x4bf6f1
mov ecx, dword [esp + 0x44]
test byte [ecx], 1
jne 0x4bf6f1
lea edx, [esp + 0x38]
push edx
mov eax, edx
push eax
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
mov eax, dword [esp + 8]
test eax, eax
jle 0x4bf669
mov ecx, dword [esp + 0x14]
test byte [ecx], 1
jne 0x4bf67a
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4bf6b8
mov edx, dword [esp + 0x24]
test byte [edx], 1
je 0x4bf6b8
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x6c]
push ecx
mov edx, eax
push edx
call fcn.004b7a25
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x7c]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 8]
push eax
mov ecx, eax
push ecx
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bf86a
lea edx, [esp + 0x18]
push edx
mov eax, edx
push eax
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
je 0x4bf625
jmp 0x4bf86a
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x4c]
push edx
call fcn.004b73d5
add esp, 8
cmp eax, 0xffffffff
je 0x4bf752
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0xc]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x58]
lea ecx, [esp + 0x18]
mov edx, eax
jmp 0x4bf79a
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x2c]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea eax, [esp + 0x18]
lea ecx, [esp + 0x58]
mov edx, eax
push eax
push ecx
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4bf55b
lea eax, [esp + 0x38]
push 1
push eax
call fcn.004b7415
add esp, 8
test eax, eax
je 0x4bf7d8
mov esi, 0x16
jmp 0x4bf86a
lea ecx, [esp + 8]
push 0
push ecx
call fcn.004b7415
add esp, 8
cmp eax, 0xffffffff
jne 0x4bf816
lea edx, [esp + 8]
push edx
mov eax, edx
push edi
push eax
call fcn.004b7a25
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
push eax
lea ecx, [esp + 0xc]
push ecx
call fcn.004b7415
add esp, 8
cmp eax, 0xffffffff
je 0x4bf7ec
lea edx, [esp + 8]
push edi
push edx
call fcn.004bd155
add esp, 8
cmp eax, 0xffffffff
je 0x4bf853
lea eax, [esp + 8]
push eax
mov ecx, eax
push edi
push ecx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bf86a
lea edx, [esp + 8]
push edi
push edx
call fcn.004bd155
add esp, 8
cmp eax, 0xffffffff
jne 0x4bf829
mov eax, dword [esp + 0x94]
push eax
lea ecx, [esp + 0xc]
push ecx
call fcn.004bf125
add esp, 8
xor esi, esi
push 0
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x98]
push eax
call fcn.004bf305
add esp, 0x24
mov eax, esi
pop esi
pop edi
add esp, 0x80
ret
mov eax, 0x16
pop edi
add esp, 0x80
ret
sub esp, 0x60
push ebp
mov ebp, dword [esp + 0x6c]
cmp dword [ebp], 0
jle 0x4bf8e5
mov eax, dword [ebp + 0xc]
test byte [eax], 1
jne 0x4bf8e5
mov eax, 0x16
pop ebp
add esp, 0x60
ret
push 0
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.004bf335
add esp, 0x1c
test eax, eax
jne 0x4bfb8e
push esi
lea ecx, [esp + 0x48]
push ecx
push ebp
call fcn.004b72c5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bfb63
push edi
mov edi, dword [esp + 0x70]
lea edx, [esp + 0x5c]
push edx
push ebp
push edi
call fcn.004bf3a5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.004b72c5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bfb62
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x60]
push eax
call fcn.004b72c5
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bfb62
lea ecx, [esp + 0xc]
push 1
push ecx
call fcn.004bfc35
add esp, 8
mov edi, edi
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x4bfa0b
mov edx, dword [esp + 0x38]
test byte [edx], 1
jne 0x4bfa0b
lea eax, [esp + 0x2c]
push eax
mov ecx, eax
push ecx
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bfb62
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x4bf9f0
mov edx, dword [esp + 0x48]
test byte [edx], 1
je 0x4bf9f0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x50]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
lea eax, [esp + 0x3c]
push eax
mov ecx, eax
push ecx
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
je 0x4bf995
jmp 0x4bfb62
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x4bfa81
mov edx, dword [esp + 0x28]
test byte [edx], 1
jne 0x4bfa81
lea eax, [esp + 0x1c]
push eax
mov ecx, eax
push ecx
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
jne 0x4bfb62
mov eax, dword [esp + 0xc]
test eax, eax
jle 0x4bfa66
mov edx, dword [esp + 0x18]
test byte [edx], 1
je 0x4bfa66
lea eax, [esp + 0xc]
push eax
lea ecx, [esp + 0x50]
push ecx
mov edx, eax
push edx
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
lea eax, [esp + 0xc]
push eax
mov ecx, eax
push ecx
call fcn.004b8465
mov esi, eax
add esp, 8
test esi, esi
je 0x4bfa0b
jmp 0x4bfb62
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.004b73d5
add esp, 8
cmp eax, 0xffffffff
je 0x4bfac3
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
mov eax, ecx
push eax
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
lea ecx, [esp + 0x3c]
lea edx, [esp + 0xc]
mov eax, ecx
jmp 0x4bfaec
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x30]
push edx
mov eax, ecx
push eax
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
lea ecx, [esp + 0xc]
lea edx, [esp + 0x3c]
mov eax, ecx
push ecx
push edx
push eax
call fcn.004b7ba5
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4bf99b
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.004b7415
add esp, 8
test eax, eax
je 0x4bfb23
mov esi, 0x16
jmp 0x4bfb62
cmp dword [esp + 0x14], 1
mov edi, dword [edi + 8]
jne 0x4bfb4b
lea edx, [esp + 0xc]
push edx
mov eax, edx
push ebp
push eax
call fcn.004b7a25
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4bfb62
cmp dword [esp + 0x14], 1
je 0x4bfb2d
mov esi, dword [esp + 0x78]
lea ecx, [esp + 0xc]
push esi
push ecx
call fcn.004bf125
add esp, 8
mov dword [esi + 8], edi
xor esi, esi
pop edi
push 0
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.004bf305
add esp, 0x1c
mov eax, esi
pop esi
pop ebp
add esp, 0x60
ret