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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x268
mov eax, dword [0x59e074]
xor eax, esp
mov dword [esp + 0x264], eax
push esi
mov esi, dword [ecx + 4]
lea eax, [esp + 0x248]
push edi
mov edi, dword [ecx + 8]
push eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x80], ecx
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
push dword [eax]
call fcn.004c7980
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0xd4]
call fcn.004c7730
test al, al
je 0x4c8a85
movss xmm0, dword [esp + 0xe4]
mulss xmm0, dword [esp + 0xec]
movss xmm7, dword [esp + 0xe0]
mulss xmm7, dword [esp + 0xf0]
movss xmm2, dword [esp + 0xe8]
movss xmm6, dword [esp + 0xdc]
movss xmm1, dword [esp + 0xd4]
subss xmm7, xmm0
movaps xmm0, xmm2
mulss xmm2, dword [esp + 0xe0]
mulss xmm0, dword [esp + 0xe4]
movss dword [esp + 0x74], xmm7
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmm6
mulss xmm0, dword [esp + 0xf0]
movss xmm3, dword [esp + 0x5c]
mulss xmm6, dword [esp + 0xec]
subss xmm3, xmm0
movss xmm0, dword [esp + 0xd0]
mulss xmm0, xmm7
subss xmm6, xmm2
movaps xmm2, xmmword [esp + 0x100]
mulss xmm1, xmm3
movss dword [esp + 0x5c], xmm3
movss dword [esp + 0x60], xmm6
addss xmm1, xmm0
movss xmm0, dword [esp + 0xd8]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
movss dword [esp + 0x40], xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4c8610
xorps xmm1, xmm1
movss dword [esp + 0xf0], xmm0
xorps xmm2, xmm2
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0xe4], xmm1
xorps xmm5, xmm5
movups xmmword [esp + 0x140], xmm2
movss dword [esp + 0x3c], xmm0
xorps xmm7, xmm7
xorps xmm3, xmm3
xorps xmm6, xmm6
jmp 0x4c8765
movss xmm6, dword [0x57419c]
movaps xmm5, xmmword [esp + 0xd0]
movaps xmm3, xmmword [esp + 0xe0]
movaps xmm7, xmm5
divss xmm6, xmm1
movq xmm0, qword [esp + 0x110]
movaps xmm1, xmm5
movq qword [esp + 0x1e0], xmm0
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
shufps xmm1, xmm5, 0xff
movups xmmword [esp + 0x140], xmm0
mulss xmm0, xmm5
shufps xmm7, xmm5, 0xaa
movaps xmmword [esp + 0x1d0], xmm2
movaps xmm2, xmm1
mulss xmm2, xmm7
movaps xmm4, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x150], xmm4
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm5
mulss xmm2, xmm6
movss dword [esp + 0x1c], xmm2
movss dword [esp + 0xe4], xmm2
movaps xmm2, xmm5
shufps xmm2, xmm5, 0x55
mulss xmm1, xmm2
subss xmm0, xmm1
movups xmm1, xmmword [esp + 0x140]
mulss xmm1, xmm2
mulss xmm0, xmm6
movss dword [esp + 0x40], xmm0
movss dword [esp + 0xf0], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm7
subss xmm1, xmm0
mulss xmm1, xmm6
movups xmmword [esp + 0x140], xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xaa
movaps xmm0, xmm1
shufps xmm3, xmm3, 0xff
mulss xmm0, xmm2
mulss xmm1, xmm7
movss dword [esp + 0x3c], xmm0
movaps xmm0, xmm5
movss xmm4, dword [esp + 0x3c]
mulss xmm0, xmm3
mulss xmm7, xmm3
movaps xmm3, xmm6
mulss xmm3, dword [esp + 0x60]
subss xmm4, xmm0
movss dword [esp + 0x3c], xmm4
movaps xmm0, xmm4
movaps xmm4, xmmword [esp + 0x150]
mulss xmm5, xmm4
mulss xmm4, xmm2
movups xmm2, xmmword [esp + 0x140]
subss xmm5, xmm1
mulss xmm0, xmm6
subss xmm7, xmm4
movaps xmm1, xmm6
mulss xmm1, dword [esp + 0x5c]
mulss xmm5, xmm6
mulss xmm7, xmm6
mulss xmm6, dword [esp + 0x74]
movss dword [esp + 0x3c], xmm0
lea eax, [esp + 0x150]
movss dword [esp + 0x20], xmm6
push eax
lea ecx, [esp + 0x1a4]
movss dword [esp + 0x3c], xmm1
movss dword [esp + 0x14], xmm3
movups xmmword [esp + 0x184], xmm7
mov dword [esp + 0x16c], 0
movaps xmmword [esp + 0x174], xmm5
movss dword [esp + 0xd4], xmm6
movss dword [esp + 0xe0], xmm1
movss dword [esp + 0xec], xmm3
movss dword [esp + 0xd8], xmm7
movss dword [esp + 0xe4], xmm5
movss dword [esp + 0xf0], xmm0
movss dword [esp + 0xdc], xmm2
mov dword [esp + 0x154], 0
mov dword [esp + 0x164], esi
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x170], edi
mov dword [esp + 0x168], edi
call fcn.004c7730
test al, al
je 0x4c8afa
movaps xmm0, xmmword [esp + 0x100]
movss xmm2, dword [esp + 0x1a0]
movss xmm1, dword [esp + 0x38]
movss xmm4, dword [esp + 0x1a4]
movaps xmmword [esp + 0x220], xmm0
movq xmm0, qword [esp + 0x110]
movss xmm3, dword [esp + 0x1a8]
movq qword [esp + 0x230], xmm0
movss xmm0, dword [esp + 0x20]
mulss xmm0, xmm2
movaps xmm7, xmmword [esp + 0xe0]
mulss xmm1, xmm4
movaps xmm5, xmmword [esp + 0xd0]
shufps xmm5, xmmword [esp + 0xd0], 0x55
addss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
mulss xmm0, xmm3
movups xmmword [esp + 0x190], xmm5
addss xmm0, xmm1
movaps xmm1, xmm4
mulss xmm1, xmm7
movss dword [esp + 0x20], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm5
movaps xmm5, xmm7
shufps xmm5, xmm7, 0xff
shufps xmm7, xmmword [esp + 0xe0], 0x55
addss xmm1, xmm0
mulss xmm4, xmm7
movaps xmm0, xmm3
mulss xmm3, dword [esp + 0xf0]
mulss xmm0, xmm5
movups xmmword [esp + 0x150], xmm5
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1b0]
movss dword [esp + 0x1c], xmm0
movups xmmword [esp + 0x180], xmm1
movaps xmm1, xmmword [esp + 0xd0]
movaps xmm6, xmm1
movaps xmm5, xmm1
shufps xmm6, xmm1, 0xaa
mulss xmm2, xmm6
shufps xmm5, xmm1, 0xff
addss xmm2, xmm4
addss xmm2, xmm3
movss xmm3, dword [esp + 0x1ac]
movups xmmword [esp + 0x140], xmm2
movaps xmm2, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
mulss xmm2, xmm5
addss xmm2, xmm0
movss dword [esp + 0x38], xmm2
movss xmm2, dword [esp + 0x1b4]
movss xmm1, dword [esp + 0x38]
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0xe8]
addss xmm1, xmm0
movaps xmm0, xmmword [esp + 0xe0]
movss dword [esp + 0x38], xmm1
movss xmm1, dword [esp + 0x1c]
mulss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0x190]
mulss xmm3, xmm6
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x150]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm7
addss xmm0, xmm3
movss dword [esp + 0x170], xmm1
movaps xmm3, xmmword [esp + 0xf0]
mulss xmm2, xmm3
addss xmm0, xmm2
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x1bc]
movaps xmm1, xmm0
movss dword [esp + 0x40], xmm0
mulss xmm1, xmm5
movss xmm2, dword [esp + 0x1b8]
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0xd0]
addss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm1, dword [esp + 0x1c0]
movss xmm4, dword [esp + 0x10]
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0xe8]
addss xmm4, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x190]
mulss xmm2, xmm6
movss dword [esp + 0x10], xmm4
movss xmm4, dword [esp + 0x40]
movaps xmm5, xmm4
mulss xmm4, xmm7
mulss xmm5, dword [esp + 0xe0]
addss xmm4, xmm2
addss xmm5, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x150]
mulss xmm1, xmm3
addss xmm5, xmm0
addss xmm4, xmm1
jmp 0x4c8b06
movss xmm1, dword [esp + 0xe4]
movss xmm0, dword [esp + 0xe8]
movss xmm2, dword [esp + 0xd8]
movss xmm4, dword [esp + 0xf0]
movss xmm5, dword [esp + 0xec]
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [esp + 0xdc]
movss dword [esp + 0x38], xmm1
movss xmm1, dword [esp + 0xd4]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0xe0]
movups xmmword [esp + 0x180], xmm1
movss xmm1, dword [esp + 0xd0]
movups xmmword [esp + 0x140], xmm2
jmp 0x4c8b14
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x20]
movaps xmm0, xmmword [esp + 0x170]
movss xmm2, dword [0x574314]
movss xmm3, dword [0x574198]
mulss xmm1, xmm2
mov ecx, dword [esp + 0x7c]
mulss xmm0, xmm2
addss xmm1, xmm3
mulss xmm5, xmm2
mov esi, dword [ecx + 8]
addss xmm0, xmm3
mov edi, dword [ecx + 0x18]
mulss xmm4, xmm2
dec esi
mov dword [esp + 0x94], esi
addss xmm5, xmm3
mov dword [esp + 0x40], edi
cvttss2si eax, xmm1
movups xmm1, xmmword [esp + 0x180]
mov dword [esp + 0x9c], eax
addss xmm4, xmm3
mulss xmm1, xmm2
addss xmm1, xmm3
cvttss2si eax, xmm1
movups xmm1, xmmword [esp + 0x140]
mov dword [esp + 0xb8], eax
mulss xmm1, xmm2
addss xmm1, xmm3
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0x38]
mov dword [esp + 0x12c], eax
mulss xmm1, xmm2
addss xmm1, xmm3
cvttss2si eax, xmm1
mov dword [esp + 0xa0], eax
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm2
mov dword [esp + 0xb4], eax
addss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x10]
mulss xmm0, xmm2
mov dword [esp + 0x120], eax
addss xmm0, xmm3
cvttss2si eax, xmm0
mov dword [esp + 0x98], eax
cvttss2si eax, xmm5
mov dword [esp + 0xc0], eax
cvttss2si eax, xmm4
mov dword [esp + 0x130], eax
mov eax, dword [ecx + 4]
dec eax
mov dword [esp + 0x90], eax
shl eax, 2
mov dword [esp + 0x8c], eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x8c]
imul ecx, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
push ecx
push 0
push edi
mov dword [esp + 0x78], eax
call fcn.0050c400
mov eax, dword [esp + 0x260]
add esp, 0xc
cmp dword [esp + 0x24c], eax
mov ecx, eax
mov esi, dword [esp + 0x25c]
mov eax, esi
cmovl ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x264]
cmp ecx, esi
cmovl eax, ecx
cmp eax, edx
jge 0x4c8c7c
cmp ecx, esi
mov eax, esi
cmovl eax, ecx
jmp 0x4c8c7e
mov eax, edx
test eax, eax
jns 0x4c8c86
xor edx, edx
jmp 0x4c8c98
cmp ecx, esi
mov eax, esi
cmovl eax, ecx
cmp eax, edx
jge 0x4c8c98
cmp ecx, esi
mov edx, esi
cmovl edx, ecx
mov edi, dword [esp + 0x258]
mov eax, edi
cmp dword [esp + 0x250], edi
mov ecx, dword [esp + 0x260]
cmovl eax, dword [esp + 0x250]
mov dword [esp + 0x10], eax
mov eax, ecx
cmp dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
cmovl eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x268]
jge 0x4c8ce2
cmp dword [esp + 0x10], ecx
mov edx, ecx
cmovl edx, dword [esp + 0x10]
mov eax, edx
jmp 0x4c8ce9
mov eax, dword [esp + 0x268]
test eax, eax
jns 0x4c8cf7
mov dword [esp + 0x20], 0
jmp 0x4c8d27
cmp dword [esp + 0x10], ecx
mov eax, ecx
cmovl eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x268]
jge 0x4c8d1c
cmp dword [esp + 0x10], ecx
mov edx, ecx
cmovl edx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
jmp 0x4c8d27
mov eax, dword [esp + 0x268]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x254]
cmp dword [esp + 0x24c], eax
cmovg eax, dword [esp + 0x24c]
mov dword [esp + 0x10], eax
mov eax, esi
cmp dword [esp + 0x10], esi
cmovg eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x264]
jle 0x4c8d66
cmp dword [esp + 0x10], esi
mov edx, esi
cmovg edx, dword [esp + 0x10]
mov dword [esp + 0x58], edx
jmp 0x4c8d71
mov eax, dword [esp + 0x264]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x58]
jge 0x4c8d86
mov esi, eax
mov dword [esp + 0x78], eax
jmp 0x4c8db0
cmp dword [esp + 0x10], esi
mov eax, esi
cmovg eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x264]
jle 0x4c8da5
cmp dword [esp + 0x10], esi
cmovg esi, dword [esp + 0x10]
jmp 0x4c8dac
mov esi, dword [esp + 0x264]
mov dword [esp + 0x78], esi
cmp dword [esp + 0x250], edi
mov eax, ecx
cmovg edi, dword [esp + 0x250]
cmp edi, ecx
cmovg eax, edi
cmp eax, dword [esp + 0x268]
jle 0x4c8dd8
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
jmp 0x4c8ddf
mov eax, dword [esp + 0x268]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x94]
cmp eax, dword [esp + 0x58]
jge 0x4c8df4
mov ecx, eax
jmp 0x4c8e12
cmp edi, ecx
mov eax, ecx
cmovg eax, edi
cmp eax, dword [esp + 0x268]
jle 0x4c8e0b
cmp edi, ecx
cmovg ecx, edi
jmp 0x4c8e12
mov ecx, dword [esp + 0x268]
mov edi, dword [esp + 0x20]
mov eax, edi
imul eax, dword [esp + 0x8c]
add dword [esp + 0x40], eax
cmp edi, ecx
jge 0x4c9263
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xc0]
imul edx, edi
imul eax, edi
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0xb4]
imul edx, edi
sub ecx, edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x1c]
cmp edx, esi
jge 0x4c9226
mov ecx, dword [esp + 0x98]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
movss xmm4, dword [0x57419c]
imul ecx, edx
imul esi, edx
imul edi, edx
add ecx, eax
mov eax, edx
imul eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
add esi, dword [esp + 0x58]
add edx, 2
add edi, dword [esp + 0x5c]
add ecx, dword [esp + 0x130]
add esi, dword [esp + 0x120]
add edx, eax
mov eax, dword [esp + 0x78]
add edi, dword [esp + 0x12c]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0xb0], eax
nop
movd xmm0, ecx
movaps xmm1, xmm4
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x80], 0
movd xmm3, edi
divss xmm1, xmm0
movd xmm2, esi
cvtdq2ps xmm3, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm3, xmm1
mulss xmm2, xmm1
movss dword [esp + 0x244], xmm3
movss dword [esp + 0x248], xmm2
fld dword [esp + 0x244]
fistp dword [esp + 0x70]
fld dword [esp + 0x248]
fistp dword [esp + 0x80]
mov eax, dword [esp + 0x70]
test eax, eax
js 0x4c91e1
cmp eax, dword [esp + 0x90]
jge 0x4c91e1
mov eax, dword [esp + 0x80]
test eax, eax
js 0x4c91e1
cmp eax, dword [esp + 0x94]
jge 0x4c91e1
movd xmm0, dword [esp + 0x70]
mov edx, eax
mov ecx, dword [esp + 0x7c]
movaps xmm1, xmm4
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x248], 0
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x244], ecx
movss xmm5, dword [0x574314]
subss xmm3, xmm0
movss xmm6, dword [0x574198]
movd xmm0, dword [esp + 0x80]
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x20], 0
imul edx, ecx
mov ecx, dword [esp + 0x6c]
subss xmm2, xmm0
imul eax, ecx
movaps xmm0, xmm2
subss xmm1, xmm2
mulss xmm0, xmm3
add edx, eax
mov eax, dword [esp + 0x7c]
mulss xmm0, xmm5
add edx, dword [eax + 0x14]
mov dword [esp + 0x10], edx
addss xmm0, xmm6
lea eax, [edx + ecx]
add edx, dword [esp + 0x244]
mov dword [esp + 0x38], eax
mov eax, ecx
add eax, edx
mov dword [esp + 0x3c], eax
movss dword [esp + 0x244], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, xmm6
movss dword [esp + 0x134], xmm0
movaps xmm0, xmm4
subss xmm0, xmm3
mulss xmm2, xmm0
mulss xmm0, xmm1
mulss xmm2, xmm5
mulss xmm0, xmm5
addss xmm2, xmm6
addss xmm0, xmm6
movss dword [esp + 0x138], xmm2
movss dword [esp + 0x13c], xmm0
fld dword [esp + 0x244]
fistp dword [esp + 0x248]
fld dword [esp + 0x134]
fistp dword [esp + 0x68]
fld dword [esp + 0x138]
fistp dword [esp + 0x64]
fld dword [esp + 0x13c]
fistp dword [esp + 0x20]
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax]
imul ecx, dword [esp + 0x20]
movzx eax, byte [edx]
inc edx
imul eax, dword [esp + 0x64]
mov dword [esp + 0x244], edx
add ecx, eax
mov eax, dword [esp + 0x3c]
inc dword [esp + 0x3c]
movzx eax, byte [eax]
imul eax, dword [esp + 0x248]
add ecx, eax
mov eax, dword [esp + 0x38]
inc dword [esp + 0x38]
movzx eax, byte [eax]
imul eax, dword [esp + 0x68]
add ecx, eax
mov eax, dword [esp + 0x88]
sar ecx, 0x10
mov byte [eax - 2], cl
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
movzx ecx, byte [eax]
mov eax, dword [esp + 0x3c]
imul ecx, dword [esp + 0x20]
movzx eax, byte [eax]
imul eax, dword [esp + 0x248]
inc dword [esp + 0x3c]
inc dword [esp + 0x244]
add ecx, eax
movzx eax, byte [edx]
imul eax, dword [esp + 0x64]
mov edx, dword [esp + 0x88]
add ecx, eax
mov eax, dword [esp + 0x38]
inc dword [esp + 0x38]
movzx eax, byte [eax]
imul eax, dword [esp + 0x68]
add ecx, eax
mov eax, dword [esp + 0x10]
inc eax
sar ecx, 0x10
mov byte [edx - 1], cl
mov dword [esp + 0x10], eax
movzx ecx, byte [eax]
mov eax, dword [esp + 0x3c]
imul ecx, dword [esp + 0x20]
movzx eax, byte [eax]
imul eax, dword [esp + 0x248]
add ecx, eax
mov eax, dword [esp + 0x244]
movzx eax, byte [eax]
imul eax, dword [esp + 0x64]
add ecx, eax
mov eax, dword [esp + 0x38]
movzx eax, byte [eax]
imul eax, dword [esp + 0x68]
add ecx, eax
sar ecx, 0x10
cmp dword [esp + 0x6c], 4
mov byte [edx], cl
jne 0x4c91da
mov eax, dword [esp + 0x10]
movzx ecx, byte [eax + 1]
mov eax, dword [esp + 0x244]
imul ecx, dword [esp + 0x20]
movzx eax, byte [eax + 1]
imul eax, dword [esp + 0x64]
add ecx, eax
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + 1]
imul eax, dword [esp + 0x68]
add ecx, eax
mov eax, dword [esp + 0x3c]
movzx eax, byte [eax + 1]
imul eax, dword [esp + 0x248]
add ecx, eax
sar ecx, 0x10
mov byte [edx + 1], cl
mov ecx, dword [esp + 0x84]
add ecx, dword [esp + 0x98]
add edx, dword [esp + 0x6c]
add edi, dword [esp + 0x9c]
add esi, dword [esp + 0xa0]
sub dword [esp + 0xb0], 1
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
jne 0x4c8ee0
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x8c]
add dword [esp + 0x40], edx
mov edx, dword [esp + 0xb4]
add dword [esp + 0x58], edx
add edi, dword [esp + 0xb8]
add eax, dword [esp + 0xc0]
sub ecx, 1
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x60], ecx
jne 0x4c8e64
mov ecx, dword [esp + 0x26c]
pop edi
pop esi
xor ecx, esp
call fcn.00509af6
mov esp, ebp
pop ebp
ret 4