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

Disassembly:
sub esp, 0x28
imul eax, dword [esp + 0x2c], 0xcc
push ebx
add eax, edx
mov dword [esp + 0xc], edx
push ebp
mov ebp, ecx
mov dword [esp + 0x2c], eax
push edi
mov ebx, dword [eax + 0xc8]
mov edi, dword [eax + 0xcc]
test byte [ebp + 0x10], 8
mov dword [esp + 0x2c], ebx
jne 0x1004fdeb
mov ecx, dword [ebp]
mov edx, ebx
push esi
call fcn.1002e7c0
mov ecx, dword [ebp + 4]
mov edx, ebx
lea esi, [edi + eax]
mov dword [esp + 0x1c], esi
call fcn.1002e7c0
mov ecx, dword [esp + 0x3c]
mov ebx, eax
mov dword [esp + 0x24], ebx
test ecx, ecx
jne 0x1004faf2
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x78], cl
je 0x1004fb05
cmp byte [eax + 0x7a], cl
jne 0x1004fb23
mov dword [esp + 0x28], 0
xor eax, eax
mov dword [ebp + 0xc], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
cmp ecx, 1
jne 0x1004fbfe
mov ecx, dword [esp + 0x18]
mov edi, dword [ebp]
add edi, dword [ebp + 4]
mov dword [esp + 0x14], eax
mov al, byte [ecx + 0x9bc]
mov esi, dword [ecx + 0x19c]
add ecx, 0x1a0
mov byte [esp + 0x13], al
test esi, esi
je 0x1004fb52
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x9b8]
neg eax
mov dword [esp + 0x2c], eax
mov edx, edi
sub edx, dword [ecx + 0xc]
cmp edx, eax
jl 0x1004fb52
mov ebx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
add eax, dword [ebx + 0x9b8]
mov ebx, dword [esp + 0x24]
cmp edi, eax
jle 0x1004fb30
mov eax, dword [esp + 0x2c]
add ecx, 0x20
sub esi, 1
jne 0x1004fac2
jmp 0x1004fb52
cmp ecx, 1
jne 0x1004fa68
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x79], 0
jne 0x1004fb19
or dword [ebp + 0x10], 8
mov dword [ebp + 8], esi
pop esi
pop edi
mov dword [ebp + 0xc], ebx
pop ebp
pop ebx
add esp, 0x28
ret 8
cmp byte [eax + 0x7b], 0
je 0x1004fa68
mov dword [esp + 0x28], 1
jmp 0x1004fa70
cmp byte [esp + 0x13], 0
jne 0x1004fb43
mov eax, dword [esp + 0x18]
cmp edx, dword [eax + 0x9b4]
jg 0x1004fb52
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x18]
xor edi, edi
mov esi, dword [edx + 0x3a0]
lea ecx, [edx + 0x384]
mov eax, esi
shl eax, 5
add ecx, eax
test esi, esi
je 0x1004fba1
mov edi, dword [edx + 0x9b8]
neg edi
mov edx, dword [ecx + 8]
sub edx, dword [ebp]
cmp edx, edi
jl 0x1004fb9f
mov ebx, dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
sub eax, dword [ebx + 0x9b8]
mov ebx, dword [esp + 0x24]
cmp dword [ebp], eax
jge 0x1004fbc8
sub ecx, 0x20
sub esi, 1
jne 0x1004fb77
xor edi, edi
mov eax, dword [esp + 0x14]
sub eax, 1
je 0x1004fbed
sub eax, 1
je 0x1004fd64
sub eax, 1
jne 0x1004fbfa
mov edx, dword [esp + 0x20]
mov eax, edx
sub eax, edi
mov dword [ebp + 0xc], eax
jmp 0x1004fd68
cmp byte [esp + 0x13], 0
jne 0x1004fbdd
mov eax, dword [esp + 0x18]
xor edi, edi
cmp edx, dword [eax + 0x9b4]
jge 0x1004fba1
mov eax, dword [esp + 0x14]
mov edi, dword [ecx + 0x10]
or eax, 2
mov dword [esp + 0x14], eax
jmp 0x1004fba5
mov edx, dword [esp + 0x20]
mov edi, edx
sub edi, ebx
jmp 0x1004fd68
mov ecx, dword [esp + 0x3c]
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x1004fc4c
test byte [edi + 0x10], 8
jne 0x1004fc1b
push dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.1004f9f0
mov eax, dword [edi + 4]
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x30]
sar ecx, 1
add ecx, dword [ebp]
sar eax, 1
add eax, dword [edi]
sar esi, 1
sub ecx, eax
add esi, dword [edi + 8]
mov edi, ebx
sar edi, 1
call fcn.1002e7c0
sub esi, edi
lea ecx, [esi + eax]
mov dword [esp + 0x1c], ecx
jmp 0x1004fc54
mov ecx, dword [esp + 0x1c]
mov edi, ebx
sar edi, 1
mov eax, dword [esp + 0x40]
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], ebx
cmp byte [eax + 0x7c], 0
je 0x1004fd36
cmp ebx, 0x40
jg 0x1004fcd9
cmp ebx, 0x20
jl 0x1004fc85
add ecx, edi
mov ebx, 0x40
and ecx, 0xffffffc0
mov dword [esp + 0x1c], ecx
jmp 0x1004fd36
lea eax, [ecx + 0x20]
and eax, 0xffffffc0
mov dword [esp + 0x40], eax
test ebx, ebx
jle 0x1004fcd1
mov edx, dword [esp + 0x1c]
lea edi, [ebx + ecx]
mov esi, eax
lea eax, [edi + 0x20]
and eax, 0xffffffc0
sub esi, ecx
sub eax, ebx
mov ecx, eax
sub ecx, edx
sub edx, eax
test ecx, ecx
cmovns edx, ecx
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sub eax, dword [esp + 0x40]
test esi, esi
cmovns eax, esi
cmp eax, edx
cmovg ecx, edi
add ecx, 0x20
and ecx, 0xffffffc0
mov dword [esp + 0x1c], ecx
jmp 0x1004fd36
mov ecx, eax
mov dword [esp + 0x1c], ecx
jmp 0x1004fd36
mov esi, dword [esp + 0x34]
mov eax, ebx
mov edx, ebx
mov esi, dword [esi + 0xc]
sub eax, esi
jns 0x1004fcec
mov eax, esi
sub eax, ebx
cmp eax, 0x28
jge 0x1004fd01
mov edx, esi
cmp edx, 0x30
jge 0x1004fd01
xor ebx, ebx
mov ebx, 0x36
jmp 0x1004fd36
mov ebx, edx
cmp ebx, 0xc0
jae 0x1004fd30
mov eax, ebx
and ebx, 0xffffffc0
and eax, 0x3f
cmp eax, 0xa
jae 0x1004fd1c
add ebx, eax
jmp 0x1004fd36
cmp eax, 0x20
jae 0x1004fd26
add ebx, 0xa
jmp 0x1004fd36
cmp eax, 0x36
jae 0x1004fd18
add ebx, 0x36
jmp 0x1004fd36
lea ebx, [edx + 0x20]
and ebx, 0xffffffc0
lea esi, [ecx + 0x20]
mov dword [ebp + 0xc], ebx
add esi, ebx
lea edi, [ecx + 0x20]
and esi, 0xffffffc0
and edi, 0xffffffc0
sub esi, ebx
mov eax, esi
sub eax, ecx
cdq
mov ecx, eax
mov eax, edi
sub eax, dword [esp + 0x1c]
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
cmovg edi, esi
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x28], 0
mov dword [ebp + 8], edi
je 0x1004fde6
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x40
jge 0x1004fd81
mov ecx, 0x40
jmp 0x1004fd87
add ecx, 0x20
and ecx, 0xffffffc0
mov eax, dword [esp + 0x14]
sub eax, 1
je 0x1004fdde
sub eax, 1
je 0x1004fde3
sub eax, 1
je 0x1004fde6
mov edx, ecx
sar edx, 1
lea eax, [edx + edi]
test cl, 0x40
je 0x1004fdc2
and eax, 0xffffffc0
mov dword [ebp + 0xc], ecx
add eax, 0x20
pop esi
sub eax, edx
or dword [ebp + 0x10], 8
pop edi
mov dword [ebp + 8], eax
pop ebp
pop ebx
add esp, 0x28
ret 8
add eax, 0x20
mov dword [ebp + 0xc], ecx
and eax, 0xffffffc0
pop esi
sub eax, edx
or dword [ebp + 0x10], 8
pop edi
mov dword [ebp + 8], eax
pop ebp
pop ebx
add esp, 0x28
ret 8
sub edx, ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ecx
or dword [ebp + 0x10], 8
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x28
ret 8