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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xa0
mov edi, dword [ebp + 8]
test edi, edi
je 0x63c240
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
mov esi, dword [eax + 0x3c]
mov edx, dword [eax + 0x38]
movups xmmword [eax + 0x1f0], xmm0
pxor xmm0, xmm0
movups xmmword [eax + 0x200], xmm0
mov eax, esi
or eax, edx
je 0x63be8b
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 8]
mov dword [esp + 0x8c], 0
mov eax, dword [eax + 0x60]
mov ebx, eax
imul esi, eax
sar ebx, 0x1f
mov ecx, ebx
imul ecx, edx
mul edx
add ecx, esi
add edx, ecx
mov ecx, edx
sar ecx, 0x1f
mov ebx, ecx
mov esi, ecx
mov dword [esp + 0x80], ecx
and ebx, 0x3ff
sar esi, 0x1f
mov dword [esp + 0x88], ebx
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x84], esi
add ecx, eax
adc ebx, edx
shrd ecx, ebx, 0xa
sar ebx, 0xa
cmp byte [0x901ea4], 0
mov dword [edi + 0x1f0], ecx
mov dword [edi + 0x1f4], ebx
je 0x63c250
mov dword [esp + 8], 0xf4240
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.007121f8
mov dword [esp + 0x7c], 0
mov esi, eax
mov dword [edi + 0x1f8], eax
add esi, 0x32
mov dword [edi + 0x1fc], edx
mov edi, edx
adc edi, 0
mov dword [esp + 0x84], edx
mov ecx, esi
mov ebx, edi
mov dword [esp + 0x80], eax
mov eax, esi
and ecx, 0xfffff
sar ebx, 0x1f
mov dword [esp + 0x74], 0
mov edx, ebx
and ebx, 0xffffffe8
mov dword [esp + 8], 0x186a0
and edx, 0x21
mov dword [esp + 0x88], edx
mov edx, edi
shrd eax, edx, 0x14
mov edx, dword [esp + 0x88]
and eax, 0xfffff
add eax, ecx
mov ecx, edi
shr ecx, 8
and ecx, 0xfffff
add ecx, eax
mov eax, edi
shr eax, 0x1c
add ecx, eax
mov eax, 0x51eb851f
add ecx, edx
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
sub ecx, eax
add ecx, ebx
mov ebx, ecx
sar ebx, 0x1f
sub esi, ecx
sbb edi, ebx
imul edx, esi, 0x8f5c28f5
mov eax, esi
imul ecx, edi, 0xc28f5c29
mov edi, 0xc28f5c29
add ecx, edx
mul edi
add edx, ecx
mov ecx, edx
sar ecx, 0x1f
mov edi, ecx
and edi, 3
mov dword [esp + 0x78], edi
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x7c]
mov ebx, eax
mov esi, edx
shrd ebx, edx, 2
sar esi, 2
mov edi, esi
mov esi, ebx
mov ebx, edi
mov ecx, esi
sar ebx, 0x1f
and ecx, 0xfffffff
mov edx, ebx
mov dword [esp + 0x88], ebx
mov ebx, edi
and edx, 3
mov eax, edx
mov edx, ecx
mov ecx, esi
shrd ecx, ebx, 0x1c
mov ebx, esi
mov esi, edi
and ecx, 0xfffffff
add ecx, edx
mov edx, edi
mov edi, 0xcccccccd
shr edx, 0x18
add ecx, edx
add ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
sub ecx, edx
mov edx, dword [esp + 0x88]
and edx, 0xfffffffc
add ecx, edx
mov edx, ecx
sar ecx, 0x1f
sub ebx, edx
mov dword [esp + 0x88], edx
sbb esi, ecx
mov dword [esp + 0x8c], ecx
imul edx, ebx, 0xcccccccc
mov eax, ebx
imul ecx, esi, 0xcccccccd
add ecx, edx
mul edi
mov edi, edx
mov esi, eax
add edi, ecx
mov ecx, edi
sar ecx, 0x1f
mov ebx, ecx
xor eax, ecx
sar ebx, 0x1f
sub eax, ecx
mov edx, eax
and edx, 1
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
xor eax, ecx
xor edx, ebx
sub eax, ecx
sbb edx, ebx
mov ebx, 5
lea ecx, [edx + edx*4]
mul ebx
add edx, ecx
mov ecx, edx
mov edx, eax
add edx, dword [esp + 0x88]
adc ecx, dword [esp + 0x8c]
mov dword [esp + 0x7c], ecx
mov ecx, edi
shr ecx, 0x1f
mov dword [esp + 0x78], edx
xor edx, edx
mov eax, ecx
add eax, esi
adc edx, edi
mov ebx, eax
mov eax, dword [esp + 0x80]
shrd ebx, edx, 1
mov esi, edx
mov edx, dword [esp + 0x84]
sar esi, 1
add eax, 0xc350
mov dword [esp + 0x70], ebx
adc edx, 0
mov dword [esp + 0x74], esi
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.007121f8
movd xmm0, dword [esp + 0x70]
movd xmm3, dword [esp + 0x78]
mov dword [esp + 0x6c], 0
mov esi, eax
mov edi, edx
mov eax, edx
mov ebx, edi
mov ecx, esi
mov edx, esi
sar eax, 0x1f
shrd ecx, ebx, 0x1c
and edx, 0xfffffff
mov dword [esp + 0x88], eax
and eax, 3
and ecx, 0xfffffff
mov ebx, 5
punpckldq xmm0, xmm3
add ecx, edx
mov edx, edi
shr edx, 0x18
add ecx, edx
add ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, dword [esp + 0x88]
sub ecx, edx
and eax, 0xfffffffc
add ecx, eax
mov eax, ecx
mov dword [esp + 0x88], ecx
cdq
sub esi, ecx
mov eax, 0xcccccccd
sbb edi, edx
mov dword [esp + 0x8c], edx
imul edx, esi, 0xcccccccc
imul ecx, edi, 0xcccccccd
add ecx, edx
mul esi
mov edi, edx
mov esi, eax
add edi, ecx
mov ecx, edi
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
and eax, 1
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
xor eax, ecx
sub eax, ecx
mov ecx, edi
mul ebx
add eax, dword [esp + 0x88]
shr ecx, 0x1f
xor ebx, ebx
add ecx, esi
movd xmm2, eax
mov eax, dword [ebp + 8]
adc ebx, edi
shrd ecx, ebx, 1
movd xmm1, ecx
punpckldq xmm1, xmm2
punpcklqdq xmm0, xmm1
movups xmmword [eax + 0x200], xmm0
mov eax, dword [ebp + 8]
pxor xmm0, xmm0
movups xmmword [eax + 0x100], xmm0
cmp byte [eax + 0xd0], 0
pxor xmm0, xmm0
movups xmmword [eax + 0x110], xmm0
je 0x63c240
mov esi, dword [eax + 0xf4]
mov edx, dword [eax + 0xf0]
mov eax, esi
or eax, edx
je 0x63c240
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 8]
mov dword [esp + 0x4c], 0
mov eax, dword [eax + 0x60]
mov ebx, eax
imul esi, eax
sar ebx, 0x1f
mov ecx, ebx
imul ecx, edx
mul edx
add ecx, esi
add edx, ecx
mov ecx, edx
sar ecx, 0x1f
mov ebx, ecx
mov esi, ecx
mov dword [esp + 0x88], ecx
and ebx, 0x3ff
sar esi, 0x1f
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x8c], esi
add ecx, eax
adc ebx, edx
shrd ecx, ebx, 0xa
sar ebx, 0xa
cmp byte [0x901ea4], 0
mov dword [edi + 0x100], ecx
mov dword [edi + 0x104], ebx
je 0x63c4d0
mov dword [esp + 8], 0xf4240
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.007121f8
mov dword [esp + 0x44], 0
mov esi, eax
mov dword [edi + 0x108], eax
add esi, 0x32
mov dword [edi + 0x10c], edx
mov edi, edx
adc edi, 0
mov dword [esp + 0x84], edx
mov ecx, esi
mov ebx, edi
mov dword [esp + 0x80], eax
mov eax, esi
and ecx, 0xfffff
sar ebx, 0x1f
mov dword [esp + 0x3c], 0
mov edx, ebx
and ebx, 0xffffffe8
mov dword [esp + 8], 0x186a0
and edx, 0x21
mov dword [esp + 0x88], edx
mov edx, edi
shrd eax, edx, 0x14
mov edx, dword [esp + 0x88]
and eax, 0xfffff
add eax, ecx
mov ecx, edi
shr ecx, 8
and ecx, 0xfffff
add ecx, eax
mov eax, edi
shr eax, 0x1c
add ecx, eax
mov eax, 0x51eb851f
add ecx, edx
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
sub ecx, eax
lea eax, [ecx + ebx]
mov ecx, esi
mov ebx, edi
cdq
sub ecx, eax
sbb ebx, edx
imul eax, ecx, 0x8f5c28f5
imul esi, ebx, 0xc28f5c29
add esi, eax
mov eax, 0xc28f5c29
mul ecx
mov ebx, edx
mov ecx, eax
add ebx, esi
mov edi, ebx
sar edi, 0x1f
and edi, 3
mov dword [esp + 0x40], edi
add ecx, dword [esp + 0x40]
adc ebx, dword [esp + 0x44]
shrd ecx, ebx, 2
sar ebx, 2
mov edi, ebx
sar ebx, 0x1f
mov esi, ecx
and ecx, 0xfffffff
mov edx, ebx
mov dword [esp + 0x88], ebx
mov ebx, edi
and edx, 3
mov eax, edx
mov edx, ecx
mov ecx, esi
shrd ecx, ebx, 0x1c
mov ebx, esi
mov esi, edi
and ecx, 0xfffffff
add ecx, edx
mov edx, edi
mov edi, 0xcccccccd
shr edx, 0x18
add ecx, edx
add ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
sub ecx, edx
mov edx, dword [esp + 0x88]
and edx, 0xfffffffc
add ecx, edx
mov edx, ecx
sar ecx, 0x1f
sub ebx, edx
mov dword [esp + 0x88], edx
sbb esi, ecx
mov dword [esp + 0x8c], ecx
imul edx, ebx, 0xcccccccc
mov eax, ebx
imul ecx, esi, 0xcccccccd
add ecx, edx
mul edi
mov edi, edx
mov esi, eax
add edi, ecx
mov ebx, edi
sar ebx, 0x1f
mov ecx, ebx
sar ebx, 0x1f
xor eax, ecx
sub eax, ecx
mov edx, eax
and edx, 1
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
xor eax, ecx
xor edx, ebx
sub eax, ecx
sbb edx, ebx
mov ebx, 5
lea ecx, [edx + edx*4]
mul ebx
add edx, ecx
mov ecx, edx
mov edx, eax
add edx, dword [esp + 0x88]
adc ecx, dword [esp + 0x8c]
mov dword [esp + 0x7c], ecx
mov ecx, edi
shr ecx, 0x1f
mov dword [esp + 0x78], edx
xor edx, edx
mov eax, ecx
add eax, esi
adc edx, edi
mov ebx, eax
mov eax, dword [esp + 0x80]
shrd ebx, edx, 1
mov esi, edx
mov edx, dword [esp + 0x84]
sar esi, 1
add eax, 0xc350
mov dword [esp + 0x70], ebx
adc edx, 0
mov dword [esp + 0x74], esi
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.007121f8
movd xmm0, dword [esp + 0x70]
movd xmm6, dword [esp + 0x78]
mov dword [esp + 0x34], 0
mov esi, eax
mov edi, edx
mov eax, edx
mov ebx, edi
mov ecx, esi
mov edx, esi
sar eax, 0x1f
shrd ecx, ebx, 0x1c
and edx, 0xfffffff
mov dword [esp + 0x88], eax
and eax, 3
and ecx, 0xfffffff
mov ebx, 5
punpckldq xmm0, xmm6
add ecx, edx
mov edx, edi
shr edx, 0x18
add ecx, edx
add ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, dword [esp + 0x88]
sub ecx, edx
and eax, 0xfffffffc
add ecx, eax
mov eax, ecx
mov dword [esp + 0x88], ecx
cdq
sub esi, ecx
mov eax, 0xcccccccd
sbb edi, edx
mov dword [esp + 0x8c], edx
imul edx, esi, 0xcccccccc
imul ecx, edi, 0xcccccccd
add ecx, edx
mul esi
mov edi, edx
mov esi, eax
add edi, ecx
mov eax, edi
sar eax, 0x1f
mov ecx, eax
mov eax, esi
xor eax, ecx
sub eax, ecx
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
xor eax, ecx
sub eax, ecx
mov ecx, edi
mul ebx
add eax, dword [esp + 0x88]
shr ecx, 0x1f
xor ebx, ebx
add ecx, esi
movd xmm5, eax
mov eax, dword [ebp + 8]
adc ebx, edi
shrd ecx, ebx, 1
movd xmm1, ecx
punpckldq xmm1, xmm5
punpcklqdq xmm0, xmm1
movups xmmword [eax + 0x110], xmm0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x80]
mov dword [esp + 0x64], 0
mov dword [esp + 0x5c], 0
and edi, 0xfffff
mov dword [esp + 0x60], edi
add eax, dword [esp + 0x60]
adc edx, dword [esp + 0x64]
mov edi, dword [ebp + 8]
shrd eax, edx, 0x14
sar edx, 0x14
movd xmm0, eax
movd xmm4, edx
mov dword [edi + 0x1fc], edx
punpckldq xmm0, xmm4
mov dword [edi + 0x1f8], eax
movq qword [esp + 0x98], xmm0
fild qword [esp + 0x98]
fld qword [0x805d90]
fnstcw word [esp + 0x96]
fadd st(1)
fdiv qword [0x805d98]
movzx eax, word [esp + 0x96]
or ah, 0xc
mov word [esp + 0x94], ax
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
mov edi, esi
mov ecx, esi
mov esi, ebx
mov edx, ebx
shrd esi, edi, 0x1c
and edx, 0xfffffff
sar ecx, 0x1f
and esi, 0xfffffff
mov eax, ecx
and ecx, 0xfffffffc
add esi, edx
mov edx, dword [esp + 0x8c]
and eax, 3
shr edx, 0x18
add esi, edx
lea ebx, [esi + eax]
mov eax, 0xcccccccd
mul ebx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, dword [esp + 0x88]
sub ebx, edx
mov edx, dword [esp + 0x8c]
add ebx, ecx
mov edi, ebx
mov dword [esp + 0x88], ebx
sar edi, 0x1f
sub eax, ebx
mov ebx, 5
sbb edx, edi
mov dword [esp + 0x8c], edi
mov edi, 0xcccccccd
imul ecx, edx, 0xcccccccd
imul edx, eax, 0xcccccccc
add ecx, edx
mul edi
mov edi, edx
mov esi, eax
add edi, ecx
mov ecx, edi
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
and eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
xor eax, ecx
sub eax, ecx
mov ecx, edi
mul ebx
add eax, dword [esp + 0x88]
shr ecx, 0x1f
xor ebx, ebx
add ecx, esi
adc ebx, edi
mov edi, dword [ebp + 8]
shrd ecx, ebx, 1
mov dword [edi + 0x200], ecx
fadd qword [0x805da0]
fdiv qword [0x805da8]
mov dword [edi + 0x204], eax
mov dword [esp + 0x54], 0
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov edx, ecx
shrd ecx, ebx, 0x1c
mov esi, ebx
mov ebx, 5
and edx, 0xfffffff
and ecx, 0xfffffff
sar esi, 0x1f
add ecx, edx
mov edx, dword [esp + 0x8c]
mov eax, esi
and esi, 0xfffffffc
and eax, 3
shr edx, 0x18
add ecx, edx
add ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
sub ecx, edx
add ecx, esi
mov esi, dword [esp + 0x88]
mov eax, ecx
mov dword [esp + 0x88], ecx
cdq
sub esi, ecx
mov eax, 0xcccccccd
sbb edi, edx
mov dword [esp + 0x8c], edx
imul edx, esi, 0xcccccccc
imul ecx, edi, 0xcccccccd
add ecx, edx
mul esi
mov edi, edx
mov esi, eax
add edi, ecx
mov ecx, edi
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
mov edx, eax
and edx, 1
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x50]
xor eax, ecx
sub eax, ecx
mov ecx, edi
mul ebx
add eax, dword [esp + 0x88]
shr ecx, 0x1f
xor ebx, ebx
add ecx, esi
adc ebx, edi
mov edi, dword [ebp + 8]
shrd ecx, ebx, 1
mov dword [edi + 0x208], ecx
mov dword [edi + 0x20c], eax
jmp 0x63be8b
mov edi, dword [esp + 0x88]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 0
and edi, 0xfffff
mov dword [esp + 0x28], edi
add eax, dword [esp + 0x28]
adc edx, dword [esp + 0x2c]
mov edi, dword [ebp + 8]
shrd eax, edx, 0x14
sar edx, 0x14
movd xmm0, eax
movd xmm7, edx
mov dword [edi + 0x10c], edx
punpckldq xmm0, xmm7
mov dword [edi + 0x108], eax
movq qword [esp + 0x98], xmm0
fild qword [esp + 0x98]
fld qword [0x805d90]
fnstcw word [esp + 0x96]
fadd st(1)
fdiv qword [0x805d98]
movzx eax, word [esp + 0x96]
or ah, 0xc
mov word [esp + 0x94], ax
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
mov edi, esi
mov ecx, esi
mov esi, ebx
mov edx, ebx
shrd esi, edi, 0x1c
and edx, 0xfffffff
sar ecx, 0x1f
and esi, 0xfffffff
mov eax, ecx
and ecx, 0xfffffffc
add esi, edx
mov edx, dword [esp + 0x8c]
and eax, 3
shr edx, 0x18
add esi, edx
lea ebx, [esi + eax]
mov eax, 0xcccccccd
mul ebx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
mov eax, dword [esp + 0x88]
sub ebx, edx
mov edx, dword [esp + 0x8c]
add ebx, ecx
mov edi, ebx
mov dword [esp + 0x88], ebx
sar edi, 0x1f
sub eax, ebx
mov ebx, 5
sbb edx, edi
mov dword [esp + 0x8c], edi
mov edi, 0xcccccccd
imul ecx, edx, 0xcccccccd
imul edx, eax, 0xcccccccc
add ecx, edx
mul edi
mov edi, edx
mov esi, eax
add edi, ecx
mov eax, edi
sar eax, 0x1f
mov ecx, eax
mov eax, esi
xor eax, ecx
sub eax, ecx
and eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, ecx
sub eax, ecx
mov ecx, edi
mul ebx
add eax, dword [esp + 0x88]
shr ecx, 0x1f
xor ebx, ebx
add ecx, esi
adc ebx, edi
mov edi, dword [ebp + 8]
shrd ecx, ebx, 1
mov dword [edi + 0x110], ecx
fadd qword [0x805da0]
fdiv qword [0x805da8]
mov dword [edi + 0x114], eax
mov dword [esp + 0x1c], 0
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
mov edx, ecx
shrd ecx, ebx, 0x1c
mov esi, ebx
mov ebx, 5
and edx, 0xfffffff
and ecx, 0xfffffff
sar esi, 0x1f
add ecx, edx
mov edx, dword [esp + 0x8c]
mov eax, esi
and esi, 0xfffffffc
and eax, 3
shr edx, 0x18
add ecx, edx
add ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, edx
and edx, 0xfffffffc
shr eax, 2
add edx, eax
sub ecx, edx
add ecx, esi
mov esi, dword [esp + 0x88]
mov eax, ecx
mov dword [esp + 0x88], ecx
cdq
sub esi, ecx
mov eax, 0xcccccccd
sbb edi, edx
mov dword [esp + 0x8c], edx
imul edx, esi, 0xcccccccc
imul ecx, edi, 0xcccccccd
add ecx, edx
mul esi
mov edi, edx
mov esi, eax
add edi, ecx
mov eax, edi
sar eax, 0x1f
mov ecx, eax
mov eax, esi
xor eax, ecx
sub eax, ecx
mov edx, eax
and edx, 1
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
xor eax, ecx
sub eax, ecx
mov ecx, edi
mul ebx
add eax, dword [esp + 0x88]
shr ecx, 0x1f
xor ebx, ebx
add ecx, esi
adc ebx, edi
mov edi, dword [ebp + 8]
shrd ecx, ebx, 1
mov dword [edi + 0x118], ecx
mov dword [edi + 0x11c], eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret