Function at 0x45d120
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 0x45d13f
mov eax, dword [edi + 4]
test eax, eax
je 0x45f41c
mov edx, dword [ebp + 0xc]
mov esi, dword [edx + 0x28]
cmp esi, 5
mov eax, esi
jb 0x45d157
mov eax, dword [edx + 4]
test eax, eax
je 0x45d193
cmp ebx, 5
jb 0x45d383
cmp dword [edi + 4], 1
jne 0x45d3ad
mov eax, dword [edi + 8]
mov ecx, dword [eax]
xor ecx, 1
or ecx, dword [eax + 4]
je 0x45d399
cmp esi, 4
jbe 0x45d58b
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45d58e
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.00454180
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 0x45d233
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x45d25b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45d25b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x45d252
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x45d220
dec edx
mov dword [edi], edx
jmp 0x45d220
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xd0], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0xe0], xmm0
mov dword [esp + 0x10], 4
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x18]
mov dword [esp + 0x14], 0
movsd qword [esp + 0xb8], xmm2
mov dword [esp + 0x18], 2
movsd qword [esp + 0xc0], xmm1
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.00454180
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 0x45d353
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x45e03b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45e03b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x45d37a
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x45d340
dec edx
mov dword [edi], edx
jmp 0x45d340
cmp ebx, 1
jne 0x45d3ad
lea eax, [edi + 8]
mov ecx, dword [eax]
xor ecx, 1
or ecx, dword [eax + 4]
jne 0x45d17f
cmp esi, 4
jbe 0x45d613
mov esi, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45d616
cmp esi, 4
jbe 0x45d3dd
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 0x45d3f3
lea ecx, [edi + 8]
mov esi, ebx
mov dword [esp + 0x48], ecx
cmp eax, esi
jb 0x45d405
jmp 0x45d539
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 0x45d3cb
mov esi, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x48], ecx
cmp eax, esi
jae 0x45d539
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.00454180
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 0x45d4a3
mov edi, dword [esp + 0x14]
mov ecx, esi
test edi, edi
je 0x45d4cb
mov eax, dword [ecx + edi*8 - 8]
or eax, dword [ecx + edi*8 - 4]
jne 0x45d4cb
cmp ebx, 5
lea ecx, [esp + 0x38]
jb 0x45d4c2
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
test ebx, ebx
je 0x45d490
dec ebx
mov dword [ecx], ebx
jmp 0x45d490
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 + 0xd8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xd0], xmm2
movsd xmm2, qword [esp + 0x10]
cmp eax, 4
movsd qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0xb8], xmm2
movsd qword [esp + 0xc0], xmm1
jbe 0x45d55a
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45d55d
jbe 0x45d753
mov edx, dword [esp + 0xc]
mov edi, dword [ebp + 0x10]
cmp edx, 4
jbe 0x45ddf5
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
jmp 0x45ddf8
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.00453fd0
add esp, 4
movsd xmm0, qword [esp + 0x38]
jmp 0x45e044
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.00453fd0
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 0x45d7b1
mov ebx, dword [edi + 4]
mov edi, dword [edi + 8]
jmp 0x45d7b4
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.00453fd0
add esp, 4
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xd0], xmm2
movsd xmm2, qword [esp + 0x10]
movsd qword [esp + 0xe0], xmm0
mov dword [esp + 0x10], 4
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x18]
mov dword [esp + 0x14], 0
movsd qword [esp + 0xb8], xmm2
mov dword [esp + 0x18], 2
movsd qword [esp + 0xc0], xmm1
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
call fcn.00454180
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 0x45d723
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x45e03b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45e03b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x45d74a
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x45d710
dec edx
mov dword [edi], edx
jmp 0x45d710
shl eax, 3
shl esi, 3
nop dword [eax]
test eax, eax
je 0x45df67
test esi, esi
je 0x45df67
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 0x45d405
add eax, 0xfffffff8
add esi, 0xfffffff8
cmp edi, ebx
sbb edx, ecx
jae 0x45d760
jmp 0x45d53f
add edi, 8
test ebx, ebx
je 0x45f3a7
cmp dword [esp + 0x90], 4
jbe 0x45dccb
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x6c]
mov eax, dword [eax]
mov dword [esp + 0x9c], ecx
test eax, eax
je 0x45dce7
mov edx, dword [edi]
mov esi, dword [edi + 4]
mov ecx, edx
or ecx, esi
je 0x45f3bd
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 0x45d865
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 0x45dcc1
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 0x45d810
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 0x45d812
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 + 0xb4], 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 0x45da60
mov dword [esp + 4], 0
jmp 0x45dcaa
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 + 0xb0], 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 + 0xac], 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 + 0xac]
shld edx, ebx, 1
mov eax, dword [esp + 0xb4]
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 + 0xb4], 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 + 0xac], edi
mov edi, dword [esp + 0xb0]
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 + 0xb0], 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 0x45db90
shld esi, ecx, 1
add ecx, ecx
or esi, dword [esp + 4]
or ecx, dword [esp + 0x64]
mov dword [esp + 8], esi
jmp 0x45d812
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], ecx
jmp 0x45dcf7
lea eax, [esp + 0x90]
lea ecx, [esp + 0x70]
mov eax, dword [eax]
mov dword [esp + 0x9c], ecx
test eax, eax
jne 0x45d7e3
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 0x45dd63
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x45dd8b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45dd8b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x45dd82
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x45dd50
dec edx
mov dword [edi], edx
jmp 0x45dd50
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 0x45e0d3
lea eax, [edi + 8]
test edx, edx
je 0x45f475
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.00468ba0
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.00468ba0
add esp, 4
mov ecx, dword [esp + 0x2a8]
cmp ecx, 4
jbe 0x45de83
mov edx, ecx
mov ecx, dword [esp + 0x284]
mov eax, dword [esp + 0x288]
jmp 0x45de8c
lea eax, [esp + 0x288]
mov edx, ecx
test ecx, ecx
mov dword [esp + 0x19c], esi
je 0x45f48b
mov esi, dword [esp + 0x160]
cmp esi, 5
jb 0x45deae
mov esi, dword [esp + 0x13c]
cmp edx, 5
jb 0x45deba
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 + 0xa8], 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 0x45df3b
xor ebx, ebx
cmp eax, 0x10000000
mov edx, eax
setb al
jae 0x45f4ad
mov bl, al
lea edi, [edx*8]
shl ebx, 3
test edi, edi
js 0x45f4ad
je 0x45e110
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x45df2d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x45f4a1
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
jmp 0x45e112
test eax, eax
je 0x45e0dd
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 0x45e0dd
lea edi, [esp + 0xb8]
mov ecx, edi
call fcn.00459480
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.00454180
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 0x45e013
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x45e03b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45e03b
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x45e032
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x45e000
dec edx
mov dword [edi], edx
jmp 0x45e000
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 + 0xe0]
movsd qword [esi + 0x40], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esi + 0x38], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esi + 0x30], xmm3
movsd qword [esi + 0x28], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esi + 0x20], xmm1
movsd xmm1, qword [esp + 0xc8]
movsd qword [esi + 0x18], xmm2
movsd xmm2, qword [esp + 0xb8]
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0xc0]
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 0x45e11f
mov eax, ebx
test eax, eax
je 0x45f4a1
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 + 0xa8]
je 0x45f134
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 0x45e208
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0xf0]
mov ecx, dword [esp + 0xa8]
add dword [esp + 0xe8], 0xfffffff8
add edi, 8
mov eax, esi
inc ecx
test esi, esi
je 0x45f134
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x2a8]
mov esi, eax
cmp ecx, 5
jb 0x45e240
mov ecx, dword [esp + 0x284]
mov eax, dword [esp + 0x160]
cmp eax, 5
mov edx, eax
jae 0x45e24e
lea ecx, [esi + ecx - 2]
dec esi
cmp ecx, edx
jae 0x45e1eb
jmp 0x45e25e
mov eax, dword [esp + 0x160]
cmp eax, 5
mov edx, eax
jb 0x45e232
mov edx, dword [esp + 0x13c]
lea ecx, [esi + ecx - 2]
dec esi
cmp ecx, edx
jae 0x45e1eb
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 0x45e2ef
mov edx, dword [esp + 0x1d4]
lea esi, [esp + 0x1d4]
test edx, edx
je 0x45e2f9
mov dword [esi], 0
cmp eax, 5
lea esi, [esp + 0x140]
jb 0x45e313
mov eax, dword [esp + 0x13c]
mov esi, dword [esp + 0x140]
cmp eax, ecx
jb 0x45f432
lea edx, [esi + ecx*8]
lea eax, [esi + eax*8]
lea ecx, [esp + 0x1d0]
push eax
call fcn.00453fd0
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 0x45e3c6
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 0x45e880
or ecx, edx
je 0x45f38e
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 0x45e471
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 0x45e880
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 0x45e428
mov eax, dword [esp + 4]
mov ecx, edi
or ecx, ebx
xor eax, 0x7f
or eax, dword [esp + 0x48]
or ecx, eax
je 0x45e428
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 0x45e400
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 + 0xb0], 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 + 0xb4], 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 + 0xac], 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 + 0xb0]
mov edi, dword [esp + 0xac]
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 + 0xb4]
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 + 0xac], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0xb4], eax
mov eax, ebx
mov ebx, dword [esp + 0x48]
sbb edx, 0
sbb eax, 0
mov dword [esp + 0xb0], 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 0x45e760
jmp 0x45e410
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 0x45e8f5
mov esi, dword [esp + 0x14]
mov edx, eax
test esi, esi
je 0x45e920
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45e920
cmp ecx, 5
mov edx, ebx
jb 0x45e912
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x14]
test ecx, ecx
je 0x45e8e0
dec ecx
mov dword [edx], ecx
jmp 0x45e8e0
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 0x45e99b
mov ecx, dword [esp + 0x284]
mov esi, dword [esp + 0x288]
mov eax, dword [esp + 0x130]
lea edx, [esp + 0x110]
cmp eax, 5
jb 0x45e9bc
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.004688f0
add esp, 0x14
mov edi, dword [esp + 0x190]
lea eax, [esp + 0x170]
mov dword [esp + 0x48], eax
cmp edi, 5
jb 0x45ea20
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 0x45ea33
mov ecx, esi
sub ecx, dword [esp + 0x58]
jae 0x45ea4d
jmp 0x45f415
mov esi, dword [esp + 0x160]
lea eax, [esp + 0x140]
cmp esi, 5
jb 0x45ea0c
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x140]
mov ecx, esi
sub ecx, dword [esp + 0x58]
jb 0x45f415
cmp edi, ecx
jb 0x45ed60
jbe 0x45ecf0
lea ecx, [esp + 0x2e0]
call fcn.00459480
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.00459af0
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 + 0xd8], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0xd0], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0xb8], xmm2
movsd qword [esp + 0xc0], xmm1
jb 0x45ebb2
push dword [esp + 0x18]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm1, qword [esp + 0xc0]
movsd xmm2, qword [esp + 0xc8]
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0x110], xmm1
movsd xmm1, qword [esp + 0xd0]
movsd qword [esp + 0x118], xmm2
movsd xmm2, qword [esp + 0xd8]
movsd qword [esp + 0x108], xmm0
movsd qword [esp + 0x120], xmm1
movsd xmm1, qword [esp + 0xe0]
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.00459af0
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 0x45e9d0
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 0x45ed60
cmp dword [esp + 4], 0
je 0x45ed60
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 0x45ed60
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 0x45ed10
jmp 0x45ea5b
mov esi, dword [esp + 0x1c8]
lea ecx, [esp + 0x1a8]
cmp esi, 5
jb 0x45ed81
mov esi, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a8]
mov eax, esi
lea ebx, [esp + 0x160]
sub eax, dword [esp + 0x58]
jb 0x45f443
mov edi, dword [esp + 0x130]
lea edx, [esp + 0x110]
cmp edi, 5
jb 0x45edb5
mov edi, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
cmp eax, edi
jb 0x45f45f
test edi, edi
je 0x45ee90
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 0x45ee00
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 0x45ee90
mov eax, dword [esp + 0xf0]
shl edx, 3
lea eax, [eax + ecx*8]
sub eax, edx
nop dword [eax]
test eax, eax
je 0x45ee90
add eax, 0xfffffff8
add dword [esi], 1
adc dword [esi + 4], 0
lea esi, [esi + 8]
jb 0x45ee70
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + 0x160]
lea edi, [esp + 0x140]
cmp esi, 5
jb 0x45eeb1
mov esi, dword [esp + 0x13c]
mov edi, dword [esp + 0x140]
mov edx, esi
sub edx, dword [esp + 0x58]
jb 0x45f44a
mov ecx, dword [esp + 0x190]
lea eax, [esp + 0x170]
mov dword [esp + 0x44], esi
cmp ecx, 5
jb 0x45eee2
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 0x45eff2
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 + 0xa8]
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 0x45ef50
cmp eax, 1
lea ebx, [esp + 0x160]
sbb edx, 0
mov edx, dword [esp + 0x54]
jb 0x45eff2
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 0x45f3d6
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 0x45efc0
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp]
add edx, dword [esp + 0xa8]
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 0x45f040
mov edx, dword [ecx]
add eax, 0xfffffff8
or edx, dword [ecx + 4]
lea ecx, [ecx + 8]
je 0x45f020
jmp 0x45f3d6
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 0x45f06e
mov esi, dword [esp + 0x13c]
mov edx, eax
test esi, esi
je 0x45f0a0
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45f0a0
cmp ecx, 5
mov edx, ebx
jb 0x45f091
mov ecx, dword [esp + 0x13c]
lea edx, [esp + 0x13c]
test ecx, ecx
je 0x45f050
dec ecx
mov dword [edx], ecx
jmp 0x45f050
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 0x45e1e0
push dword [esp + 0x170]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x45e1e0
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 0x45f1b3
mov edi, dword [esp + 0x14]
mov ebx, esi
test edi, edi
je 0x45f1db
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45f1db
cmp edx, 5
lea edi, [esp + 0x38]
jb 0x45f1d2
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x14]
test edx, edx
je 0x45f1a0
dec edx
mov dword [edi], edx
jmp 0x45f1a0
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x10]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xd0], xmm2
movsd xmm2, qword [esp + 0x160]
movsd qword [esp + 0xe0], xmm0
movsd qword [esp + 0xb8], xmm3
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [esp + 0x150]
movsd qword [esp + 0xc0], 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.004691f0
add esp, 4
mov esi, dword [ebp + 8]
movsd xmm1, qword [esp + 0xd8]
movsd xmm2, qword [esp + 0xd0]
movsd xmm0, qword [esp + 0xe0]
movsd xmm3, qword [esp + 0xb8]
cmp dword [esp + 0x2d8], 5
movsd qword [esi + 0x20], xmm1
movsd xmm1, qword [esp + 0xc8]
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 + 0xc0]
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 0x45f366
mov eax, dword [0x607460]
push dword [esp + 0x2b8]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2a8], 5
jb 0x45e0d3
mov eax, dword [0x607460]
push dword [esp + 0x288]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x45e0d3
push 0x5aa8b8
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.004251d0
add esp, 0xc
jmp 0x45f4b2
push 0x5aa8d8
push 0
push 0
call fcn.00425270
add esp, 0xc
jmp 0x45f4b2
push 0x5aa8b8
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.004251d0
add esp, 0xc
jmp 0x45f4b2
mov dword [esp + 0x10], 0x5aae44
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 0x5aae4c
lea eax, [esp + 0x14]
push eax
call fcn.00425150
add esp, 8
jmp 0x45f4b2
mov eax, 0x5aa918
jmp 0x45f44f
push 0x5aa8c8
push 0xe
push str.explicit_panicdivide_by_zero_
call fcn.004251d0
add esp, 0xc
ud2
push 0x5aa908
push eax
push ecx
call fcn.00428790
add esp, 0xc
jmp 0x45f4b2
mov eax, 0x5aa928
jmp 0x45f44f
mov eax, 0x5aa938
push eax
push esi
push dword [esp + 0x60]
call fcn.00428790
add esp, 0xc
jmp 0x45f4b2
push 0x5aa83c
push 0x23
push str.assertion_failed:_mid___self.len__destination_and_source_slices_have_different_lengths
call fcn.004251d0
add esp, 0xc
jmp 0x45f4b2
push 0x5aa8e8
push 0x2b
push 0x5aa16e
call fcn.004251d0
add esp, 0xc
ud2
push 0x5aa8f8
push 0x2b
push 0x5aa16e
call fcn.004251d0
add esp, 0xc
jmp 0x45f4b2
push edi
push ebx
call fcn.0041a8c0
add esp, 8
jmp 0x45f4b2
call fcn.0041a880
ud2