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

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebx + 8]
test ecx, ecx
push ebp
push esi
push edi
jne 0x4bb663
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
push 0x63
push esi
push eax
mov eax, dword [esp + 0x40]
push ebx
push edx
push eax
call fcn.0051c6f0
mov edi, eax
mov ebp, 1
add esp, 0x18
cmp edi, ebp
jne 0x4bb603
mov eax, dword [ebx + 8]
cmp eax, 3
jl 0x4bb5ef
cmp eax, 5
jle 0x4bb603
push 6
push esi
push ebx
call fcn.0048c510
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [ebx + 8]
cmp eax, 5
jne 0x4bb61c
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x40]
jmp 0x4bb648
cmp eax, 4
jne 0x4bb659
mov edx, dword [ebx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.0051c210
add esp, 4
test eax, eax
jne 0x4bb659
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
mov cl, byte [ecx]
cmp cl, 0x24
je 0x4bb659
cmp cl, 0x25
je 0x4bb659
mov dword [eax + 0x1c], ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edx, dword [ebx + 0x40]
test edx, edx
je 0x4bbc65
mov eax, dword [edx + 0x40]
test eax, eax
je 0x4bbc65
cmp ecx, 3
jl 0x4bb689
mov esi, dword [eax + 0x40]
test esi, esi
je 0x4bbc65
cmp ecx, 4
jl 0x4bb69c
mov esi, dword [eax + 0x40]
mov edi, dword [esi + 0x40]
test edi, edi
je 0x4bbc65
cmp ecx, 5
jl 0x4bb6b2
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov edi, dword [esi + 0x40]
test edi, edi
je 0x4bbc65
mov esi, dword [edx + 0x1c]
mov ebp, 1
cmp esi, ebp
jne 0x4bb6f3
cmp dword [eax + 0x1c], ebp
jne 0x4bb6f3
cmp ecx, 3
jl 0x4bb6d0
mov esi, dword [eax + 0x40]
cmp dword [esi + 0x1c], ebp
jne 0x4bb6f3
cmp ecx, 4
jl 0x4bb6e0
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x1c], ebp
jne 0x4bb6f3
cmp ecx, 5
jl 0x4bb6fd
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x1c], ebp
je 0x4bb6fd
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x4bbc30
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x4bbc30
cmp ecx, 3
jl 0x4bb726
mov esi, dword [eax + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x4bbc30
cmp ecx, 4
jl 0x4bb73c
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x4bbc30
cmp ecx, 5
jl 0x4bb755
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x4bbc30
mov edx, dword [edx]
push edx
call fcn.0055aba0
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x40]
mov edi, dword [esp + 0x48]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00422140
add esp, 0xc
test eax, eax
jne 0x4bb790
mov edx, dword [esp + 0x48]
push 6
push edx
push esi
call fcn.0048c510
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push edi
call fcn.004256e0
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x4c]
add esp, 4
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4bb7a5
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005d9a55
xor ebx, ebx
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
jg 0x4bb7d1
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 8]
cmp eax, 5
mov edi, dword [esp + 0x88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0x3e7
mov dword [esp + 0x14], ebx
jne 0x4bb8ae
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.0051c210
add esp, 4
test eax, eax
je 0x4bb84d
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + 0x40]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
cmp byte [eax], 0x40
je 0x4bb903
mov dword [esp + 0x24], eax
jmp 0x4bb92b
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov eax, dword [eax]
cmp byte [eax], 0x40
jne 0x4bb88a
push edi
push eax
call fcn.005091b0
add esp, 8
cmp eax, ebx
je 0x4bbc30
mov eax, dword [eax + 0x1488]
test eax, eax
je 0x4bbc30
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
jmp 0x4bb88e
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005d9a55
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x4bb92b
cmp eax, 4
jne 0x4bb8f3
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.0051c210
add esp, 4
test eax, eax
je 0x4bb8eb
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005d9a55
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x4bb92b
mov edx, dword [esi + 0x40]
jmp 0x4bb830
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
cmp byte [eax], 0x40
jne 0x4bb92b
push edi
push eax
call fcn.005091b0
add esp, 8
cmp eax, ebx
je 0x4bbc30
mov eax, dword [eax + 0x1488]
test eax, eax
je 0x4bbc30
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x2c], 0
je 0x4bb961
mov eax, dword [esi]
push 0x2e
push eax
call fcn.005da7f0
add esp, 8
test eax, eax
je 0x4bb961
push str..shortfn
push eax
call fcn.005f1860
add esp, 8
test eax, eax
jne 0x4bb961
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x44]
cmp byte [ecx], 0
je 0x4bbc30
mov edx, dword [esp + 0x48]
cmp byte [edx], 0
je 0x4bbc30
mov eax, dword [esp + 0x84]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edi
je 0x4bb9a6
cmp dword [esp + 0x4c], edi
jne 0x4bb9a1
movzx ecx, word [eax + 2]
shl ecx, 0x10
mov dword [eax], ecx
jmp 0x4bb9a6
movzx edx, word [eax]
mov dword [eax], edx
mov esi, dword [esp + 0x48]
push 0x3b
push esi
call fcn.005d9b20
add esp, 8
test eax, eax
je 0x4bb9e8
push edi
push 0x5f4c90
push edi
call fcn.004e8850
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x10], eax
jne 0x4bb9e8
mov eax, dword [esp + 0x3c]
push 8
push esi
push eax
call fcn.0048c510
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x40]
jmp 0x4bba00
mov ecx, dword [esp + 0x48]
push 0x3b
push ecx
call fcn.005d9b20
add esp, 8
test eax, eax
mov dword [esp + 0x28], eax
je 0x4bba1c
mov edx, eax
mov byte [edx], 0
mov eax, dword [esp + 0x48]
push 0x20
push eax
call fcn.0055ac10
mov ecx, dword [esp + 0x50]
mov al, byte [ecx]
add esp, 8
test al, al
je 0x4bbb4a
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x38]
push edi
push ebp
push ebx
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
inc ecx
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push esi
push eax
push ecx
call fcn.00490fe0
add esp, 0x64
cmp eax, 0xffffffff
je 0x4bbba2
cmp eax, 0xfffffffe
je 0x4bbbdf
cmp eax, 0xfffffffd
je 0x4bbc05
cmp eax, 0xfffffffc
je 0x4bbc1c
test eax, eax
jl 0x4bbb4a
add dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
test ecx, ecx
jg 0x4bbb22
mov edx, dword [esp + 0x1c]
push edx
push 0x5f4a40
push esi
call fcn.005d9929
add esp, 0xc
jmp 0x4bbb4a
cmp ecx, eax
jle 0x4bbb34
sub ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
cmp byte [esi], 0
je 0x4bbb4a
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4bbb4a
push esi
call fcn.00542e10
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4bbb5c
cmp eax, dword [esp + 0x1c]
jle 0x4bbc23
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4bbc23
mov cl, byte [eax + 1]
inc eax
test cl, cl
mov dword [esp + 0x28], eax
je 0x4bbc23
lea edx, [eax + 1]
jmp 0x4bbb80
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bbb80
mov ecx, dword [esp + 0x48]
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
call fcn.005daa60
add esp, 0xc
jmp 0x4bba00
lea edx, [esp + 0x10]
push edx
call fcn.004e8c50
push 0
call fcn.00421dc0
push 0x643160
push 0xaf3
call fcn.00424130
push 6
push 0
push 0x643160
push 0
call fcn.0048bd90
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
lea eax, [esp + 0x10]
push eax
call fcn.004e8c50
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
push 8
push ecx
push edx
call fcn.0048c510
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
lea eax, [esp + 0x10]
push eax
call fcn.004e8c50
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
lea ecx, [esp + 0x10]
push ecx
jmp 0x4bbc28
lea edx, [esp + 0x10]
push edx
call fcn.004e8c50
add esp, 4
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 8]
test eax, eax
jle 0x4bbc5e
mov esi, dword [esp + 0x38]
nop
mov eax, dword [edi + 0x40]
mov ecx, dword [esi]
push eax
push ecx
call fcn.004e8a00
mov dword [esi], eax
mov ecx, dword [edi + 8]
add esp, 8
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi + 8], ecx
jg 0x4bbc40
mov dword [edi + 8], 0
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x20
ret