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

Disassembly:
sub esp, 0x98
mov eax, dword [0x621804]
push ebx
push ebp
push esi
push edi
mov edi, ecx
add eax, 8
mov esi, dword [edi + 0x128]
mov dword [esp + 0x10], eax
test esi, esi
je 0x4fb0c6
mov edx, dword [esi]
push 0x626568
mov ecx, esi
call dword [edx + 0x1c]
test al, al
je 0x4fb0c6
mov ebx, esi
jmp 0x4fb0c8
xor ebx, ebx
mov ecx, dword [edi + 0x174]
mov eax, dword [edi + 0x170]
sub ecx, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
mov esi, 0
shr eax, 0x1f
add edx, eax
mov ebp, edx
je 0x4fb101
push esi
mov ecx, ebx
call fcn.00521000
test al, al
jne 0x4fb10e
inc esi
cmp esi, ebp
jb 0x4fb0f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret
lea ecx, [esp + 0x3c]
push esi
push ecx
mov ecx, edi
call fcn.004fb700
mov edx, dword [eax]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x7c], ecx
lea ecx, [esp + 0x3c]
mov edx, dword [eax + 8]
lea eax, [esp + 0x78]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x88], edx
call fcn.0041a3e0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
push ecx
push eax
mov edx, dword [edx + 8]
mov ecx, esi
mov dword [esp + 0x9c], edx
call fcn.004372e0
mov ebp, eax
mov dword [esp + 0x38], ebp
test byte [ebp + 0x83], 3
je 0x4fb101
mov dl, 1
lea ecx, [ebp + 4]
mov eax, 2
mov esi, 2
cmp dword [ecx], 0
sete bl
and dl, bl
add ecx, 4
dec esi
jne 0x4fb17f
dec eax
jne 0x4fb17a
test dl, dl
je 0x4fb101
mov ecx, dword [edi + 0x12c]
mov ebx, dword [esp + 0x10]
push ecx
push ebp
mov ecx, ebx
call fcn.0043a580
mov esi, eax
xor ebp, ebp
cmp esi, ebp
je 0x4fb25b
push ebp
push 0x20
push 0x20
lea ecx, [esp + 0x98]
call fcn.004d8f90
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x3c]
mov edx, dword [eax + 4]
push ecx
mov dword [esp + 0x44], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x48], eax
call fcn.00436c40
add esp, 4
test al, al
je 0x4fb212
mov eax, dword [esp + 0x3c]
cdq
and edx, 0x1f
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0x40]
cdq
and edx, 0x1f
add eax, edx
sar ecx, 5
sar eax, 5
lea edx, [eax + ecx*2]
mov eax, dword [esi + edx*4 + 4]
jmp 0x4fb214
xor eax, eax
cmp eax, edi
jne 0x4fb25b
mov eax, dword [edi + 0x12c]
cmp eax, 0xffffffff
jne 0x4fb227
or ecx, eax
jmp 0x4fb22d
lea ecx, [eax - 4]
and ecx, 7
cmp eax, 0xffffffff
je 0x4fb245
cdq
sub eax, edx
mov edx, dword [esp + 0x38]
sar eax, 1
cmp dword [edx + eax*4 + 0x14], ebp
jne 0x4fb101
cmp ecx, 0xffffffff
je 0x4fb25b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp dword [esi + eax*4 + 0x14], ebp
jne 0x4fb101
lea eax, [esp + 0x17]
lea ecx, [esp + 0x48]
push eax
call fcn.004fd970
lea ecx, [esp + 0x17]
lea edx, [esp + 0x37]
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.0046e740
lea eax, [esp + 0x38]
lea ecx, [esp + 0x48]
push eax
call fcn.00484480
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
cmp ecx, eax
je 0x4fb57d
jmp 0x4fb29e
xor ebp, ebp
lea ecx, [esp + 0x48]
call fcn.004fd940
mov edx, dword [eax]
lea ecx, [esp + 0x48]
mov dword [esp + 0x2c], edx
call fcn.00484510
lea eax, [esp + 0x2c]
lea ecx, [esp + 0xa0]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.0043c890
push eax
lea ecx, [esp + 0x74]
call fcn.004b8b50
lea edx, [esp + 0x74]
lea eax, [esp + 0x70]
push edx
push eax
lea ecx, [esp + 0x94]
call fcn.004b8b30
push eax
lea ecx, [esp + 0x40]
call fcn.004b8b50
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
cmp dword [eax + 0x14], ebp
jne 0x4fb314
push ebp
push eax
mov ecx, ebx
call fcn.0043a580
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], ebp
mov ecx, dword [eax + 0x1c]
cmp ecx, ebp
jne 0x4fb331
push 4
push eax
mov ecx, ebx
call fcn.0043a580
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], ebp
mov ecx, dword [eax + 0x18]
cmp ecx, ebp
jne 0x4fb34e
push 2
push eax
mov ecx, ebx
call fcn.0043a580
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], ebp
mov ecx, dword [eax + 0x20]
cmp ecx, ebp
jne 0x4fb367
push 6
push eax
mov ecx, ebx
call fcn.0043a580
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x30]
cmp ecx, ebp
je 0x4fb3de
test byte [ecx + 0x83], 3
je 0x4fb3de
push 1
call fcn.00420ad0
test al, al
je 0x4fb3de
mov ebp, dword [esp + 0x30]
mov cl, 1
mov edi, 2
lea eax, [ebp + 4]
mov esi, 2
cmp dword [eax], 0
sete dl
and cl, dl
add eax, 4
dec esi
jne 0x4fb396
dec edi
jne 0x4fb391
test cl, cl
je 0x4fb3de
mov eax, dword [ebp + 0x1c]
test eax, eax
jne 0x4fb3de
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x30]
lea ecx, [esp + 0x98]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004f4df0
cmp dword [eax], esi
jne 0x4fb3de
lea edx, [esp + 0x30]
lea ecx, [esp + 0x48]
push edx
call fcn.00484480
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4fb455
test byte [ecx + 0x83], 3
je 0x4fb455
push 1
call fcn.00420ad0
test al, al
je 0x4fb455
mov ebp, dword [esp + 0x28]
mov cl, 1
mov edi, 2
lea eax, [ebp + 4]
mov esi, 2
cmp dword [eax], 0
sete dl
and cl, dl
add eax, 4
dec esi
jne 0x4fb40d
dec edi
jne 0x4fb408
test cl, cl
je 0x4fb455
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x4fb455
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x84]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004f4df0
cmp dword [eax], esi
jne 0x4fb455
lea edx, [esp + 0x28]
lea ecx, [esp + 0x48]
push edx
call fcn.00484480
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4fb4cc
test byte [ecx + 0x83], 3
je 0x4fb4cc
push 1
call fcn.00420ad0
test al, al
je 0x4fb4cc
mov ebp, dword [esp + 0x10]
mov cl, 1
mov edi, 2
lea eax, [ebp + 4]
mov esi, 2
cmp dword [eax], 0
sete dl
and cl, dl
add eax, 4
dec esi
jne 0x4fb484
dec edi
jne 0x4fb47f
test cl, cl
je 0x4fb4cc
mov eax, dword [ebp + 0x20]
test eax, eax
jne 0x4fb4cc
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x9c]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004f4df0
cmp dword [eax], esi
jne 0x4fb4cc
lea edx, [esp + 0x10]
lea ecx, [esp + 0x48]
push edx
call fcn.00484480
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4fb56b
test byte [ecx + 0x83], 3
je 0x4fb56b
push 1
call fcn.00420ad0
test al, al
je 0x4fb56b
mov ebp, dword [esp + 0x18]
mov cl, 1
mov edi, 2
lea eax, [ebp + 4]
mov esi, 2
cmp dword [eax], 0
sete dl
and cl, dl
add eax, 4
dec esi
jne 0x4fb503
dec edi
jne 0x4fb4fe
test cl, cl
je 0x4fb56b
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x4fb56b
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x18]
lea ecx, [esp + 0x88]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.004f4df0
cmp dword [eax], esi
jne 0x4fb56b
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
add edx, 0xfffffffc
cmp eax, edx
je 0x4fb55d
test eax, eax
je 0x4fb556
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
add dword [esp + 0x58], 4
jmp 0x4fb56b
lea edx, [esp + 0x18]
lea ecx, [esp + 0x48]
push edx
call fcn.00485410
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jne 0x4fb29c
xor ebp, ebp
mov eax, dword [esp + 0x20]
cmp eax, ebp
mov ebx, eax
je 0x4fb5b1
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
lea ecx, [esp + 0x1c]
push edx
call fcn.0043c850
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], ebp
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xc], eax
mov dword [esp + 0x20], ebp
mov ecx, dword [esp + 0x1c]
push 1
push ecx
lea ecx, [esp + 0x24]
call fcn.004a6e10
mov edx, dword [esp + 0x58]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov dword [eax], edx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x80]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x84]
mov dword [eax + 0xc], ecx
lea edx, [esp + 0x68]
mov ecx, esp
push edx
call fcn.005cee70
call fcn.004854f0
mov eax, dword [esp + 0x88]
add esp, 0x20
cmp eax, ebp
je 0x4fb643
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x54]
lea edi, [eax + 4]
cmp esi, edi
jae 0x4fb630
mov ecx, dword [esi]
push 0x80
push ecx
lea ecx, [esp + 0x74]
call fcn.00414610
add esi, 4
cmp esi, edi
jb 0x4fb618
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
push edx
push eax
lea ecx, [esp + 0x70]
call fcn.00414610
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x98
ret