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

Disassembly:
sub esp, 0xb0
mov eax, dword [esp + 0xc0]
push ebx
push ebp
xor ebp, ebp
cmp eax, ebp
push esi
mov ebx, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], 2
jne 0x4b3aa5
mov eax, dword [ebx + 0x694]
cmp eax, ebp
jne 0x4b3aa5
mov eax, dword [ebx + 0xa48]
cmp eax, ebp
je 0x4b3b27
mov eax, dword [eax + 0xb4]
cmp eax, ebp
je 0x4b3b27
mov eax, dword [eax + 0x2c]
cmp eax, ebp
je 0x4b3b27
mov eax, dword [eax + 0xac]
cmp eax, ebp
je 0x4b3b27
mov dword [esp + 0x28], eax
mov eax, dword [eax + 8]
cmp eax, ebp
mov dword [esp + 0x20], eax
jne 0x4b3ac8
mov eax, dword [ebx + 0x108]
mov dword [esp + 0x20], eax
cmp dword [esp + 0xc0], ebp
je 0x4b4080
mov esi, dword [esp + 0xc4]
cmp byte [esi], 0
je 0x4b4080
mov ecx, dword [esp + 0xc0]
mov edx, dword [ecx]
push edi
call dword [edx + 8]
test eax, eax
mov edi, 1
je 0x4b3b2d
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx]
mov dword [esp + 0x10], 0
call dword [eax + 8]
mov ebp, dword [eax + 0x54]
test ebp, ebp
jne 0x4b3b1a
mov ebp, dword [esp + 0x24]
mov dword [esp + 0xc4], 0
jmp 0x4b3b31
mov dword [esp + 0x28], ebp
jmp 0x4b3abe
mov dword [esp + 0x10], edi
mov eax, dword [ebx + 0x42c]
test eax, eax
mov dword [esp + 0x1c], edi
je 0x4b3b4a
mov cl, byte [eax + 0x38]
test cl, cl
je 0x4b3b4a
mov ecx, edi
jmp 0x4b3b4c
xor ecx, ecx
test eax, eax
mov dword [esp + 0x3c], ecx
je 0x4b3b62
cmp byte [eax + 0x39], 6
mov dword [esp + 0x34], 0
jb 0x4b3b66
mov dword [esp + 0x34], edi
mov eax, dword [ebx + 0xa48]
xor edx, edx
test ecx, ecx
movzx ecx, byte [eax + 0x215]
mov eax, dword [esp + 0x10]
sete dl
test eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edx
jne 0x4b3c06
cmp byte [esi], 0x2f
jne 0x4b3c06
mov eax, dword [ebp + 8]
test eax, eax
je 0x4b3bee
cmp dword [esp + 0x24], eax
je 0x4b3bee
mov edx, dword [ebp + 0x20]
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + 0x210]
test eax, eax
jne 0x4b3bb1
call fcn.00494a20
cmp eax, 6
jg 0x4b3bd3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x2c]
mov eax, dword [ecx + 0x210]
test eax, eax
jne 0x4b3bce
call fcn.00494a20
cmp eax, 6
jle 0x4b3be4
mov al, byte [ebp + 0x54]
test al, al
jns 0x4b3be4
mov eax, dword [ebx + 0xa7c]
test eax, eax
je 0x4b3bee
mov ebp, dword [ebp + 8]
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4b3b96
inc esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
mov al, byte [esi]
test al, al
je 0x4b403d
xor ecx, ecx
test al, al
je 0x4b3c8d
cmp ecx, 0x7f
jge 0x4b3c8d
cmp al, 0x2f
je 0x4b3c7d
test byte [esp + 0xcc], 1
jne 0x4b3c48
cmp al, 0x3a
jne 0x4b3c48
mov esi, dword [esp + 0xc8]
cmp byte [esi + 1], 0x2f
je 0x4b3c4f
inc esi
test ecx, ecx
mov dword [esp + 0xc8], esi
jne 0x4b3c8d
jmp 0x4b3c75
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x4b3c68
cmp al, 0x2e
jne 0x4b3c68
cmp byte [esi + 1], al
jne 0x4b3c85
mov dword [esp + 0x28], 0
mov byte [esp + ecx + 0x40], al
inc ecx
inc esi
mov dword [esp + 0xc8], esi
mov al, byte [esi]
test al, al
jne 0x4b3c16
jmp 0x4b3c8d
mov dword [esp + 0x28], 0
inc esi
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0x10]
test eax, eax
mov byte [esp + ecx + 0x40], 0
jne 0x4b3f45
mov eax, dword [esp + 0x1c]
xor edi, edi
cmp eax, edi
je 0x4b3d0f
push ebx
lea edx, [esp + 0x44]
push 1
push edx
mov dword [esp + 0x28], edi
call fcn.004a5950
mov esi, eax
add esp, 0xc
cmp esi, edi
jl 0x4b3d0f
cmp esi, 0x7efffffd
jl 0x4b3ce5
mov ecx, dword [ebx + 0x690]
cmp ecx, edi
je 0x4b3fbe
call fcn.0047a350
test eax, eax
je 0x4b3fbe
mov eax, dword [ebx + 0x44c]
push esi
push eax
call fcn.004a7d50
add esp, 8
cmp eax, edi
je 0x4b3fbe
mov eax, dword [eax + 0x54]
cmp eax, edi
je 0x4b3fbe
mov ebp, eax
jmp 0x4b402c
mov esi, dword [esp + 0x3c]
cmp esi, edi
jne 0x4b3dbd
mov al, byte [esp + 0x40]
cmp al, 0x5f
jne 0x4b3dc1
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x44]
push str._root
push edx
call fcn.0043a3b0
add esp, 0xc
test al, al
je 0x4b3dbd
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x4b3d55
mov ebp, eax
mov dword [esp + 0x1c], edi
jmp 0x4b402c
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x4b3db4
mov esi, dword [esp + 0x24]
cmp esi, eax
je 0x4b3db4
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ecx + 0x210]
cmp eax, edi
jne 0x4b3d79
call fcn.00494a20
cmp eax, 6
jg 0x4b3d9b
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
mov ecx, dword [edx + 0x2c]
mov eax, dword [ecx + 0x210]
cmp eax, edi
jne 0x4b3d96
call fcn.00494a20
cmp eax, 6
jle 0x4b3daa
mov al, byte [ebp + 0x54]
test al, al
jns 0x4b3daa
cmp dword [ebx + 0xa7c], edi
je 0x4b3db4
mov ebp, dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, edi
jne 0x4b3d60
mov dword [esp + 0x1c], edi
jmp 0x4b402c
mov al, byte [esp + 0x40]
cmp al, 0x2e
jne 0x4b3dd7
cmp byte [esp + 0x41], al
jne 0x4b3dd7
mov cl, byte [esp + 0x42]
test cl, cl
je 0x4b3fac
cmp esi, edi
jne 0x4b3e02
cmp al, 0x5f
jne 0x4b3e02
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x44]
push str._parent
push ecx
call fcn.0043a3b0
add esp, 0xc
test al, al
jne 0x4b3fac
mov al, byte [esp + 0x40]
cmp dword [esp + 0x34], edi
je 0x4b3e4e
cmp al, 0x5f
jne 0x4b3e4e
mov edx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x44]
push str._global
push eax
call fcn.0043a3b0
add esp, 0xc
test al, al
je 0x4b3e4e
push 1
mov ecx, ebx
call fcn.004b1220
cmp eax, edi
mov dword [esp + 0xc4], eax
je 0x4b3fbe
xor ebp, ebp
mov dword [esp + 0x10], 1
jmp 0x4b402c
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, ebx
call fcn.004b13b0
mov esi, dword [ebp + 0x10]
cmp esi, edi
je 0x4b3f1b
mov edi, dword [esp + 0x38]
mov edi, edi
mov eax, dword [esi + 0x18]
mov eax, dword [eax + 0x78]
cmp eax, 6
je 0x4b3e8a
cmp eax, 0x61
je 0x4b3e8a
cmp eax, 9
je 0x4b3e8a
cmp eax, 2
jne 0x4b3eea
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x14]
or eax, 1
mov dword [esp + 0x14], eax
mov ecx, edx
mov eax, ecx
and eax, 7
cmp eax, 7
jne 0x4b3eaf
and ecx, 0xfffffff8
mov ecx, dword [ecx + 0xc]
mov eax, ecx
and eax, 7
cmp eax, 2
jne 0x4b3eb9
and ecx, 0x1f
mov eax, ecx
cmp eax, 5
jne 0x4b3eea
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xa48]
or eax, 2
mov dword [esp + 0x14], eax
xor eax, eax
mov al, byte [ecx + 0x215]
push eax
push edx
push edi
call fcn.00425060
add esp, 0xc
test al, al
je 0x4b3eea
mov al, 1
jmp 0x4b3eec
xor al, al
mov ecx, dword [esp + 0x14]
test cl, 2
je 0x4b3efc
and ecx, 0xfffffffd
mov dword [esp + 0x14], ecx
test cl, 1
je 0x4b3f08
and ecx, 0xfffffffe
mov dword [esp + 0x14], ecx
test al, al
jne 0x4b3fa8
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x4b3e70
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4b3fbe
mov ecx, dword [eax + 0xb4]
mov dword [esp + 0xc4], ecx
xor ebp, ebp
mov dword [esp + 0x10], 1
mov dword [esp + 0x38], 0
cmp dword [esp + 0x10], 1
jne 0x4b402c
test byte [esp + 0xcc], 2
jne 0x4b3fbe
mov ecx, dword [ebx + 0xa48]
mov eax, dword [ecx + 0x210]
test eax, eax
jne 0x4b3f6f
call fcn.00494a20
push eax
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call fcn.004b0720
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
test eax, eax
mov eax, dword [esp + 0xd0]
push edx
mov ecx, ebx
push eax
je 0x4b3fcd
call fcn.004b5170
jmp 0x4b3fd2
mov ebp, esi
jmp 0x4b3f3d
cmp ebp, dword [esp + 0x2c]
je 0x4b3fbe
mov ebp, dword [ebp + 8]
cmp ebp, edi
je 0x4b3fbe
cmp dword [ebp + 0x20], edi
jne 0x4b402c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb0
ret 0x10
call fcn.004b4570
test eax, eax
mov dword [esp + 0x30], 0
je 0x4b3fbe
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.004b1f90
test eax, eax
mov dword [esp + 0xc4], eax
je 0x4b3fbe
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov esi, eax
test esi, esi
je 0x4b402c
push 1
mov ecx, ebx
call fcn.004b1220
cmp dword [esp + 0xc4], eax
je 0x4b402c
mov ebp, dword [esi + 0x54]
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x18], 2
mov esi, dword [esp + 0xc8]
mov al, byte [esi]
test al, al
jne 0x4b3c10
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4b4075
xor esi, esi
test ebp, ebp
je 0x4b4058
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x4b4058
mov esi, dword [eax + 0xb4]
push 0
push esi
mov ecx, ebx
call fcn.0040df80
neg eax
pop edi
sbb eax, eax
and eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret 0x10
mov esi, dword [esp + 0xc4]
push 0
jmp 0x4b405a
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xb0
ret 0x10