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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x318
mov edi, dword [ebp + 0x10]
mov ebx, dword [edi + 0x28]
cmp ebx, 5
mov eax, ebx
jb 0x1008ab7f
mov eax, dword [edi + 4]
test eax, eax
je 0x1008ce5c
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x28]
cmp esi, 5
mov eax, esi
jb 0x1008ab97
mov eax, dword [edx + 4]
test eax, eax
je 0x1008abd3
cmp ebx, 5
jb 0x1008adc3
cmp dword [edi + 4], 1
jne 0x1008aded
mov eax, dword [edi + 8]
mov ecx, dword [eax]
xor ecx, 1
or ecx, dword [eax + 4]
je 0x1008add9
cmp esi, 4
jbe 0x1008afcb
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x1008afce
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 2
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.100830d0
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ecx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esp + 0x38]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x1008ac73
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x1008ac9b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x1008ac9b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x1008ac92
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x1008ac60
dec edx
mov dword [edi], edx
jmp 0x1008ac60
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xc0], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0xd0], xmm0
mov dword [esp + 0x10], 4
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x18]
mov dword [esp + 0x14], 0
movsd qword [esp + 0xa8], xmm2
mov dword [esp + 0x18], 2
movsd qword [esp + 0xb0], xmm1
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.100830d0
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ecx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
nop word cs:[eax + eax]
nop dword [eax]
mov edx, dword [esp + 0x38]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x1008ad93
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x1008ba7b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x1008ba7b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x1008adba
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x1008ad80
dec edx
mov dword [edi], edx
jmp 0x1008ad80
cmp ebx, 1
jne 0x1008aded
lea eax, [edi + 8]
mov ecx, dword [eax]
xor ecx, 1
or ecx, dword [eax + 4]
jne 0x1008abbf
cmp esi, 4
jbe 0x1008b053
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x1008b056
cmp esi, 4
jbe 0x1008ae1d
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [esp + 4], eax
mov eax, ecx
cmp ebx, 4
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
ja 0x1008ae33
lea ecx, [edi + 8]
mov esi, ebx
mov dword [esp + 0x48], ecx
cmp eax, esi
jb 0x1008ae45
jmp 0x1008af79
lea eax, [edx + 8]
mov dword [esp + 4], eax
mov eax, esi
cmp ebx, 4
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
jbe 0x1008ae0b
mov esi, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x48], ecx
cmp eax, esi
jae 0x1008af79
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 2
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.100830d0
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea edx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, dword [esp + 0x38]
mov ecx, edx
cmp ebx, 5
mov edi, ebx
jb 0x1008aee3
mov edi, dword [esp + 0x14]
mov ecx, esi
test edi, edi
je 0x1008af0b
mov eax, dword [ecx + edi*8 - 8]
or eax, dword [ecx + edi*8 - 4]
jne 0x1008af0b
cmp ebx, 5
lea ecx, [esp + 0x38]
jb 0x1008af02
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
test ebx, ebx
je 0x1008aed0
dec ebx
mov dword [ecx], ebx
jmp 0x1008aed0
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
mov eax, dword [esp + 8]
movsd xmm0, qword [esp + 0x38]
mov edx, dword [ebp + 0xc]
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xc0], xmm2
movsd xmm2, qword [esp + 0x10]
cmp eax, 4
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm1
jbe 0x1008af9a
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x1008af9d
jbe 0x1008b193
mov edx, dword [esp + 0xc]
mov edi, dword [ebp + 0x10]
cmp edx, 4
jbe 0x1008b835
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
jmp 0x1008b838
add edx, 8
mov esi, dword [ebp + 8]
lea eax, [edx + eax*8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
push eax
call fcn.10082f20
add esp, 4
movsd xmm0, qword [esp + 0x38]
jmp 0x1008ba84
add edx, 8
lea eax, [edx + esi*8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
push eax
call fcn.10082f20
add esp, 4
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
cmp ebx, 4
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
jbe 0x1008b1f1
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
jmp 0x1008b1f4
add edx, 8
lea eax, [edx + esi*8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
push eax
call fcn.10082f20
add esp, 4
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xc0], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0xd0], xmm0
mov dword [esp + 0x10], 4
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x18]
mov dword [esp + 0x14], 0
movsd qword [esp + 0xa8], xmm2
mov dword [esp + 0x18], 2
movsd qword [esp + 0xb0], xmm1
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.100830d0
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ecx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
nop
mov edx, dword [esp + 0x38]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x1008b163
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x1008ba7b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x1008ba7b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x1008b18a
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x1008b150
dec edx
mov dword [edi], edx
jmp 0x1008b150
shl eax, 3
shl esi, 3
nop dword [eax]
test eax, eax
je 0x1008b9a7
test esi, esi
je 0x1008b9a7
mov dword [esp], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov ebx, dword [eax + ecx - 8]
mov ecx, dword [esp]
mov ecx, dword [eax + ecx - 4]
mov eax, dword [esp + 0x48]
mov edi, dword [eax + esi - 8]
mov edx, dword [eax + esi - 4]
mov eax, ecx
cmp ebx, edi
sbb eax, edx
mov eax, dword [esp]
jb 0x1008ae45
add eax, 0xfffffff8
add esi, 0xfffffff8
cmp edi, ebx
sbb edx, ecx
jae 0x1008b1a0
jmp 0x1008af7f
add edi, 8
test ebx, ebx
je 0x1008cde7
cmp dword [esp + 0x90], 4
jbe 0x1008b70b
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x9c], ecx
test eax, eax
je 0x1008b727
mov edx, dword [edi]
mov esi, dword [edi + 4]
mov ecx, edx
or ecx, esi
je 0x1008cdfd
mov ecx, dword [esp + 0x9c]
xor ebx, ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], esi
lea eax, [ecx + eax*8]
xor ecx, ecx
jmp 0x1008b2a5
mov ecx, edx
mov ebx, dword [esp + 0x60]
mov eax, ecx
mov edi, ecx
mul ebx
mov dword [esp], eax
mov eax, dword [esp + 8]
mov esi, edx
mul ebx
mov ecx, eax
mov eax, edi
add ecx, esi
mov esi, dword [esp + 0x5c]
mul esi
mov edx, ebx
mov ebx, dword [esp + 0x4c]
add eax, ecx
mov ecx, dword [esp + 0x50]
sub ecx, dword [esp]
sbb ebx, eax
mov eax, dword [esp + 0xf4]
mov dword [eax], edi
mov edi, ebx
mov ebx, dword [esp + 8]
cmp dword [esp + 0x9c], eax
mov dword [eax + 4], ebx
mov ebx, edi
je 0x1008b701
mov edi, edx
mov edx, dword [eax - 4]
mov dword [esp], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 4], ebx
mov ecx, edi
or ecx, esi
sete byte [esp + 8]
mov ecx, edx
mov dword [esp + 0x4c], edx
mov edx, dword [eax - 8]
mov eax, dword [esp]
or ecx, ebx
mov ebx, esi
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x50], edx
or edx, eax
or edx, ecx
sete cl
bsr edx, esi
or cl, byte [esp + 8]
xor edx, 0x1f
mov byte [esp + 8], cl
bsr ecx, edi
mov edi, dword [esp + 4]
xor ecx, 0x1f
add ecx, 0x20
test esi, esi
cmovne ecx, edx
bsr edx, eax
bsr esi, edi
xor edx, 0x1f
add ecx, 0x40
mov eax, edi
xor esi, 0x1f
add edx, 0x20
test edi, edi
cmovne edx, esi
bsr esi, dword [esp + 0x50]
bsr edi, ebx
xor edi, 0x1f
xor esi, 0x1f
add esi, 0x20
test ebx, ebx
mov ebx, 0
cmovne esi, edi
mov edi, dword [esp]
add esi, 0x40
or edi, eax
mov edi, 0
mov eax, 0x7f
cmovne esi, edx
mov edx, 0
sub ecx, esi
mov esi, 0
sbb ebx, ebx
mov dword [esp + 0x44], ecx
sbb edi, edi
mov dword [esp + 0xc], ebx
sbb esi, esi
cmp eax, ecx
mov ecx, 0
mov eax, dword [esp + 0x48]
sbb edx, ebx
mov edx, 0
sbb edx, edi
mov edx, 0
sbb edx, esi
setb dl
add eax, 0xfffffff8
or dl, byte [esp + 8]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xf4], eax
cmovne edx, ecx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
cmovne edx, ecx
jne 0x1008b250
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xc]
mov ebx, esi
mov esi, eax
xor eax, 0x7f
or ecx, ebx
or eax, edi
or ecx, eax
mov ecx, edx
je 0x1008b252
mov eax, dword [esp + 0x50]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x234], eax
mov eax, dword [esp]
mov dword [esp + 0x238], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x23c], eax
mov dword [esp + 0x54], ebx
mov ebx, esi
mov eax, ebx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0x238]
mov esi, dword [esp + eax + 0x23c]
shld esi, edx, cl
shl edx, cl
not cl
mov dword [esp + 0xe4], esi
mov dword [esp + 0xa4], edx
mov esi, dword [esp + eax + 0x234]
mov edx, dword [esp + eax + 0x230]
mov dword [esp + 0x64], 0
mov eax, esi
shr eax, 1
shr eax, cl
mov cl, ch
shld esi, edx, cl
shl edx, cl
add ebx, 1
adc dword [esp + 0xc], 0
mov ecx, edx
adc edi, 0
mov edx, edi
mov edi, dword [esp + 0x54]
adc edi, 0
jae 0x1008b4a0
mov dword [esp + 4], 0
jmp 0x1008b6ea
or dword [esp + 0xa4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x204], eax
mov eax, dword [esp]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x21c], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x210], 0
mov dword [esp + 0x20c], eax
mov eax, ebx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0xe0], edx
mov ch, bl
shr al, 3
and ch, 7
and al, 0xf
mov cl, ch
movzx edi, al
mov eax, dword [esp + edi + 0x20c]
mov dword [esp], eax
mov edx, dword [esp + edi + 0x208]
mov ebx, edx
add edx, edx
shrd ebx, eax, cl
mov eax, dword [esp + edi + 0x204]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov esi, dword [esp + 4]
mov eax, dword [esp + 4]
shr esi, cl
not cl
shl edx, cl
mov cl, ch
or edx, esi
mov esi, dword [esp + 8]
mov dword [esp + 0xdc], edx
mov edx, dword [esp]
mov edi, dword [esp + edi + 0x200]
mov dword [esp + 4], 0
shr edx, cl
shrd edi, eax, cl
mov ecx, dword [esp + 0xa0]
mov eax, 0
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x60]
add edi, 0xffffffff
mov dword [esp + 0x104], edi
mov edi, dword [esp + 0x5c]
adc edi, 0xffffffff
mov dword [esp + 0x100], edi
mov edi, 0
adc edi, 0xffffffff
adc eax, 0xffffffff
mov dword [esp + 0xfc], edi
mov dword [esp + 0xf8], eax
nop dword [eax + eax]
mov edi, dword [esp + 0xdc]
shld edx, ebx, 1
mov eax, dword [esp + 0xe4]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
shld ebx, edi, 1
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xec]
shld edi, ebx, 1
shld ebx, eax, 1
shld eax, edx, 1
shld edx, esi, 1
shld esi, ecx, 1
add ecx, ecx
or eax, dword [esp + 4]
or ecx, dword [esp + 0x64]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], 0
or edx, eax
or esi, eax
cmp dword [esp + 0x104], ebx
mov eax, dword [esp]
mov dword [esp + 0xa4], edx
mov dword [esp + 8], esi
sbb ecx, edi
mov ecx, dword [esp + 0xfc]
sbb ecx, dword [esp + 0x48]
mov ecx, dword [esp + 0xf8]
sbb ecx, eax
sar ecx, 0x1f
mov edx, ecx
mov esi, ecx
and ecx, dword [esp + 0x60]
and esi, dword [esp + 0x5c]
and edx, 1
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x54]
sub ebx, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xec], ebx
mov ebx, dword [esp + 0x48]
sbb edi, esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0xe0]
sbb ebx, 0
sbb eax, 0
add esi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp], eax
mov dword [esp + 0x44], esi
adc edi, 0xffffffff
mov dword [esp + 0xc], ecx
adc edx, 0xffffffff
or esi, edi
mov dword [esp + 0xe0], edi
or ecx, edx
mov dword [esp + 0x54], edx
mov edx, dword [esp]
or esi, ecx
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 8]
jne 0x1008b5d0
shld esi, ecx, 1
add ecx, ecx
or esi, dword [esp + 4]
or ecx, dword [esp + 0x64]
mov dword [esp + 8], esi
jmp 0x1008b252
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ecx
jmp 0x1008b737
lea eax, [esp + 0x90]
lea ecx, [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 0x9c], ecx
test eax, eax
jne 0x1008b223
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ecx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x1008b7a3
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x1008b7cb
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x1008b7cb
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x1008b7c2
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x1008b790
dec edx
mov dword [edi], edx
jmp 0x1008b790
mov esi, dword [ebp + 8]
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x38]
xor eax, eax
movsd qword [esi + 0x20], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esi + 0x18], xmm2
movsd xmm2, qword [esp + 0x10]
mov ecx, edx
movsd qword [esi + 0x28], xmm0
or ecx, edi
setne al
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esi], xmm2
movsd qword [esi + 8], xmm1
mov dword [esi + 0x30], 0
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
mov dword [esi + 0x58], eax
jmp 0x1008bb13
lea eax, [edi + 8]
test edx, edx
je 0x1008ceb5
mov ecx, dword [eax + edx*8 - 4]
bsr eax, dword [eax + edx*8 - 8]
mov edx, 0x3f
mov ebx, dword [ebp + 0xc]
cmovne edx, eax
bsr esi, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 2
xor edx, 0x1f
xor esi, 0x1f
add edx, 0x20
test ecx, ecx
cmove esi, edx
lea edx, [esp + 0x10]
lea ecx, [esp + 0x138]
push esi
call fcn.10091ec0
add esp, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 2
lea edx, [esp + 0x10]
lea ecx, [esp + 0x280]
push esi
call fcn.10091ec0
add esp, 4
mov ecx, dword [esp + 0x2a8]
cmp ecx, 4
jbe 0x1008b8c3
mov edx, ecx
mov ecx, dword [esp + 0x284]
mov eax, dword [esp + 0x288]
jmp 0x1008b8cc
lea eax, [esp + 0x288]
mov edx, ecx
test ecx, ecx
mov dword [esp + 0x19c], esi
je 0x1008cecb
mov esi, dword [esp + 0x160]
cmp esi, 5
jb 0x1008b8ee
mov esi, dword [esp + 0x13c]
cmp edx, 5
jb 0x1008b8fa
mov edx, dword [esp + 0x284]
mov edi, dword [eax + ecx*8 - 8]
mov eax, dword [eax + ecx*8 - 4]
mov ecx, edx
mov dword [esp + 0xd8], edx
mov dword [esp + 0x5c], eax
mov eax, esi
mov dword [esp + 0x60], edi
sub eax, edx
inc eax
cmp eax, 5
mov dword [esp + 0x58], eax
jb 0x1008b97b
xor ebx, ebx
cmp eax, 0x10000000
mov edx, eax
setb al
jae 0x1008ceed
mov bl, al
lea edi, [edx*8]
shl ebx, 3
test edi, edi
js 0x1008ceed
je 0x1008bb50
mov eax, dword [0x1044eff8]
mov eax, dword [eax]
test eax, eax
jne 0x1008b96d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1008cee1
mov ecx, dword [0x1044eff8]
mov dword [ecx], eax
push edi
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
jmp 0x1008bb52
test eax, eax
je 0x1008bb1d
lea eax, [eax*8]
push eax
push 0
lea eax, [esp + 0x18]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
jmp 0x1008bb1d
lea ecx, [esp + 0xa8]
call fcn.10087080
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 2
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.100830d0
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ecx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esp + 0x38]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x1008ba53
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x1008ba7b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x1008ba7b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x1008ba72
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x1008ba40
dec edx
mov dword [edi], edx
jmp 0x1008ba40
movsd xmm0, qword [esp + 0x38]
mov esi, dword [ebp + 8]
movsd xmm1, qword [esp + 0x30]
movsd qword [esi + 0x58], xmm0
movsd xmm2, qword [esp + 0x28]
movsd xmm3, qword [esp + 0x10]
movsd qword [esi + 0x50], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esi + 0x48], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esi + 0x40], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esi + 0x38], xmm1
movsd xmm1, qword [esp + 0xc8]
movsd qword [esi + 0x30], xmm3
movsd qword [esi + 0x28], xmm2
movsd xmm2, qword [esp + 0xc0]
movsd qword [esi + 0x20], xmm1
movsd xmm1, qword [esp + 0xb8]
movsd qword [esi + 0x18], xmm2
movsd xmm2, qword [esp + 0xa8]
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0xb0]
movsd qword [esi], xmm2
movsd qword [esi + 8], xmm1
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x24]
movsd xmm2, qword [esp + 0x14]
movsd xmm1, qword [esp + 0x1c]
mov dword [esp + 0x80], edx
xor edx, edx
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x70], xmm1
movsd qword [esp + 0x68], xmm2
jmp 0x1008bb5f
mov eax, ebx
test eax, eax
je 0x1008cee1
mov edx, 1
mov ebx, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x68]
mov dword [esp + 0x1a0], edx
movsd xmm1, qword [esp + 0x70]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1a8], eax
movsd qword [esp + 0x1ac], xmm0
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0x1b4], xmm1
mov dword [esp + 0x1c4], edi
test ebx, ebx
movsd qword [esp + 0x1bc], xmm0
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0xd8]
je 0x1008cb74
lea eax, [esi*8]
lea edi, [ecx*8]
sub ecx, esi
mov edx, eax
sub edx, edi
sub edi, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xe8], edx
lea edx, [esp + 0x68]
mov dword [esp + 0x98], edx
jmp 0x1008bc48
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0xf0]
mov ecx, dword [esp + 0xd8]
add dword [esp + 0xe8], 0xfffffff8
add edi, 8
mov eax, esi
inc ecx
test esi, esi
je 0x1008cb74
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x2a8]
mov esi, eax
cmp ecx, 5
jb 0x1008bc80
mov ecx, dword [esp + 0x284]
mov eax, dword [esp + 0x160]
cmp eax, 5
mov edx, eax
jae 0x1008bc8e
lea ecx, [esi + ecx - 2]
dec esi
cmp ecx, edx
jae 0x1008bc2b
jmp 0x1008bc9e
mov eax, dword [esp + 0x160]
cmp eax, 5
mov edx, eax
jb 0x1008bc72
mov edx, dword [esp + 0x13c]
lea ecx, [esi + ecx - 2]
dec esi
cmp ecx, edx
jae 0x1008bc2b
movsd xmm1, qword [esp + 0x2d0]
movsd xmm2, qword [esp + 0x2c8]
movsd xmm0, qword [esp + 0x2d8]
mov dword [esp + 0x58], esi
lea esi, [esp + 0x1f8]
movsd qword [esp + 0x1f0], xmm1
movsd xmm1, qword [esp + 0x2c0]
movsd qword [esp + 0x1e8], xmm2
movsd xmm2, qword [esp + 0x2b0]
movsd qword [esp + 0x1f8], xmm0
movsd qword [esp + 0x1e0], xmm1
movsd xmm1, qword [esp + 0x2b8]
movsd qword [esp + 0x1d0], xmm2
movsd qword [esp + 0x1d8], xmm1
mov edx, dword [esp + 0x1f8]
cmp edx, 5
jb 0x1008bd2f
mov edx, dword [esp + 0x1d4]
lea esi, [esp + 0x1d4]
test edx, edx
je 0x1008bd39
mov dword [esi], 0
cmp eax, 5
lea esi, [esp + 0x140]
jb 0x1008bd53
mov eax, dword [esp + 0x13c]
mov esi, dword [esp + 0x140]
cmp eax, ecx
jb 0x1008ce72
lea edx, [esi + ecx*8]
lea eax, [esi + eax*8]
lea ecx, [esp + 0x1d0]
push eax
call fcn.10082f20
add esp, 4
movsd xmm1, qword [esp + 0x1f0]
movsd xmm2, qword [esp + 0x1e8]
movsd xmm0, qword [esp + 0x1f8]
lea eax, [esp + 0x70]
mov dword [esp + 0xf0], edi
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x90]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x1e0]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x1d0]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x1d8]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
cmp dword [esp + 0x90], 5
jb 0x1008be06
mov eax, dword [esp + 0x70]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x6c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
test eax, eax
je 0x1008c2c0
or ecx, edx
je 0x1008cdce
mov ecx, dword [esp + 0x9c]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
xor edx, edx
xor esi, esi
lea ecx, [ecx + eax*8]
jmp 0x1008beb1
mov dword [esp + 0xc], 0
mov dword [esp + 0x44], 0
mov edx, dword [esp + 8]
mov eax, dword [esp]
shld eax, edx, 1
add edx, edx
or eax, dword [esp + 0xc]
or edx, dword [esp + 0x44]
mov dword [esp], eax
mov edi, dword [esp + 0x60]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x5c]
mov eax, edx
mov esi, edx
mul edi
imul ecx, edi
add ecx, edx
mov edx, esi
imul edx, ebx
add edx, ecx
sub dword [esp + 0x50], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xf4]
sbb eax, edx
mov edx, dword [esp]
cmp dword [esp + 0x9c], ecx
mov dword [ecx], esi
mov esi, eax
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x50]
je 0x1008c2c0
mov eax, dword [ecx - 8]
mov dword [esp], ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x50], eax
mov eax, dword [ecx - 4]
mov ecx, edi
or ecx, ebx
sete byte [esp + 4]
mov dword [esp + 0x4c], eax
or eax, esi
mov esi, dword [esp + 0x50]
or esi, edx
or esi, eax
sete al
bsr ecx, edi
bsr edx, ebx
or al, byte [esp + 4]
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
test ebx, ebx
mov ebx, dword [esp + 0x4c]
cmovne ecx, edx
bsr edx, dword [esp + 0xc]
add ecx, 0x40
mov byte [esp + 8], al
mov eax, dword [esp + 0x44]
xor edx, 0x1f
add edx, 0x20
bsr esi, eax
xor esi, 0x1f
test eax, eax
mov eax, dword [esp + 0x50]
cmovne edx, esi
bsr edi, ebx
xor edi, 0x1f
bsr esi, eax
xor esi, 0x1f
add esi, 0x20
test ebx, ebx
mov ebx, 0
cmovne esi, edi
mov edi, dword [esp + 0xc]
add esi, 0x40
or edi, dword [esp + 0x44]
mov edi, 0
cmovne esi, edx
mov edx, 0x7f
sub ecx, esi
mov esi, eax
mov eax, 0
sbb edi, edi
mov dword [esp + 4], ecx
sbb eax, eax
sbb ebx, ebx
cmp edx, ecx
mov edx, 0
mov ecx, dword [esp]
mov dword [esp + 0x48], eax
sbb edx, edi
mov edx, 0
sbb edx, eax
mov edx, 0
mov eax, 0
sbb edx, ebx
setb dl
add ecx, 0xfffffff8
or dl, byte [esp + 8]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xf4], ecx
cmovne edx, eax
mov dword [esp], edx
mov edx, esi
cmovne edx, eax
jne 0x1008be68
mov eax, dword [esp + 4]
mov ecx, edi
or ecx, ebx
xor eax, 0x7f
or eax, dword [esp + 0x48]
or ecx, eax
je 0x1008be68
mov dword [esp + 0x270], esi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x274], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x26c], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 4]
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0x278]
mov esi, dword [esp + eax + 0x27c]
shld esi, edx, cl
shl edx, cl
not cl
mov dword [esp + 0xa0], esi
mov dword [esp + 0x54], edx
mov edx, dword [esp + eax + 0x274]
mov esi, dword [esp + eax + 0x270]
mov eax, edx
shr eax, 1
shr eax, cl
mov cl, ch
shld edx, esi, cl
shl esi, cl
add dword [esp + 4], 1
mov dword [esp], edx
mov dword [esp + 8], esi
adc edi, 0
adc dword [esp + 0x48], 0
mov dword [esp + 0x64], edi
adc ebx, 0
mov dword [esp + 0xa4], ebx
jb 0x1008be40
or dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x25c], 0
mov dword [esp + 0x258], 0
mov dword [esp + 0x254], 0
mov dword [esp + 0x250], 0
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 4]
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
movzx eax, al
mov cl, ch
mov edx, dword [esp + eax + 0x248]
mov edi, dword [esp + eax + 0x24c]
mov esi, edx
add edx, edx
shrd esi, edi, cl
mov dword [esp + 0xe0], esi
mov ebx, dword [esp + eax + 0x244]
mov esi, ebx
shr esi, cl
not cl
shl edx, cl
mov cl, ch
or edx, esi
mov esi, dword [esp + 0x60]
shr edi, cl
mov dword [esp + 0xe4], edx
mov edx, dword [esp + eax + 0x240]
mov eax, edi
mov dword [esp + 0xc], 0
mov dword [esp + 0x44], 0
shrd edx, ebx, cl
add esi, 0xffffffff
mov dword [esp + 0xdc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x104], esi
mov esi, 0
adc edx, 0xffffffff
mov dword [esp + 0x100], edx
adc esi, 0xffffffff
mov edx, 0
adc edx, 0xffffffff
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], edx
nop word [eax + eax]
mov edx, dword [esp + 0xe0]
mov edi, dword [esp + 0xdc]
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xc], 0
shld eax, edx, 1
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xe4]
shld edx, eax, 1
shld eax, edi, 1
shld edi, esi, 1
shld esi, ecx, 1
or esi, ebx
mov dword [esp + 0xa0], esi
mov esi, dword [esp]
shld ecx, esi, 1
or ecx, ebx
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 8]
shld esi, ecx, 1
add ecx, ecx
or ecx, dword [esp + 0x44]
or esi, ebx
cmp dword [esp + 0x104], edi
mov ebx, dword [esp + 0xec]
mov dword [esp], esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x100]
sbb ecx, eax
mov ecx, dword [esp + 0xfc]
sbb ecx, edx
mov ecx, dword [esp + 0xf8]
sbb ecx, ebx
sar ecx, 0x1f
mov esi, ecx
and esi, 1
mov dword [esp + 0x44], esi
mov esi, ecx
and ecx, dword [esp + 0x60]
and esi, dword [esp + 0x5c]
sub edi, ecx
mov ecx, dword [esp + 0x64]
sbb eax, esi
mov esi, dword [esp + 4]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0xe4], eax
mov eax, ebx
mov ebx, dword [esp + 0x48]
sbb edx, 0
sbb eax, 0
mov dword [esp + 0xe0], edx
add esi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 4], esi
adc ebx, 0xffffffff
mov dword [esp + 0x64], ecx
adc edi, 0xffffffff
or esi, ebx
mov dword [esp + 0x48], ebx
or ecx, edi
mov dword [esp + 0xa4], edi
or esi, ecx
jne 0x1008c1a0
jmp 0x1008be50
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ebx, [esp + 0x38]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov eax, dword [esp + 0x18]
nop dword [eax]
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x18]
cmp ecx, 5
mov esi, ecx
jb 0x1008c335
mov esi, dword [esp + 0x14]
mov edx, eax
test esi, esi
je 0x1008c360
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x1008c360
cmp ecx, 5
mov edx, ebx
jb 0x1008c352
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x14]
test ecx, ecx
je 0x1008c320
dec ecx
mov dword [edx], ecx
jmp 0x1008c320
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
mov ecx, dword [esp + 0x2a8]
movsd xmm0, qword [esp + 0x38]
lea esi, [esp + 0x288]
movsd qword [esp + 0x128], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x120], xmm2
movsd xmm2, qword [esp + 0x10]
cmp ecx, 5
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x118], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x108], xmm2
movsd qword [esp + 0x110], xmm1
jb 0x1008c3db
mov ecx, dword [esp + 0x284]
mov esi, dword [esp + 0x288]
mov eax, dword [esp + 0x130]
lea edx, [esp + 0x110]
cmp eax, 5
jb 0x1008c3fc
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
push eax
push edx
push ecx
push esi
lea eax, [esp + 0x178]
push eax
call fcn.10091c10
add esp, 0x14
mov edi, dword [esp + 0x190]
lea eax, [esp + 0x170]
mov dword [esp + 0x48], eax
cmp edi, 5
jb 0x1008c460
mov edi, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x160]
lea eax, [esp + 0x140]
cmp esi, 5
jae 0x1008c473
mov ecx, esi
sub ecx, dword [esp + 0x58]
jae 0x1008c48d
jmp 0x1008ce55
mov esi, dword [esp + 0x160]
lea eax, [esp + 0x140]
cmp esi, 5
jb 0x1008c44c
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x140]
mov ecx, esi
sub ecx, dword [esp + 0x58]
jb 0x1008ce55
cmp edi, ecx
jb 0x1008c7a0
jbe 0x1008c730
lea ecx, [esp + 0x2e0]
call fcn.10087080
movsd xmm1, qword [esp + 0x128]
movsd xmm2, qword [esp + 0x120]
movsd xmm0, qword [esp + 0x130]
movsd xmm3, qword [esp + 0x108]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x118]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x308]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x68], xmm3
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x110]
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [esp + 0x2f8]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x300]
movsd qword [esp + 0x28], xmm2
movsd xmm2, qword [esp + 0x2e0]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x2f0]
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x2e8]
movsd qword [esp + 0x18], xmm1
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.10087680
add esp, 8
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x90]
cmp dword [esp + 0x38], 5
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0xc0], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm1
jb 0x1008c5f2
push dword [esp + 0x18]
push 0
mov eax, dword [0x1044eff8]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm1, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xb8]
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x110], xmm1
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x118], xmm2
movsd xmm2, qword [esp + 0xc8]
movsd qword [esp + 0x108], xmm0
movsd qword [esp + 0x120], xmm1
movsd xmm1, qword [esp + 0xd0]
movsd qword [esp + 0x128], xmm2
movsd xmm2, qword [esp + 0x190]
movsd qword [esp + 0x130], xmm1
movsd xmm1, qword [esp + 0x188]
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [esp + 0x180]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x28], xmm2
movsd xmm2, qword [esp + 0x168]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x18], xmm1
lea eax, [esp + 0x280]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.10087680
add esp, 8
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x180], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0x190], xmm0
movsd qword [esp + 0x178], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x168], xmm2
movsd qword [esp + 0x170], xmm1
jmp 0x1008c410
mov ecx, edi
mov edx, edi
mov edi, dword [esp + 0xe8]
lea edx, [eax + esi*8 - 8]
shl esi, 3
shl ecx, 3
sub edi, esi
mov dword [esp + 4], edi
nop dword [eax + eax]
test ecx, ecx
mov dword [esp], ecx
je 0x1008c7a0
cmp dword [esp + 4], 0
je 0x1008c7a0
mov eax, dword [esp]
mov ecx, dword [esp + 0x48]
mov esi, dword [edx + 4]
mov ebx, dword [ecx + eax - 8]
mov edi, dword [ecx + eax - 4]
mov ecx, dword [edx]
cmp ebx, ecx
mov eax, edi
sbb eax, esi
jb 0x1008c7a0
mov eax, dword [esp]
add dword [esp + 4], 8
add edx, 0xfffffff8
add eax, 0xfffffff8
cmp ecx, ebx
sbb esi, edi
mov ecx, eax
jae 0x1008c750
jmp 0x1008c49b
mov esi, dword [esp + 0x1c8]
lea ecx, [esp + 0x1a8]
cmp esi, 5
jb 0x1008c7c1
mov esi, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov eax, esi
lea ebx, [esp + 0x160]
sub eax, dword [esp + 0x58]
jb 0x1008ce83
mov edi, dword [esp + 0x130]
lea edx, [esp + 0x110]
cmp edi, 5
jb 0x1008c7f5
mov edi, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
cmp eax, edi
jb 0x1008ce9f
test edi, edi
je 0x1008c8d0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
xor ebx, ebx
xor esi, esi
mov dword [esp], 0
mov dword [esp + 0xc], edx
lea eax, [ecx + eax*8]
add ecx, dword [esp + 0xe8]
lea eax, [eax + edi*8]
xor edi, edi
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 8], ecx
nop dword [eax]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
add edi, dword [ecx + esi*8]
adc eax, dword [ecx + esi*8 + 4]
adc edx, 0
mov dword [esp + 4], edx
mov edx, dword [esp + 0xc]
adc ebx, 0
add edi, dword [edx + esi*8]
adc eax, dword [edx + esi*8 + 4]
mov dword [ecx + esi*8], edi
mov edi, dword [esp + 4]
mov dword [ecx + esi*8 + 4], eax
mov eax, ebx
adc edi, 0
lea esi, [esi + 1]
mov ebx, dword [esp]
adc eax, 0
cmp dword [esp + 0x48], esi
jne 0x1008c840
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x54]
cmp edi, 1
lea ebx, [esp + 0x160]
sbb eax, 0
jb 0x1008c8d0
mov eax, dword [esp + 0xf0]
shl edx, 3
lea eax, [eax + ecx*8]
sub eax, edx
nop dword [eax]
test eax, eax
je 0x1008c8d0
add eax, 0xfffffff8
add dword [esi], 1
adc dword [esi + 4], 0
lea esi, [esi + 8]
jb 0x1008c8b0
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + 0x160]
lea edi, [esp + 0x140]
cmp esi, 5
jb 0x1008c8f1
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x140]
mov edx, esi
sub edx, dword [esp + 0x58]
jb 0x1008ce8a
mov ecx, dword [esp + 0x190]
lea eax, [esp + 0x170]
mov dword [esp + 0x44], esi
cmp ecx, 5
jb 0x1008c922
mov ecx, dword [esp + 0x16c]
mov eax, dword [esp + 0x170]
cmp edx, ecx
mov dword [esp], eax
mov dword [esp + 8], ecx
cmovae edx, ecx
test edx, edx
mov eax, edx
mov dword [esp + 0xc], edx
je 0x1008ca32
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xc]
lea eax, [edi + eax*8]
add edi, dword [esp + 0xe8]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x48], edi
add ecx, eax
mov eax, dword [esp + 8]
mov dword [esp + 0x64], ecx
cmp eax, ecx
cmovb ecx, eax
xor eax, eax
xor edx, edx
xor esi, esi
xor ebx, ebx
mov dword [esp + 4], ecx
xor ecx, ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
add eax, dword [edi + ebx*8]
adc edx, dword [edi + ebx*8 + 4]
mov edi, dword [esp]
adc ecx, 0
adc esi, 0
sub eax, dword [edi + ebx*8]
sbb edx, dword [edi + ebx*8 + 4]
mov edi, dword [esp + 0x48]
mov dword [edi + ebx*8], eax
mov eax, ecx
mov dword [edi + ebx*8 + 4], edx
mov edx, esi
lea ebx, [ebx + 1]
sbb eax, 0
sbb edx, 0
mov ecx, edx
sar ecx, 0x1f
cmp dword [esp + 4], ebx
mov esi, ecx
jne 0x1008c990
cmp eax, 1
lea ebx, [esp + 0x160]
sbb edx, 0
mov edx, dword [esp + 0x54]
jb 0x1008ca32
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x44]
cmp edi, esi
lea eax, [eax + ecx*8]
cmovb esi, edi
shl esi, 3
sub eax, esi
nop
test eax, eax
je 0x1008ce16
add dword [edx], 0xffffffff
lea ecx, [edx + 8]
mov esi, 0
adc dword [edx + 4], 0xffffffff
mov edx, 0
adc edx, 0xffffffff
adc esi, 0xffffffff
add eax, 0xfffffff8
neg edx
mov edx, 0
sbb edx, esi
mov edx, ecx
jb 0x1008ca00
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp]
add edx, dword [esp + 0xd8]
lea ecx, [ecx + eax*8]
lea eax, [esi*8]
cmp esi, edx
cmovb edx, esi
shl edx, 3
sub eax, edx
nop dword [eax]
test eax, eax
je 0x1008ca80
mov edx, dword [ecx]
add eax, 0xfffffff8
or edx, dword [ecx + 4]
lea ecx, [ecx + 8]
je 0x1008ca60
jmp 0x1008ce16
mov eax, dword [esp + 0x140]
nop word [eax + eax]
mov ecx, dword [esp + 0x160]
lea edx, [esp + 0x140]
cmp ecx, 5
mov esi, ecx
jb 0x1008caae
mov esi, dword [esp + 0x13c]
mov edx, eax
test esi, esi
je 0x1008cae0
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x1008cae0
cmp ecx, 5
mov edx, ebx
jb 0x1008cad1
mov ecx, dword [esp + 0x13c]
lea edx, [esp + 0x13c]
test ecx, ecx
je 0x1008ca90
dec ecx
mov dword [edx], ecx
jmp 0x1008ca90
movsd xmm1, qword [esp + 0x128]
movsd xmm2, qword [esp + 0x120]
movsd xmm0, qword [esp + 0x130]
cmp dword [esp + 0x190], 5
movsd qword [esp + 0x2d0], xmm1
movsd xmm1, qword [esp + 0x118]
movsd qword [esp + 0x2c8], xmm2
movsd xmm2, qword [esp + 0x108]
movsd qword [esp + 0x2d8], xmm0
movsd qword [esp + 0x2c0], xmm1
movsd xmm1, qword [esp + 0x110]
movsd qword [esp + 0x2b0], xmm2
movsd qword [esp + 0x2b8], xmm1
jb 0x1008bc20
push dword [esp + 0x170]
push 0
mov eax, dword [0x1044eff8]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1008bc20
movsd xmm3, qword [esp + 0x1c8]
movsd xmm2, qword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a8]
lea ecx, [esp + 0x18]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movsd xmm3, qword [esp + 0x1b8]
movsd xmm2, qword [esp + 0x1b0]
movsd qword [esp + 0x18], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm3
movsd qword [esp + 0x20], xmm2
mov esi, dword [esp + 0x18]
nop word cs:[eax + eax]
mov edx, dword [esp + 0x38]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x1008cbf3
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x1008cc1b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x1008cc1b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x1008cc12
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x1008cbe0
dec edx
mov dword [edi], edx
jmp 0x1008cbe0
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x10]
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xc0], xmm2
movsd xmm2, qword [esp + 0x160]
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xa8], xmm3
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [esp + 0x150]
movsd qword [esp + 0xb0], xmm1
movsd xmm1, qword [esp + 0x158]
movsd qword [esp + 0x28], xmm2
movsd xmm2, qword [esp + 0x138]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x148]
movsd qword [esp + 0x10], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [esp + 0x18], xmm1
lea edx, [esp + 0x10]
lea ecx, [esp + 0x68]
push dword [esp + 0x19c]
call fcn.100924e0
add esp, 4
mov esi, dword [ebp + 8]
movsd xmm1, qword [esp + 0xc8]
movsd xmm2, qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xd0]
movsd xmm3, qword [esp + 0xa8]
cmp dword [esp + 0x2d8], 5
movsd qword [esi + 0x20], xmm1
movsd xmm1, qword [esp + 0xb8]
movsd qword [esi + 0x18], xmm2
movsd xmm2, qword [esp + 0x90]
movsd qword [esi + 0x28], xmm0
movsd qword [esi], xmm3
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0xb0]
movsd qword [esi + 8], xmm1
movsd xmm1, qword [esp + 0x88]
movsd qword [esi + 0x58], xmm2
movsd xmm2, qword [esp + 0x80]
movsd qword [esi + 0x50], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esi + 0x48], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esi + 0x40], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esi + 0x30], xmm2
movsd qword [esi + 0x38], xmm1
jb 0x1008cda6
mov eax, dword [0x1044eff8]
push dword [esp + 0x2b8]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2a8], 5
jb 0x1008bb13
mov eax, dword [0x1044eff8]
push dword [esp + 0x288]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1008bb13
push 0x10333f84
push 0x19
push str.attempt_to_divide_by_zeroassertion_failed:_self.len_____isize::MAX_as_usize_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_zeroize_1.6.0_src_lib.rs
call fcn.10027330
add esp, 0xc
jmp 0x1008cef2
push 0x10333fa4
push 0
push 0
call fcn.100273d0
add esp, 0xc
jmp 0x1008cef2
push 0x10333f84
push 0x19
push str.attempt_to_divide_by_zeroassertion_failed:_self.len_____isize::MAX_as_usize_usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_zeroize_1.6.0_src_lib.rs
call fcn.10027330
add esp, 0xc
jmp 0x1008cef2
mov dword [esp + 0x10], 0x103342e0
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], str.assertion_failed:_mid___self.len__destination_and_source_slices_have_different_lengths
mov dword [esp + 0x1c], 0
push 0x103342e8
lea eax, [esp + 0x14]
push eax
call fcn.100272b0
add esp, 8
jmp 0x1008cef2
mov eax, 0x10333fe4
jmp 0x1008ce8f
push 0x10333f94
push 0xe
push str.explicit_panicdivide_by_zero_
call fcn.10027330
add esp, 0xc
ud2
push 0x10333fd4
push eax
push ecx
call fcn.1002abd0
add esp, 0xc
jmp 0x1008cef2
mov eax, 0x10333ff4
jmp 0x1008ce8f
mov eax, 0x10334004
push eax
push esi
push dword [esp + 0x60]
call fcn.1002abd0
add esp, 0xc
jmp 0x1008cef2
push 0x10333f08
push 0x23
push str.assertion_failed:_mid___self.len__destination_and_source_slices_have_different_lengths
call fcn.10027330
add esp, 0xc
jmp 0x1008cef2
push 0x10333fb4
push 0x2b
push 0x103338fe
call fcn.10027330
add esp, 0xc
ud2
push 0x10333fc4
push 0x2b
push 0x103338fe
call fcn.10027330
add esp, 0xc
jmp 0x1008cef2
push edi
push ebx
call fcn.1001ac80
add esp, 8
jmp 0x1008cef2
call fcn.1001ac40
ud2