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

Disassembly:
test dword [0x7eeab0], 0xffffff80
jne 0x4ffbd8
test dword [0x7eeab0], 0xffffffff
jne 0x4fff5c
call fcn.006a7b4c
jmp fcn.004ffbb0
push edi
push esi
push ebp
push ebx
sub esp, 0x14
mov esi, ecx
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x4ffbfc
mov eax, 1
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov dword [esi + 0xc], ebp
mov dword [esi + 0x1b], edi
xor eax, eax
xor edx, edx
mov ecx, dword [edx + 0x7bd26c]
test ecx, ecx
je 0x4ffc2f
movzx ecx, byte [ecx + 0x10]
test cl, 2
jne 0x4ffc2f
add edx, 0x94
inc eax
cmp eax, 0x400
jl 0x4ffc06
mov edx, 0
cmove eax, edx
movsx ebx, ax
mov word [esi + 0x21], bx
imul eax, ebx, 0x94
lea ebx, [eax + 0x7bd1e0]
mov dword [ebx + 0x8c], esi
xor edx, edx
mov word [esi + 0x1f], dx
and byte [esi + 0x10], 0xfd
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4ffc60
push 1
call fcn.004ff26c
push 1
push 4
mov ecx, 0x700b18
call fcn.004e579c
mov dword [esi + 8], eax
mov eax, dword [esp + 0x30]
push eax
push edi
push ebx
mov ecx, ebp
call fcn.0054cb88
cmp eax, 1
je 0x4ffc8c
movsx edx, word [ebx + 8]
test edx, edx
jl 0x4ffc9b
mov eax, 1
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
movsx eax, word [ebx + 0xa]
cmp eax, 0x10
jne 0x4ffc8c
neg edx
movsx edi, dx
cmp edi, dword [ebx + 0x84]
jle 0x4ffcd2
mov ecx, dword [ebx + 0x80]
call fcn.004db4f8
mov ecx, edi
shl ecx, 7
call fcn.004dbe28
mov dword [ebx + 0x80], eax
mov dword [ebx + 0x84], edi
mov ecx, dword [0x7e22e0]
test ecx, ecx
je 0x4ffcec
movsx edx, word [0x7e22e4]
cmp edi, edx
jle 0x4ffd03
call fcn.004db4f8
lea ecx, [edi + edi]
call fcn.004dbe28
mov ecx, eax
mov dword [0x7e22e0], ecx
mov word [0x7e22e4], di
mov edx, dword [ebx + 0x80]
mov eax, dword [ebx]
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [ebx + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [ebx + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [ebx + 0x20]
mov dword [edx + 0x20], eax
mov eax, dword [ebx + 0x24]
mov dword [edx + 0x24], eax
mov eax, dword [ebx + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [ebx + 0x2c]
mov dword [edx + 0x2c], eax
mov eax, dword [ebx + 0x30]
mov dword [edx + 0x30], eax
mov eax, dword [ebx + 0x34]
mov dword [edx + 0x34], eax
mov eax, dword [ebx + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [ebx + 0x3c]
mov dword [edx + 0x3c], eax
mov eax, dword [ebx + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [ebx + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [ebx + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [ebx + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [ebx + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [ebx + 0x54]
mov dword [edx + 0x54], eax
mov eax, dword [ebx + 0x58]
mov dword [edx + 0x58], eax
mov eax, dword [ebx + 0x5c]
mov dword [edx + 0x5c], eax
mov eax, dword [ebx + 0x60]
mov dword [edx + 0x60], eax
mov eax, dword [ebx + 0x64]
mov dword [edx + 0x64], eax
mov eax, dword [ebx + 0x68]
mov dword [edx + 0x68], eax
mov eax, dword [ebx + 0x6c]
mov dword [edx + 0x6c], eax
mov eax, dword [ebx + 0x70]
mov dword [edx + 0x70], eax
mov eax, dword [ebx + 0x74]
mov dword [edx + 0x74], eax
mov eax, dword [ebx + 0x78]
mov dword [edx + 0x78], eax
mov eax, dword [ebx + 0x7c]
mov dword [edx + 0x7c], eax
lea eax, [edx + 0x80]
mov dword [esp + 8], eax
mov dword [ebx + 0x88], eax
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 4], eax
movzx edx, word [edx + 0xa]
shl edx, 0x10
add edx, 0xfff00000
shr edx, 0x10
mov word [ecx], dx
cmp edi, 1
jle 0x4fff44
mov edx, 1
mov ecx, dword [esp + 8]
lea ecx, [ecx + 0x10]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
mov dword [esp], esi
mov ebp, edx
mov esi, edx
mov ebx, ecx
mov edx, eax
mov edi, dword [esp + 8]
jmp 0x4ffe31
add ebx, 0x80
add edi, 0x80
mov eax, dword [esp + 0x30]
push eax
push edx
push edi
mov ecx, dword [esp + 0x34]
call fcn.0054cb88
cmp eax, 1
je 0x4ffbed
mov edx, dword [edi + 0xc]
mov ecx, dword [0x7e22e0]
movzx eax, word [edi + 0xa]
shl eax, 0x10
add eax, 0xfff00000
shr eax, 0x10
mov word [ecx + ebp*2], ax
inc ebp
movsx eax, word [edi + 8]
movsx ecx, si
cmp eax, ecx
jne 0x4ffbed
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x88]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebx + 0x24]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebx + 0x28]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebx + 0x2c]
mov dword [eax + 0x2c], ecx
mov ecx, dword [ebx + 0x30]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebx + 0x34]
mov dword [eax + 0x34], ecx
mov ecx, dword [ebx + 0x38]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebx + 0x3c]
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebx + 0x40]
mov dword [eax + 0x40], ecx
mov ecx, dword [ebx + 0x44]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebx + 0x48]
mov dword [eax + 0x48], ecx
mov ecx, dword [ebx + 0x4c]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebx + 0x54]
mov dword [eax + 0x54], ecx
mov ecx, dword [ebx + 0x58]
mov dword [eax + 0x58], ecx
mov ecx, dword [ebx + 0x5c]
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebx + 0x60]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebx + 0x64]
mov dword [eax + 0x64], ecx
mov ecx, dword [ebx + 0x68]
mov dword [eax + 0x68], ecx
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 0x6c], ecx
mov eax, dword [esp + 0x10]
add dword [eax + 0x88], 0x70
inc esi
movsx ecx, si
mov eax, dword [esp + 0xc]
cmp eax, ecx
jg 0x4ffe25
mov esi, dword [esp]
or byte [esi + 0x10], 2
mov ecx, esi
call fcn.005002dc
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
push edi
push esi
push ebp
push ebx
sub esp, 0x14
mov ebp, ecx
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x4fff80
mov eax, 1
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x1b], esi
xor eax, eax
xor edx, edx
mov ecx, dword [edx + 0x7bd26c]
test ecx, ecx
je 0x4fffb2
movzx ecx, byte [ecx + 0x10]
test cl, 2
jne 0x4fffb2
add edx, 0x94
inc eax
cmp eax, 0x400
jl 0x4fff8a
jne 0x4fffb2
mov eax, 0
movsx edi, ax
mov word [ebp + 0x21], di
imul eax, edi, 0x94
lea edi, [eax + 0x7bd1e0]
mov dword [edi + 0x8c], ebp
xor edx, edx
mov word [ebp + 0x1f], dx
and byte [ebp + 0x10], 0xfd
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4fffe3
push 1
call fcn.004ff26c
push 1
push 4
mov ecx, 0x700b18
call fcn.004e579c
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x30]
push eax
push esi
push edi
mov ecx, ebx
call fcn.0054cb88
cmp eax, 1
je 0x50000f
movsx edx, word [edi + 8]
test edx, edx
jl 0x50001e
mov eax, 1
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret 0xc
movsx eax, word [edi + 0xa]
cmp eax, 0x10
jne 0x50000f
neg edx
movsx esi, dx
cmp esi, dword [edi + 0x84]
jle 0x500055
mov ecx, dword [edi + 0x80]
call fcn.004db4f8
mov ecx, esi
shl ecx, 7
call fcn.004dbe28
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], esi
mov ecx, dword [0x7e22e0]
test ecx, ecx
je 0x50006f
movsx edx, word [0x7e22e4]
cmp esi, edx
jle 0x500086
call fcn.004db4f8
lea ecx, [esi + esi]
call fcn.004dbe28
mov ecx, eax
mov dword [0x7e22e0], ecx
mov word [0x7e22e4], si
mov edx, dword [edi + 0x80]
mov eax, dword [edi]
mov dword [edx], eax
mov eax, dword [edi + 4]
mov dword [edx + 4], eax
mov eax, dword [edi + 8]
mov dword [edx + 8], eax
mov eax, dword [edi + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [edi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [edi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [edi + 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [edi + 0x20]
mov dword [edx + 0x20], eax
mov eax, dword [edi + 0x24]
mov dword [edx + 0x24], eax
mov eax, dword [edi + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [edx + 0x2c], eax
mov eax, dword [edi + 0x30]
mov dword [edx + 0x30], eax
mov eax, dword [edi + 0x34]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x38]
mov dword [edx + 0x38], eax
mov eax, dword [edi + 0x3c]
mov dword [edx + 0x3c], eax
mov eax, dword [edi + 0x40]
mov dword [edx + 0x40], eax
mov eax, dword [edi + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [edi + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [edi + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [edi + 0x50]
mov dword [edx + 0x50], eax
mov eax, dword [edi + 0x54]
mov dword [edx + 0x54], eax
mov eax, dword [edi + 0x58]
mov dword [edx + 0x58], eax
mov eax, dword [edi + 0x5c]
mov dword [edx + 0x5c], eax
mov eax, dword [edi + 0x60]
mov dword [edx + 0x60], eax
mov eax, dword [edi + 0x64]
mov dword [edx + 0x64], eax
mov eax, dword [edi + 0x68]
mov dword [edx + 0x68], eax
mov eax, dword [edi + 0x6c]
mov dword [edx + 0x6c], eax
mov eax, dword [edi + 0x70]
mov dword [edx + 0x70], eax
mov eax, dword [edi + 0x74]
mov dword [edx + 0x74], eax
mov eax, dword [edi + 0x78]
mov dword [edx + 0x78], eax
mov eax, dword [edi + 0x7c]
mov dword [edx + 0x7c], eax
lea eax, [edx + 0x80]
mov dword [esp + 8], eax
mov dword [edi + 0x88], eax
mov eax, dword [edx + 4]
mov dword [ebp + 4], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 4], eax
movzx edx, word [edx + 0xa]
shl edx, 0x10
add edx, 0xfff00000
shr edx, 0x10
mov word [ecx], dx
cmp esi, 1
jle 0x5002c7
mov edx, 1
mov ecx, dword [esp + 8]
lea ecx, [ecx + 0x10]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp], ebp
mov ebp, edx
mov esi, edx
mov ebx, ecx
mov edx, eax
mov edi, dword [esp + 8]
jmp 0x5001b4
add ebx, 0x80
add edi, 0x80
mov eax, dword [esp + 0x30]
push eax
push edx
push edi
mov ecx, dword [esp + 0x34]
call fcn.0054cb88
cmp eax, 1
je 0x4fff71
mov edx, dword [edi + 0xc]
movzx eax, word [edi + 0xa]
shl eax, 0x10
add eax, 0xfff00000
shr eax, 0x10
mov ecx, dword [0x7e22e0]
mov word [ecx + ebp*2], ax
inc ebp
movsx eax, word [edi + 8]
movsx ecx, si
cmp eax, ecx
jne 0x4fff71
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x88]
mov ecx, dword [ebx]
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebx + 0x14]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebx + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
mov dword [eax + 0x20], ecx
mov ecx, dword [ebx + 0x24]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebx + 0x28]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebx + 0x2c]
mov dword [eax + 0x2c], ecx
mov ecx, dword [ebx + 0x30]
mov dword [eax + 0x30], ecx
mov ecx, dword [ebx + 0x34]
mov dword [eax + 0x34], ecx
mov ecx, dword [ebx + 0x38]
mov dword [eax + 0x38], ecx
mov ecx, dword [ebx + 0x3c]
mov dword [eax + 0x3c], ecx
mov ecx, dword [ebx + 0x40]
mov dword [eax + 0x40], ecx
mov ecx, dword [ebx + 0x44]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebx + 0x48]
mov dword [eax + 0x48], ecx
mov ecx, dword [ebx + 0x4c]
mov dword [eax + 0x4c], ecx
mov ecx, dword [ebx + 0x50]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebx + 0x54]
mov dword [eax + 0x54], ecx
mov ecx, dword [ebx + 0x58]
mov dword [eax + 0x58], ecx
mov ecx, dword [ebx + 0x5c]
mov dword [eax + 0x5c], ecx
mov ecx, dword [ebx + 0x60]
mov dword [eax + 0x60], ecx
mov ecx, dword [ebx + 0x64]
mov dword [eax + 0x64], ecx
mov ecx, dword [ebx + 0x68]
mov dword [eax + 0x68], ecx
mov ecx, dword [ebx + 0x6c]
mov dword [eax + 0x6c], ecx
mov eax, dword [esp + 0x10]
add dword [eax + 0x88], 0x70
inc esi
movsx ecx, si
mov eax, dword [esp + 0xc]
cmp eax, ecx
jg 0x5001a8
mov ebp, dword [esp]
or byte [ebp + 0x10], 2
mov ecx, ebp
call fcn.005002dc
add esp, 0x14
pop ebx
pop ebp
pop esi
pop edi
ret 0xc