Function at 0x42713c
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x390
mov dword [esp + 0x58], 0
cmp dword [ecx], 0
je 0x429851
mov edi, ecx
mov ecx, dword [ecx + 0x108]
mov edx, dword [edi + 0x10c]
mov eax, ecx
add ecx, 0x1000
mov dword [esp + 0x80], ecx
mov ecx, edx
adc ecx, 0
mov dword [esp + 0x7c], ecx
mov ebx, edx
mov edx, eax
mov dword [esp + 0x78], 0
mov dword [esp + 0xc], edi
jmp 0x423b68
movapd xmm3, xmmword [0x4383f0]
xorpd xmm2, xmm3
sub esp, 0xc
movd dword [esp + 4], xmm1
movss dword [esp], xmm0
movss dword [esp + 8], xmm2
call fcn.00436e60
add esp, 0xc
fstp dword [esp + 0xe4]
wait
movd xmm0, dword [esp + 0xe4]
pxor xmm0, xmmword [0x4383f0]
movd dword [esp + 0xe8], xmm0
fld dword [esp + 0xe8]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x425586
jmp 0x4287ae
add edx, dword [edi + 0x108]
adc ebx, dword [edi + 0x10c]
mov dword [edi + 0x108], edx
mov dword [edi + 0x10c], ebx
cmp dword [edi], 0
je 0x429851
mov ecx, edx
sub ecx, dword [esp + 0x80]
mov esi, ebx
sbb esi, dword [esp + 0x7c]
mov eax, ebx
mov ebx, 0xffc
cmp ebx, ecx
mov ecx, 0
sbb ecx, esi
jb case.default.0x423bad
mov ecx, dword [esp + 0x78]
mov esi, edx
mov edx, dword [ecx + edx]
mov dword [esp + 0x58], edx
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov ebx, edx
and ebx, 3
jmp dword [ebx*4 + 0x43d26c]
movzx ebx, dx
mov eax, edx
shr al, 2
and al, 7
or al, 8
mov byte [esp + 0x10], al
mov ecx, ebx
shr ecx, 7
mov eax, ecx
and al, 7
or al, 8
mov esi, ebx
shr esi, 0xd
jmp dword [esi*4 + 0x43dbf4]
mov ecx, eax
shld ecx, edx, 0x14
mov ebx, edi
mov edi, eax
movzx esi, cl
shl esi, 5
xor ecx, dword [ebx + esi + 0x228]
shr edi, 0xc
xor edi, dword [ebx + esi + 0x22c]
or edi, ecx
mov dword [esp + 0x10], edx
jne 0x42431d
mov dword [esp + 0x14], eax
mov ecx, dword [ebx + esi + 0x210]
mov eax, dword [esp + 0x10]
movzx ecx, word [ecx + eax]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x20], ecx
not ecx
test cl, 3
mov edi, ebx
jne 0x424353
mov esi, eax
add esi, 2
mov eax, dword [esp + 0x14]
mov ecx, eax
adc ecx, 0
mov ebx, edi
mov edi, ecx
shr edi, 0xc
mov edx, esi
shld ecx, esi, 0x14
movzx esi, cl
shl esi, 5
xor edi, dword [ebx + esi + 0x22c]
xor ecx, dword [ebx + esi + 0x228]
or ecx, edi
jne 0x42431d
mov ecx, dword [ebx + esi + 0x210]
movzx ecx, word [ecx + edx]
shl ecx, 0x10
mov edx, dword [esp + 0x20]
or edx, ecx
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x10]
shr ecx, 7
and ecx, 0x1fe0
mov esi, dword [ebx + ecx + 0x228]
mov edi, dword [ebx + ecx + 0x22c]
shld edi, esi, 0xc
mov dword [esp + 0x7c], edi
mov ecx, dword [ebx + ecx + 0x210]
mov dword [esp + 0x78], ecx
shl esi, 0xc
mov dword [esp + 0x80], esi
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov ecx, edx
and ecx, 3
mov esi, dword [esp + 0x10]
mov edi, ebx
jmp dword [ecx*4 + 0x43d26c]
mov ecx, ebx
mov edx, dword [esp + 0x10]
lea esi, [esp + 0x58]
push esi
push eax
call fcn.0040c050
add esp, 8
test al, al
je 0x429851
mov edi, ebx
mov eax, dword [ebx + 0x108]
mov ecx, dword [ebx + 0x10c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x20], ecx
mov ecx, eax
shr ecx, 7
and ecx, 0x1fe0
mov esi, dword [edi + ecx + 0x228]
mov ebx, dword [edi + ecx + 0x22c]
shld ebx, esi, 0xc
mov dword [esp + 0x7c], ebx
mov ecx, dword [edi + ecx + 0x210]
mov dword [esp + 0x78], ecx
shl esi, 0xc
mov dword [esp + 0x80], esi
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
mov edx, dword [esp + 0x20]
mov ebx, edx
and ebx, 3
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, ecx
jmp dword [ebx*4 + 0x43d26c]
mov dword [esp + 0x10], eax
movzx eax, dx
shr eax, 0xd
mov ebx, edx
jmp dword [eax*4 + 0x43db8c]
mov ebx, eax
movzx ecx, dx
mov eax, ecx
shr eax, 0xd
jmp dword [eax*4 + 0x43db6c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], eax
shr edx, 2
and edx, 0x1f
cmp edx, 0x1c
ja case.default.0x4244b9
jmp dword [edx*4 + 0x43d27c]
mov ebx, dword [esp + 0x20]
mov esi, ebx
shr esi, 0xc
mov ecx, esi
mov eax, ebx
sar eax, 0x1f
mov edx, eax
shld edx, ebx, 0xc
and ecx, 7
and esi, 0xf8
add edx, dword [edi + esi + 8]
adc eax, dword [edi + esi + 0xc]
cmp ecx, 6
ja case.default.0x4244b9
mov ebx, dword [esp + 0x20]
shr ebx, 7
mov dword [esp + 0x20], ebx
jmp dword [ecx*4 + 0x43db50]
mov ecx, eax
shld ecx, edx, 0x14
mov ebx, edi
mov edi, eax
movzx esi, cl
shl esi, 5
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
xor edi, dword [ebx + esi + 0x21c]
or edi, ecx
jne 0x4289b5
mov eax, dword [ebx + esi + 0x210]
movsx eax, byte [eax + edx]
mov ecx, dword [esp + 0x20]
and ecx, 0x1f
mov dword [ebx + ecx*8 + 8], eax
sar eax, 0x1f
mov dword [ebx + ecx*8 + 0xc], eax
mov edx, 4
jmp 0x42569e
mov ecx, dword [esp + 0x20]
mov eax, ecx
shr eax, 0x14
mov dword [esp + 0x10], eax
shr ecx, 7
and ecx, 0x1f
and eax, 0xffffffe0
or eax, ecx
shl eax, 0x14
mov edx, eax
sar edx, 0x1f
sar eax, 0x14
mov esi, edi
mov edi, dword [esp + 0x20]
shr edi, 0xc
mov ecx, edi
and ecx, 0xf8
add eax, dword [esi + ecx + 8]
adc edx, dword [esi + ecx + 0xc]
mov dword [esp + 0x14], edx
test byte [esi + 0x3269], 0x60
je case.0x4251c6.2
mov ecx, dword [esp + 0x10]
and cl, 0x1f
and edi, 7
cmp edi, 3
je 0x42576f
cmp edi, 2
jne case.0x4251c6.2
mov byte [esp + 0x20], cl
test al, 3
jne 0x428872
mov esi, dword [esp + 0x14]
mov ebx, esi
shld ebx, eax, 0x14
movzx edi, bl
shl edi, 5
mov ecx, dword [esp + 0xc]
xor ebx, dword [ecx + edi + 0x220]
shr esi, 0xc
xor esi, dword [ecx + edi + 0x224]
or esi, ebx
jne 0x428872
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + edi + 0x210]
mov edx, dword [esp + 0x10]
and edx, 0x1f
movd xmm0, dword [esi + edx*8 + 0x110]
movd dword [ecx + eax], xmm0
jmp 0x425bfa
test byte [edi + 0x3269], 0x60
je case.default.0x42522f
mov edi, dword [esp + 0x20]
mov esi, edi
shr esi, 7
and esi, 0x1f
mov edx, edi
shr edx, 0xf
and edx, 0x1f
mov ecx, edi
shr ecx, 0x14
and ecx, 0x1f
mov eax, edi
shr eax, 0x1b
shr edi, 0x19
and edi, 3
cmp edi, 1
je 0x4257c9
test edi, edi
mov edi, dword [esp + 0xc]
jne case.default.0x42522f
cmp dword [edi + edx*8 + 0x114], 0xffffffff
movss xmm0, dword [0x438350]
jne 0x424c59
movss xmm0, dword [edi + edx*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
movd xmm1, dword [0x438350]
jne 0x424c74
movd xmm1, dword [edi + ecx*8 + 0x110]
cmp dword [edi + eax*8 + 0x114], 0xffffffff
movss xmm2, dword [0x438350]
jne 0x423aab
movss xmm2, dword [edi + eax*8 + 0x110]
jmp 0x423aab
mov edx, dword [esp + 0x20]
mov ecx, edx
shr ecx, 0xc
mov eax, ecx
and eax, 7
shr edx, 7
and edx, 0x1f
and ecx, 0xf8
mov esi, dword [edi + ecx + 8]
cmp eax, 5
je 0x425a6d
cmp eax, 1
je 0x425a9d
test eax, eax
jne case.default.0x4244b9
mov ecx, dword [esp + 0x20]
mov eax, ecx
sar eax, 0x1f
shld eax, ecx, 0xc
add esi, eax
jmp 0x42634a
mov eax, dword [esp + 0x20]
shr eax, 0xc
mov ecx, eax
and ecx, 7
cmp ecx, 3
je 0x4256a7
cmp ecx, 2
jne case.default.0x42522f
and eax, 0xf8
mov ebx, dword [edi + eax + 8]
test bl, 3
jne 0x4287f4
mov esi, dword [edi + eax + 0xc]
mov eax, dword [esp + 0x20]
shr eax, 0x11
and eax, 0xf8
mov edx, esi
shld edx, ebx, 0x14
mov dword [esp + 0x10], esi
shr esi, 0xc
movzx ecx, dl
shl ecx, 5
xor edx, dword [edi + ecx + 0x220]
xor esi, dword [edi + ecx + 0x224]
or esi, edx
mov esi, dword [edi + eax + 8]
jne 0x428824
mov edi, dword [edi + ecx + 0x210]
add edi, ebx
mov edx, ebx
test edi, edi
je 0x426910
mov eax, dword [esp + 0x20]
shr eax, 0x1b
cmp eax, 0x1c
ja case.0x424d7e.5
mov ebx, dword [esp + 0x20]
shr ebx, 7
and ebx, 0x1f
jmp dword [eax*4 + 0x43d9d8]
lock xadd dword [edi], esi
jmp 0x426585
mov ebx, dword [esp + 0x20]
mov eax, ebx
shr eax, 0xb
and eax, 0x100000
mov ecx, ebx
and ecx, 0xff000
or ecx, eax
mov edx, ebx
shr edx, 9
and edx, 0x800
or edx, ecx
mov eax, ebx
shr eax, 0x14
and eax, 0x7fe
or eax, edx
shl eax, 0xb
mov edx, eax
sar edx, 0x1f
sar eax, 0xb
mov ecx, esi
add ecx, 4
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], edi
adc dword [esp + 0x14], 0
shr ebx, 4
and ebx, 0xf8
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov dword [ebx + edi + 8], ecx
add eax, esi
adc edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov dword [ecx + edi + 0xc], esi
mov edi, dword [esp + 0xc]
add eax, 0xfffffffc
adc edx, 0xffffffff
mov dword [edi + 0x108], eax
mov dword [edi + 0x10c], edx
jmp 0x427cd9
mov edx, dword [esp + 0x20]
mov eax, edx
and eax, 0xfffff000
mov ecx, edx
sar ecx, 0x1f
add esi, eax
mov eax, dword [esp + 0x10]
adc eax, ecx
shr edx, 4
and edx, 0xf8
mov dword [edi + edx + 8], esi
mov dword [edi + edx + 0xc], eax
jmp 0x426355
mov esi, dword [esp + 0x20]
mov eax, esi
sar eax, 0x1f
mov edx, eax
shld edx, esi, 0xc
mov ecx, esi
shr ecx, 0xc
mov ebx, ecx
and ebx, 0xf8
add edx, dword [edi + ebx + 8]
adc eax, dword [edi + ebx + 0xc]
test byte [edi + 0x3269], 0x60
je 0x42858b
mov ebx, esi
shr ebx, 7
and ecx, 7
cmp ecx, 3
mov dword [esp + 0x10], ebx
je 0x425843
cmp ecx, 2
jne 0x42858b
test dl, 3
jne 0x4288ae
mov ebx, eax
shld ebx, edx, 0x14
mov esi, eax
movzx ecx, bl
shl ecx, 5
xor ebx, dword [edi + ecx + 0x218]
shr esi, 0xc
xor esi, dword [edi + ecx + 0x21c]
or esi, ebx
mov ebx, dword [esp + 0x10]
jne 0x4288ae
and ebx, 0x1f
mov eax, dword [edi + ecx + 0x210]
movd xmm0, dword [eax + edx]
movd dword [edi + ebx*8 + 0x110], xmm0
mov dword [edi + ebx*8 + 0x114], 0xffffffff
jmp 0x426355
test byte [edi + 0x3269], 0x60
je case.default.0x42522f
mov edi, dword [esp + 0x20]
mov esi, edi
shr esi, 7
and esi, 0x1f
mov edx, edi
shr edx, 0xf
and edx, 0x1f
mov ecx, edi
shr ecx, 0x14
and ecx, 0x1f
mov eax, edi
shr eax, 0x1b
shr edi, 0x19
and edi, 3
cmp edi, 1
je 0x4258a0
test edi, edi
mov edi, dword [esp + 0xc]
jne case.default.0x42522f
cmp dword [edi + edx*8 + 0x114], 0xffffffff
movss xmm0, dword [0x438350]
jne 0x424f63
movss xmm0, dword [edi + edx*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
movd xmm1, dword [0x438350]
jne 0x424f7e
movd xmm1, dword [edi + ecx*8 + 0x110]
cmp dword [edi + eax*8 + 0x114], 0xffffffff
movss xmm2, dword [0x438350]
jne 0x424f99
movss xmm2, dword [edi + eax*8 + 0x110]
sub esp, 0xc
movss dword [esp + 8], xmm2
movd dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.00436e60
add esp, 0xc
fstp dword [esp + 0xec]
wait
movd xmm0, dword [esp + 0xec]
pxor xmm0, xmmword [0x4383f0]
movd dword [esp + 0xf0], xmm0
fld dword [esp + 0xf0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x425586
jmp 0x4287ae
test byte [edi + 0x3269], 0x60
je case.default.0x42522f
mov edi, dword [esp + 0x20]
mov esi, edi
shr esi, 7
and esi, 0x1f
mov edx, edi
shr edx, 0xf
and edx, 0x1f
mov ecx, edi
shr ecx, 0x14
and ecx, 0x1f
mov eax, edi
shr eax, 0x1b
shr edi, 0x19
and edi, 3
cmp edi, 1
je 0x42592a
test edi, edi
mov edi, dword [esp + 0xc]
jne case.default.0x42522f
cmp dword [edi + edx*8 + 0x114], 0xffffffff
movd xmm0, dword [0x438350]
jne 0x42505f
movd xmm0, dword [edi + edx*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
movd xmm1, dword [0x438350]
jne 0x42507a
movd xmm1, dword [edi + ecx*8 + 0x110]
cmp dword [edi + eax*8 + 0x114], 0xffffffff
movss xmm2, dword [0x438350]
jne 0x425095
movss xmm2, dword [edi + eax*8 + 0x110]
sub esp, 0xc
movss dword [esp + 8], xmm2
movd dword [esp + 4], xmm1
movd dword [esp], xmm0
call fcn.00436e60
add esp, 0xc
fst dword [esp + 0xdc]
wait
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4287ae
movd xmm0, dword [esp + 0xdc]
jmp 0x425586
mov edx, dword [esp + 0x20]
mov esi, edx
shr esi, 0xc
mov eax, esi
and eax, 7
mov ecx, edx
shr ecx, 7
mov dword [esp + 0x10], ecx
mov ecx, edx
shr ecx, 0x14
mov dword [esp + 0x30], ecx
mov ecx, edx
sar ecx, 0x1f
mov dword [esp + 0x18], ecx
mov ebx, edx
sar ebx, 0x14
and esi, 0xf8
mov ecx, dword [edi + esi + 0xc]
mov dword [esp + 0x14], ecx
mov esi, dword [edi + esi + 8]
jmp dword [eax*4 + 0x43da5c]
mov eax, dword [esp + 0x10]
and eax, 0x1f
add esi, ebx
mov ecx, dword [esp + 0x14]
adc ecx, dword [esp + 0x18]
jmp 0x4261ca
mov edx, dword [esp + 0x20]
mov eax, edx
and eax, 0xfffff000
mov ecx, edx
sar ecx, 0x1f
shr edx, 4
and edx, 0xf8
mov dword [edi + edx + 0xc], ecx
mov dword [edi + edx + 8], eax
jmp 0x427cd9
mov eax, dword [esp + 0x20]
shr eax, 0xc
mov edx, eax
and edx, 7
cmp edx, 7
ja case.0x4251c6.2
mov edi, dword [esp + 0x20]
mov ecx, edi
shr ecx, 0x19
mov dword [esp + 0x10], ecx
mov esi, edi
shr esi, 7
and esi, 0x1f
mov dword [esp + 0x14], esi
and eax, 0xf8
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + eax + 8]
shr edi, 0x11
and edi, 0xf8
mov ecx, dword [ebx + edi + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov edi, dword [ebx + edi + 0xc]
jmp dword [edx*4 + 0x43d538]
cmp ecx, 0x20
ja case.0x4251c6.2
jmp dword [ecx*4 + 0x43d558]
mov ecx, dword [esp + 0x18]
add ecx, eax
jmp 0x427190
mov esi, dword [esp + 0x20]
mov edi, esi
shr edi, 0xc
mov ecx, edi
and ecx, 7
mov ebx, esi
shr ebx, 0x14
shr esi, 7
and esi, 0x1f
mov eax, ebx
and eax, 0xffffffe0
or eax, esi
shl eax, 0x14
mov edx, eax
sar edx, 0x1f
sar eax, 0x14
and edi, 0xf8
mov esi, dword [esp + 0xc]
add eax, dword [esi + edi + 8]
mov esi, dword [esp + 0xc]
adc edx, dword [esi + edi + 0xc]
mov edi, dword [esp + 0xc]
cmp ecx, 3
ja case.default.0x42522f
mov esi, edx
mov dword [esp + 0x20], ebx
and bl, 0x1f
jmp dword [ecx*4 + 0x43da4c]
mov ecx, esi
mov edx, eax
shld ecx, eax, 0x14
mov ebx, esi
movzx edi, cl
shl edi, 5
mov eax, esi
mov esi, dword [esp + 0xc]
xor ecx, dword [esi + edi + 0x220]
shr ebx, 0xc
xor ebx, dword [esi + edi + 0x224]
or ebx, ecx
jne 0x428909
mov ecx, dword [esi + edi + 0x210]
mov eax, dword [esp + 0x20]
and eax, 0x1f
movzx eax, byte [esi + eax*8 + 8]
mov byte [ecx + edx], al
jmp 0x425bfa
mov ebx, dword [esp + 0x20]
mov eax, ebx
sar eax, 0x1f
mov edx, eax
shld edx, ebx, 0xc
mov edi, ebx
shr edi, 0xc
and edi, 0xf8
add esi, 4
adc dword [esp + 0x10], 0
shr ebx, 4
and ebx, 0xf8
mov ecx, dword [esp + 0xc]
add edx, dword [ecx + edi + 8]
mov ecx, dword [esp + 0xc]
mov dword [ecx + ebx + 8], esi
mov ecx, dword [esp + 0xc]
adc eax, dword [ecx + edi + 0xc]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [edi + ebx + 0xc], ecx
and edx, 0xfffffffe
add edx, 0xfffffffc
adc eax, 0xffffffff
mov dword [edi + 0x108], edx
mov dword [edi + 0x10c], eax
jmp 0x427cd9
mov ebx, dword [esp + 0x20]
mov edx, ebx
shr edx, 0xc
mov ecx, edx
and ecx, 7
mov eax, ebx
shr eax, 0x19
mov esi, ebx
shr esi, 7
and esi, 0x1f
mov dword [esp + 0x1c], esi
and edx, 0xf8
mov esi, dword [edi + edx + 8]
mov dword [esp + 0x18], esi
mov edx, dword [edi + edx + 0xc]
mov dword [esp + 0x14], edx
mov edx, ebx
shr edx, 0x11
and edx, 0xf8
mov esi, dword [edi + edx + 8]
mov edx, dword [edi + edx + 0xc]
mov dword [esp + 0x10], edx
jmp dword [ecx*4 + 0x43d5dc]
cmp eax, 0x20
je 0x426abb
cmp eax, 1
je 0x426ace
test eax, eax
jne case.default.0x42522f
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
adc ecx, dword [esp + 0x14]
jmp 0x4275e3
mov eax, dword [esp + 0x20]
shr eax, 0xc
and eax, 7
cmp eax, 7
ja case.0x4251c6.2
mov ebx, dword [esp + 0x20]
mov ecx, ebx
shr ecx, 0xf
mov dword [esp + 0x18], ecx
mov edx, ebx
shr edx, 0x14
mov ecx, ebx
shr ecx, 0x13
and ecx, 0x1000
mov edi, ebx
shl edi, 4
and edi, 0x800
or edi, ecx
mov dword [esp + 0x14], edx
and edx, 0x7e0
or edx, edi
mov edi, ebx
shr edi, 7
and edi, 0x1e
or edi, edx
shl edi, 0x13
mov ecx, edi
sar ecx, 0x1f
sar edi, 0x13
mov dword [esp + 0x30], ecx
jmp dword [eax*4 + 0x43d2f0]
mov edx, dword [esp + 0x14]
and edx, 0x1f
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + eax*8 + 8]
mov eax, dword [ebx + eax*8 + 0xc]
xor eax, dword [ebx + edx*8 + 0xc]
xor ecx, dword [ebx + edx*8 + 8]
mov edx, 4
or ecx, eax
jne 0x42569e
jmp 0x425cf9
test byte [edi + 0x3269], 0x60
je case.default.0x42522f
mov eax, dword [esp + 0x20]
shr eax, 0x19
cmp eax, 0x79
ja case.default.0x42522f
mov ebx, dword [esp + 0x20]
mov ecx, ebx
shr ecx, 7
and ecx, 0x1f
mov dword [esp + 0x10], ecx
mov edx, ebx
shr edx, 0xc
and edx, 7
mov esi, ebx
shr esi, 0xf
and esi, 0x1f
mov ecx, ebx
shr ecx, 0x14
and ecx, 0x1f
jmp dword [eax*4 + 0x43d310]
movss xmm1, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm0, xmm1
jne 0x42546e
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x425481
movss xmm1, dword [edi + ecx*8 + 0x110]
addss xmm0, xmm1
movss dword [esp + 0xf4], xmm0
fld dword [esp + 0xf4]
fxam
wait
fnstsw ax
jmp 0x428540
test byte [edi + 0x3269], 0x60
je case.default.0x42522f
mov edi, dword [esp + 0x20]
mov esi, edi
shr esi, 7
and esi, 0x1f
mov edx, edi
shr edx, 0xf
and edx, 0x1f
mov ecx, edi
shr ecx, 0x14
and ecx, 0x1f
mov eax, edi
shr eax, 0x1b
shr edi, 0x19
and edi, 3
cmp edi, 1
je 0x42599c
test edi, edi
mov edi, dword [esp + 0xc]
jne case.default.0x42522f
cmp dword [edi + edx*8 + 0x114], 0xffffffff
movd xmm0, dword [0x438350]
jne 0x425503
movd xmm0, dword [edi + edx*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
movd xmm1, dword [0x438350]
jne 0x42551e
movd xmm1, dword [edi + ecx*8 + 0x110]
cmp dword [edi + eax*8 + 0x114], 0xffffffff
movss xmm2, dword [0x438350]
jne 0x425539
movss xmm2, dword [edi + eax*8 + 0x110]
xorpd xmm2, xmmword [0x4383f0]
sub esp, 0xc
movd dword [esp + 4], xmm1
movd dword [esp], xmm0
movss dword [esp + 8], xmm2
call fcn.00436e60
add esp, 0xc
fst dword [esp + 0xe0]
wait
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4287ae
movd xmm0, dword [esp + 0xe0]
movd dword [edi + esi*8 + 0x110], xmm0
mov dword [edi + esi*8 + 0x114], 0xffffffff
xor ebx, ebx
mov edx, 4
jmp 0x423b47
mov edi, ebx
xor ebx, ebx
jmp 0x423b47
and eax, 0xf8
mov ebx, dword [edi + eax + 8]
test bl, 7
jne 0x42880c
mov esi, dword [edi + eax + 0xc]
mov eax, dword [esp + 0x20]
shr eax, 0x11
mov edx, esi
shld edx, ebx, 0x14
mov dword [esp + 0x1c], esi
shr esi, 0xc
movzx ecx, dl
shl ecx, 5
xor edx, dword [edi + ecx + 0x220]
xor esi, dword [edi + ecx + 0x224]
and eax, 0xf8
or esi, edx
mov edx, dword [edi + eax + 8]
mov dword [esp + 0x18], edx
mov eax, dword [edi + eax + 0xc]
mov dword [esp + 0x14], eax
jne 0x42884c
mov ecx, dword [edi + ecx + 0x210]
add ecx, ebx
test ecx, ecx
je 0x42559a
mov eax, dword [esp + 0x20]
shr eax, 0x1b
cmp eax, 0x1c
mov dword [esp + 0x10], ecx
ja case.0x425735.5
mov esi, dword [esp + 0x20]
shr esi, 7
and esi, 0x1f
mov dword [esp + 0x30], ebx
jmp dword [eax*4 + 0x43d964]
mov dword [esp + 0x34], esi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
nop word cs:[eax + eax]
nop
mov ebx, eax
add ebx, dword [esp + 0x18]
mov ecx, edx
adc ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
jne 0x425750
jmp 0x42694a
test al, 7
jne 0x428891
mov esi, dword [esp + 0x14]
mov ebx, esi
shld ebx, eax, 0x14
movzx edi, bl
shl edi, 5
mov edx, dword [esp + 0xc]
xor ebx, dword [edx + edi + 0x220]
shr esi, 0xc
xor esi, dword [edx + edi + 0x224]
or esi, ebx
jne 0x428891
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + edi + 0x210]
mov edx, dword [esp + 0x10]
and edx, 0x1f
movq xmm0, qword [esi + edx*8 + 0x110]
movq qword [ecx + eax], xmm0
jmp 0x425bfa
mov edi, dword [esp + 0xc]
movsd xmm0, qword [edi + edx*8 + 0x110]
movq xmm1, qword [edi + ecx*8 + 0x110]
movsd xmm2, qword [edi + eax*8 + 0x110]
movapd xmm3, xmmword [0x4383e0]
xorpd xmm2, xmm3
sub esp, 0x18
movq qword [esp + 8], xmm1
movsd qword [esp], xmm0
movlpd qword [esp + 0x10], xmm2
call fcn.00436ea0
add esp, 0x18
fstp qword [esp + 0x1b0]
wait
movq xmm0, qword [esp + 0x1b0]
pxor xmm0, xmmword [0x4383e0]
movq qword [esp + 0x1b8], xmm0
fld qword [esp + 0x1b8]
fxam
wait
fnstsw ax
jmp 0x425909
test dl, 7
jne 0x4288d8
mov ecx, eax
shld ecx, edx, 0x14
mov edi, eax
movzx esi, cl
shl esi, 5
mov ebx, dword [esp + 0xc]
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
mov ebx, dword [esp + 0xc]
xor edi, dword [ebx + esi + 0x21c]
mov ebx, dword [esp + 0x10]
or edi, ecx
mov edi, dword [esp + 0xc]
jne 0x4288d8
mov eax, dword [edi + esi + 0x210]
movq xmm0, qword [eax + edx]
and ebx, 0x1f
movq qword [edi + ebx*8 + 0x110], xmm0
jmp 0x426355
mov edi, dword [esp + 0xc]
movsd xmm0, qword [edi + edx*8 + 0x110]
movq xmm1, qword [edi + ecx*8 + 0x110]
movsd xmm2, qword [edi + eax*8 + 0x110]
sub esp, 0x18
movsd qword [esp + 0x10], xmm2
movq qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.00436ea0
add esp, 0x18
fstp qword [esp + 0x1c0]
wait
movq xmm0, qword [esp + 0x1c0]
pxor xmm0, xmmword [0x4383e0]
movq qword [esp + 0x1c8], xmm0
fld qword [esp + 0x1c8]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4287bb
movq qword [edi + esi*8 + 0x110], xmm0
jmp 0x42559a
mov edi, dword [esp + 0xc]
movq xmm0, qword [edi + edx*8 + 0x110]
movq xmm1, qword [edi + ecx*8 + 0x110]
movsd xmm2, qword [edi + eax*8 + 0x110]
sub esp, 0x18
movsd qword [esp + 0x10], xmm2
movq qword [esp + 8], xmm1
movq qword [esp], xmm0
call fcn.00436ea0
add esp, 0x18
fst qword [esp + 0x1a0]
wait
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4287bb
movq xmm0, qword [esp + 0x1a0]
movq qword [edi + esi*8 + 0x110], xmm0
jmp 0x42559a
mov edi, dword [esp + 0xc]
movq xmm0, qword [edi + edx*8 + 0x110]
movq xmm1, qword [edi + ecx*8 + 0x110]
movsd xmm2, qword [edi + eax*8 + 0x110]
xorpd xmm2, xmmword [0x4383e0]
sub esp, 0x18
movq qword [esp + 8], xmm1
movq qword [esp], xmm0
movlpd qword [esp + 0x10], xmm2
call fcn.00436ea0
add esp, 0x18
fst qword [esp + 0x1a8]
wait
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4287bb
movq xmm0, qword [esp + 0x1a8]
movq qword [edi + esi*8 + 0x110], xmm0
jmp 0x42559a
mov eax, dword [esp + 0x20]
mov ecx, eax
shr ecx, 0x14
shr eax, 0x19
cmp eax, 0x30
je 0x426336
and ecx, 0x1f
cmp eax, 0x20
je 0x426348
test eax, eax
jne case.default.0x4244b9
shr esi, cl
jmp 0x42634a
mov eax, dword [esp + 0x20]
shr eax, 0x19
lea ecx, [eax - 4]
cmp ecx, 2
jb 0x425d1e
cmp eax, 0x30
je 0x426361
test eax, eax
jne case.default.0x4244b9
mov ecx, dword [esp + 0x20]
shr ecx, 0x14
shl esi, cl
jmp 0x42634a
mov edx, eax
test dl, 3
jne 0x428929
mov ecx, esi
shld ecx, edx, 0x14
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x10]
movzx edi, cl
shl edi, 5
mov edx, dword [esp + 0xc]
xor ecx, dword [edx + edi + 0x220]
shr esi, 0xc
xor esi, dword [edx + edi + 0x224]
or esi, ecx
mov esi, dword [esp + 0x10]
mov edx, eax
jne 0x428929
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + edi + 0x210]
mov eax, dword [esp + 0x20]
and eax, 0x1f
mov eax, dword [esi + eax*8 + 8]
mov dword [ecx + edx], eax
jmp 0x425bfa
mov edx, eax
test dl, 7
jne 0x428941
mov ecx, esi
shld ecx, edx, 0x14
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x10]
movzx edi, cl
shl edi, 5
mov edx, dword [esp + 0xc]
xor ecx, dword [edx + edi + 0x220]
shr esi, 0xc
xor esi, dword [edx + edi + 0x224]
or esi, ecx
mov esi, dword [esp + 0x10]
mov edx, eax
jne 0x428941
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + edi + 0x210]
mov eax, dword [esp + 0x20]
and eax, 0x1f
movq xmm0, qword [esi + eax*8 + 8]
movq qword [ecx + edx], xmm0
jmp 0x425bfa
mov dword [esp + 0x10], esi
mov edx, eax
test dl, 1
mov esi, dword [esp + 0xc]
jne 0x428959
mov ebx, dword [esp + 0x10]
mov ecx, ebx
shld ecx, edx, 0x14
movzx edi, cl
shl edi, 5
xor ecx, dword [esi + edi + 0x220]
shr ebx, 0xc
xor ebx, dword [esi + edi + 0x224]
or ebx, ecx
jne 0x428959
mov ecx, dword [esi + edi + 0x210]
mov eax, dword [esp + 0x20]
and eax, 0x1f
movzx eax, word [esi + eax*8 + 8]
mov word [ecx + edx], ax
xor ebx, ebx
mov edx, 4
mov edi, esi
jmp 0x423b47
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + eax*8 + 8]
mov edx, dword [esp + 0x14]
and edx, 0x1f
cmp ecx, dword [ebx + edx*8 + 8]
mov ecx, dword [ebx + eax*8 + 0xc]
sbb ecx, dword [ebx + edx*8 + 0xc]
mov edx, 4
jge 0x42569e
jmp 0x425cf9
mov edx, dword [esp + 0x18]
and edx, 0x1f
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + edx*8 + 8]
mov eax, dword [ebx + edx*8 + 0xc]
mov edx, dword [esp + 0x14]
and edx, 0x1f
xor eax, dword [ebx + edx*8 + 0xc]
xor ecx, dword [ebx + edx*8 + 8]
mov edx, 4
or ecx, eax
je 0x42569e
jmp 0x425cf9
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + eax*8 + 8]
mov edx, dword [esp + 0x14]
and edx, 0x1f
cmp ecx, dword [ebx + edx*8 + 8]
mov ecx, dword [ebx + eax*8 + 0xc]
sbb ecx, dword [ebx + edx*8 + 0xc]
mov edx, 4
jae 0x42569e
jmp 0x425cf9
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + eax*8 + 8]
mov edx, dword [esp + 0x14]
and edx, 0x1f
cmp ecx, dword [ebx + edx*8 + 8]
mov ecx, dword [ebx + eax*8 + 0xc]
sbb ecx, dword [ebx + edx*8 + 0xc]
mov edx, 4
jl 0x42569e
jmp 0x425cf9
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + eax*8 + 8]
mov edx, dword [esp + 0x14]
and edx, 0x1f
cmp ecx, dword [ebx + edx*8 + 8]
mov ecx, dword [ebx + eax*8 + 0xc]
sbb ecx, dword [ebx + edx*8 + 0xc]
mov edx, 4
jb 0x42569e
add edi, esi
mov eax, dword [esp + 0x30]
adc eax, dword [esp + 0x10]
add edi, 0xfffffffc
adc eax, 0xffffffff
mov dword [ebx + 0x108], edi
mov dword [ebx + 0x10c], eax
mov edi, ebx
xor ebx, ebx
jmp 0x423b47
mov ecx, dword [esp + 0x20]
shr ecx, 0x14
xor edi, edi
shld edi, esi, cl
shl esi, cl
test cl, 0x20
mov ebx, 0
cmovne edi, esi
mov ecx, dword [esp + 0xc]
mov dword [ecx + edx*8 + 0xc], edi
mov edi, dword [esp + 0xc]
cmovne esi, ebx
mov dword [edi + edx*8 + 8], esi
jmp 0x426357
mov ecx, eax
shld ecx, edx, 0x14
mov ebx, edi
mov edi, eax
movzx esi, cl
shl esi, 5
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
xor edi, dword [ebx + esi + 0x21c]
or edi, ecx
jne 0x428986
mov eax, dword [ebx + esi + 0x210]
movzx eax, byte [eax + edx]
mov ecx, dword [esp + 0x20]
and ecx, 0x1f
mov dword [ebx + ecx*8 + 8], eax
mov dword [ebx + ecx*8 + 0xc], 0
mov edx, 4
jmp 0x42569e
test dl, 3
jne 0x4289ef
mov ecx, eax
shld ecx, edx, 0x14
mov edi, eax
movzx esi, cl
shl esi, 5
mov ebx, dword [esp + 0xc]
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
mov ebx, dword [esp + 0xc]
xor edi, dword [ebx + esi + 0x21c]
mov ebx, dword [esp + 0x20]
or edi, ecx
mov edi, dword [esp + 0xc]
jne 0x4289ef
mov eax, dword [edi + esi + 0x210]
mov eax, dword [eax + edx]
jmp 0x425e94
test dl, 7
jne 0x428a14
mov ecx, eax
shld ecx, edx, 0x14
mov edi, eax
movzx esi, cl
shl esi, 5
mov ebx, dword [esp + 0xc]
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
mov ebx, dword [esp + 0xc]
xor edi, dword [ebx + esi + 0x21c]
mov ebx, dword [esp + 0x20]
or edi, ecx
mov edi, dword [esp + 0xc]
jne 0x428a14
mov eax, dword [edi + esi + 0x210]
movq xmm0, qword [eax + edx]
and ebx, 0x1f
movq qword [edi + ebx*8 + 8], xmm0
jmp 0x426355
test dl, 1
jne 0x428a2b
mov ecx, eax
shld ecx, edx, 0x14
mov edi, eax
movzx esi, cl
shl esi, 5
mov ebx, dword [esp + 0xc]
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
mov ebx, dword [esp + 0xc]
xor edi, dword [ebx + esi + 0x21c]
mov ebx, dword [esp + 0x20]
or edi, ecx
mov edi, dword [esp + 0xc]
jne 0x428a2b
mov eax, dword [edi + esi + 0x210]
movsx eax, word [eax + edx]
and ebx, 0x1f
mov dword [edi + ebx*8 + 8], eax
sar eax, 0x1f
mov dword [edi + ebx*8 + 0xc], eax
jmp 0x426355
cmp ecx, 0x1f
jg 0x426434
test ecx, ecx
je 0x4271a8
cmp ecx, 1
jne case.0x4251c6.2
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x427b40
xor edx, edx
div ecx
jmp 0x425f86
cmp ecx, 0x10
je 0x426482
cmp ecx, 4
je 0x4264a5
cmp ecx, 1
jne case.0x4251c6.2
cmp eax, 0x80000000
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jne 0x425f12
mov edx, 0x80000000
cmp esi, 0xffffffff
je 0x4283e1
test esi, esi
je 0x4283dc
cdq
idiv esi
jmp 0x4272fc
test dl, 1
jne 0x428a51
mov ecx, eax
shld ecx, edx, 0x14
mov edi, eax
movzx esi, cl
shl esi, 5
mov ebx, dword [esp + 0xc]
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
mov ebx, dword [esp + 0xc]
xor edi, dword [ebx + esi + 0x21c]
mov ebx, dword [esp + 0x20]
or edi, ecx
mov edi, dword [esp + 0xc]
jne 0x428a51
mov eax, dword [edi + esi + 0x210]
movzx eax, word [eax + edx]
jmp 0x425fe8
cmp ecx, 1
jne case.0x4251c6.2
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x425f86
xor edx, edx
div ecx
mov eax, edx
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [edi + ecx*8 + 8], eax
sar eax, 0x1f
mov dword [edi + ecx*8 + 0xc], eax
jmp 0x42559a
test dl, 3
jne 0x428a77
mov ecx, eax
shld ecx, edx, 0x14
mov edi, eax
movzx esi, cl
shl esi, 5
mov ebx, dword [esp + 0xc]
xor ecx, dword [ebx + esi + 0x218]
shr edi, 0xc
mov ebx, dword [esp + 0xc]
xor edi, dword [ebx + esi + 0x21c]
mov ebx, dword [esp + 0x20]
or edi, ecx
mov edi, dword [esp + 0xc]
jne 0x428a77
mov eax, dword [edi + esi + 0x210]
mov eax, dword [eax + edx]
and ebx, 0x1f
mov dword [edi + ebx*8 + 8], eax
mov dword [edi + ebx*8 + 0xc], 0
jmp 0x426355
cmp ecx, 0x10
jne case.0x4251c6.2
mov ecx, eax
shr ecx, 0x1f
add eax, eax
jmp 0x42648a
cmp ecx, 0x30
je 0x42644d
test ecx, ecx
jne case.0x4251c6.2
mov ecx, dword [esp + 0x18]
shl eax, cl
jmp 0x4271b6
cmp ecx, 0x10
je 0x426458
cmp ecx, 1
jne case.0x4251c6.2
cmp eax, 0x80000000
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jne 0x42605d
xor edx, edx
cmp esi, 0xffffffff
je 0x4283e1
test esi, esi
je 0x4272fc
cdq
idiv esi
jmp 0x4283e1
cmp esi, ebx
mov eax, dword [esp + 0x18]
sbb dword [esp + 0x14], eax
setl al
jmp 0x426098
cmp esi, ebx
mov eax, dword [esp + 0x18]
sbb dword [esp + 0x14], eax
setb al
movzx eax, al
mov ecx, dword [esp + 0x10]
and ecx, 0x1f
mov edi, dword [esp + 0xc]
mov dword [edi + ecx*8 + 8], eax
mov dword [edi + ecx*8 + 0xc], 0
jmp 0x426355
cmp eax, 0x20
ja case.default.0x42522f
jmp dword [eax*4 + 0x43d7c8]
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x14]
xor esi, dword [esp + 0x18]
jmp 0x4275e3
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x18], esi
mov eax, edx
shr eax, 0x1a
lea ecx, [eax + eax - 0x14]
cmp ecx, 0x20
mov esi, edx
ja case.default.0x426105
mov edx, ebx
jmp dword [ecx*4 + 0x43dab4]
xor edi, edi
mov ecx, edx
mov eax, 1
shld edi, eax, cl
mov esi, 1
shl esi, cl
xor ebx, ebx
test dl, 0x20
cmovne edi, esi
cmovne esi, ebx
mov eax, dword [esp + 0x14]
or eax, edi
mov edx, dword [esp + 0x18]
or edx, esi
jmp 0x427419
cmp eax, 0x10
ja case.default.0x42522f
jmp dword [eax*4 + 0x43d84c]
cmp dword [esp + 0x18], esi
mov eax, dword [esp + 0x10]
sbb dword [esp + 0x14], eax
setl al
jmp 0x426a64
mov edi, dword [esp + 0xc]
mov dword [edi + eax*8 + 8], esi
mov dword [edi + eax*8 + 0xc], ecx
jmp 0x426355
test eax, eax
je 0x426a55
cmp eax, 1
je 0x426a70
cmp eax, 5
jne case.default.0x42522f
mov dword [esp + 0x74], 0
mov cl, 0x3f
xor edx, edx
mov eax, dword [esp + 0x10]
mov ebx, eax
nop word [eax + eax]
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], edx
mov edx, eax
shld edx, esi, 0x1f
mov dword [esp + 0x34], edx
shr ebx, 1
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
shrd eax, edi, cl
shl esi, 0x1e
sar esi, 0x1f
shr edi, cl
test cl, 0x20
cmovne eax, edi
mov edx, 0
cmovne edi, edx
mov edx, dword [esp + 0x30]
and eax, esi
xor dword [esp + 0x74], eax
and edi, esi
xor edx, edi
dec cl
mov eax, 1
cmp eax, dword [esp + 0x20]
mov eax, 0
sbb eax, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
mov eax, ebx
jb 0x426210
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
jmp 0x42724c
cmp eax, 0x20
ja case.default.0x42522f
jmp dword [eax*4 + 0x43d5fc]
mov ecx, dword [esp + 0x10]
and ecx, dword [esp + 0x14]
and esi, dword [esp + 0x18]
jmp 0x4275e3
cmp eax, 0x34
ja case.default.0x42522f
jmp dword [eax*4 + 0x43d890]
mov ecx, esi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld eax, edx, cl
shl edx, cl
xor ebx, ebx
test cl, 0x20
cmovne eax, edx
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 0xc], eax
cmovne edx, ebx
mov dword [edi + ecx*8 + 8], edx
jmp 0x426357
cmp eax, 0x30
ja case.default.0x42522f
jmp dword [eax*4 + 0x43d704]
mov ecx, esi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shrd edx, eax, cl
shr eax, cl
xor ebx, ebx
test cl, 0x20
cmovne edx, eax
cmovne eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 0xc], eax
mov dword [edi + ecx*8 + 8], edx
jmp 0x426357
cmp eax, 0x20
ja case.default.0x42522f
jmp dword [eax*4 + 0x43d680]
mov ecx, dword [esp + 0x10]
or ecx, dword [esp + 0x14]
or esi, dword [esp + 0x18]
jmp 0x4275e3
ror esi, cl
mov dword [edi + edx*8 + 8], esi
sar esi, 0x1f
mov dword [edi + edx*8 + 0xc], esi
jmp 0x42559a
sar esi, cl
mov dword [edi + edx*8 + 8], esi
sar esi, 0x1f
mov dword [edi + edx*8 + 0xc], esi
xor ebx, ebx
mov edx, 4
jmp 0x423b47
mov eax, dword [esp + 0x20]
shr eax, 0x14
mov ecx, eax
and cl, 0x1f
cmp cl, 2
je 0x427303
and eax, 0x1f
cmp eax, 1
je 0x42733a
test eax, eax
jne case.default.0x4244b9
test esi, esi
je 0x42776b
bsr eax, esi
xor eax, 0x1f
jmp 0x427770
mov ecx, edi
mov edx, dword [esp + 0x20]
jmp 0x42858f
cmp ecx, 0x20
je 0x4271b0
cmp ecx, 0x30
jne case.0x4251c6.2
mov ecx, dword [esp + 0x18]
ror eax, cl
jmp 0x4271b6
mov ecx, dword [esp + 0x18]
rol eax, cl
jmp 0x4271b6
mov ecx, eax
shr ecx, 0x1d
shl eax, 3
jmp 0x42648a
mov ecx, edi
mov edx, dword [esp + 0x20]
call fcn.0040cea6
jmp 0x426355
mov ecx, edi
mov edx, dword [esp + 0x20]
call fcn.0040c8a7
jmp 0x427cd9
mov ecx, eax
shr ecx, 0x1e
shl eax, 2
add eax, dword [esp + 0x18]
adc ecx, edi
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [edi + edx*8 + 8], eax
mov dword [edi + edx*8 + 0xc], ecx
jmp 0x427cd9
test dword [esp + 0x20], 0x1f00000
jne case.0x4251c6.2
movzx eax, ax
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
jmp 0x427ccd
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, dword [esp + 0x20]
call fcn.0040829d
jmp 0x42559a
mov dword [esp + 0x20], ebx
nop word [eax + eax]
mov ecx, dword [edi]
cmp ecx, esi
mov ebx, esi
cmova ebx, ecx
mov eax, ecx
lock cmpxchg dword [edi], ebx
jne 0x4264e0
jmp 0x4268f1
mov dword [esp + 0x34], esi
jmp 0x42651a
mov edi, eax
mov edx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
je 0x426a13
movq xmm0, qword [ecx]
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
movd esi, xmm0
mov edx, dword [esp + 0x18]
cmp edx, esi
mov edi, dword [esp + 0x14]
mov eax, edi
sbb eax, ecx
mov eax, esi
mov esi, ecx
mov ebx, eax
jb 0x426500
mov ecx, edi
mov ebx, edx
jmp 0x426500
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x324c], 1
mov eax, dword [edi]
mov dword [ecx + 0x3250], eax
mov dword [ecx + 0x3254], 0
mov dword [ecx + ebx*8 + 8], eax
sar eax, 0x1f
mov dword [ecx + ebx*8 + 0xc], eax
lea eax, [esp + 0x38]
cmp edi, eax
jne 0x426910
jmp 0x4286b5
xchg dword [edi], esi
mov eax, dword [esp + 0xc]
mov dword [eax + ebx*8 + 8], esi
sar esi, 0x1f
mov dword [eax + ebx*8 + 0xc], esi
lea eax, [esp + 0x38]
cmp edi, eax
jne 0x426910
jmp 0x4286b5
mov dword [edi + 0x324c], 1
movq xmm0, qword [ecx]
pshufd xmm1, xmm0, 0x55
movd dword [edi + 0x3250], xmm0
movd dword [edi + 0x3254], xmm1
movd dword [edi + esi*8 + 8], xmm0
movd dword [edi + esi*8 + 0xc], xmm1
lea eax, [esp + 0x38]
cmp ecx, eax
jne 0x42559a
jmp 0x426a39
mov dword [esp + 0x14], edx
mov eax, dword [edi]
nop dword [eax + eax]
mov ecx, eax
xor ecx, esi
lock cmpxchg dword [edi], ecx
jne 0x4265f0
jmp 0x42685a
mov dword [esp + 0x20], ebx
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [edi]
cmp ecx, esi
mov ebx, esi
cmovl ebx, ecx
mov eax, ecx
lock cmpxchg dword [edi], ebx
jne 0x426610
jmp 0x4268f1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x3228]
cmp dword [eax + 0x20], 0
je 0x426676
xor ecx, ecx
jmp 0x426656
inc ecx
cmp ecx, dword [eax + 0x20]
jae 0x426676
mov ebx, dword [eax + 0x18]
mov ebx, dword [ebx + ecx*4]
mov edx, dword [esp + 0xc]
cmp ebx, edx
je 0x426650
mov dword [ebx + 0x324c], 0
mov eax, dword [edx + 0x3228]
jmp 0x426650
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x324c]
test eax, eax
je 0x426697
mov eax, dword [ebx + 0x3250]
xor ecx, ecx
lock cmpxchg dword [edi], esi
mov eax, 0
je 0x42669e
xor eax, eax
mov ecx, 1
mov edx, dword [esp + 0x20]
mov dword [ebx + edx*8 + 8], ecx
mov dword [ebx + edx*8 + 0xc], eax
mov dword [ebx + 0x324c], 0
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x38]
cmp edi, eax
jne 0x426910
jmp 0x4286b5
mov dword [esp + 0x34], esi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0x18]
nop word cs:[eax + eax]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
jne 0x4266e0
jmp 0x42694a
mov dword [esp + 0x14], edx
mov eax, dword [edi]
nop dword [eax]
mov ecx, eax
and ecx, esi
lock cmpxchg dword [edi], ecx
jne 0x426700
jmp 0x42685a
mov dword [esp + 0x34], esi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
nop dword [eax + eax]
mov ebx, eax
xor ebx, dword [esp + 0x18]
mov ecx, edx
xor ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
jne 0x426720
jmp 0x42694a
mov dword [esp + 0x34], esi
jmp 0x42676a
mov edi, eax
mov edx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
je 0x426a13
movq xmm0, qword [ecx]
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
movd esi, xmm0
mov edx, dword [esp + 0x18]
cmp esi, edx
mov eax, ecx
mov edi, dword [esp + 0x14]
sbb eax, edi
mov eax, esi
mov esi, ecx
mov ebx, eax
jl 0x426750
mov ecx, edi
mov ebx, edx
jmp 0x426750
mov eax, dword [edi + 0x3228]
cmp dword [eax + 0x20], 0
je 0x4267d2
xor ecx, ecx
jmp 0x4267b6
inc ecx
cmp ecx, dword [eax + 0x20]
jae 0x4267d2
mov edx, dword [eax + 0x18]
mov edx, dword [edx + ecx*4]
cmp edx, edi
je 0x4267b0
mov dword [edx + 0x324c], 0
mov eax, dword [edi + 0x3228]
jmp 0x4267b0
mov eax, dword [edi + 0x324c]
test eax, eax
je 0x42680c
mov eax, dword [edi + 0x3250]
mov edx, dword [edi + 0x3254]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, 0
mov esi, dword [esp + 0x34]
mov eax, 0
je 0x426813
xor eax, eax
mov ecx, 1
mov dword [edi + esi*8 + 8], ecx
mov dword [edi + esi*8 + 0xc], eax
mov dword [edi + 0x324c], 0
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x38]
cmp ecx, eax
jne 0x42559a
jmp 0x426a39
mov dword [esp + 0x14], edx
mov eax, dword [edi]
nop word cs:[eax + eax]
nop
mov ecx, eax
or ecx, esi
lock cmpxchg dword [edi], ecx
jne 0x426850
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esp + 0xc]
mov dword [edx + ebx*8 + 8], eax
mov dword [edx + ebx*8 + 0xc], ecx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x38]
cmp edi, eax
jne 0x426910
jmp 0x4286b5
mov dword [esp + 0x34], esi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
nop dword [eax]
mov ebx, eax
and ebx, dword [esp + 0x18]
mov ecx, edx
and ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
jne 0x426890
jmp 0x42694a
mov dword [esp + 0x20], ebx
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [edi]
cmp ecx, esi
mov ebx, esi
cmovg ebx, ecx
mov eax, ecx
lock cmpxchg dword [edi], ebx
jne 0x4268c0
jmp 0x4268f1
mov dword [esp + 0x20], ebx
nop word [eax + eax]
mov ecx, dword [edi]
cmp ecx, esi
mov ebx, esi
cmovb ebx, ecx
mov eax, ecx
lock cmpxchg dword [edi], ebx
jne 0x4268e0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov dword [eax + esi*8 + 8], ecx
sar ecx, 0x1f
mov dword [eax + esi*8 + 0xc], ecx
lea eax, [esp + 0x38]
cmp edi, eax
je 0x4286b5
xor ebx, ebx
mov edx, 4
mov edi, dword [esp + 0xc]
jmp 0x423b47
mov dword [esp + 0x34], esi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
nop dword [eax]
mov ebx, eax
or ebx, dword [esp + 0x18]
mov ecx, edx
or ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
jne 0x426930
mov esi, dword [esp + 0x34]
mov dword [edi + esi*8 + 8], eax
mov dword [edi + esi*8 + 0xc], edx
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x38]
cmp ecx, eax
jne 0x42559a
jmp 0x426a39
mov dword [esp + 0x34], esi
jmp 0x426996
mov edi, eax
mov edx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
je 0x426a13
movq xmm0, qword [ecx]
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
movd esi, xmm0
mov edx, dword [esp + 0x18]
cmp edx, esi
mov edi, dword [esp + 0x14]
mov eax, edi
sbb eax, ecx
mov eax, esi
mov esi, ecx
mov ebx, eax
jl 0x426980
mov ecx, edi
mov ebx, edx
jmp 0x426980
mov dword [esp + 0x34], esi
jmp 0x4269e6
mov edi, eax
mov edx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
lock cmpxchg8b qword [esi]
mov ecx, dword [esp + 0x10]
je 0x426a13
movq xmm0, qword [ecx]
pshufd xmm1, xmm0, 0x55
movd ecx, xmm1
movd esi, xmm0
mov edx, dword [esp + 0x18]
cmp esi, edx
mov eax, ecx
mov edi, dword [esp + 0x14]
sbb eax, edi
mov eax, esi
mov esi, ecx
mov ebx, eax
jb 0x4269d0
mov ecx, edi
mov ebx, edx
jmp 0x4269d0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
mov dword [eax + edx*8 + 8], edi
mov esi, dword [esp + 0x20]
mov dword [eax + edx*8 + 0xc], esi
mov edi, eax
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x38]
cmp ecx, eax
jne 0x42559a
mov ecx, edi
mov edx, ebx
push 8
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x24]
call fcn.0040bff0
add esp, 0xc
jmp 0x42559a
cmp dword [esp + 0x18], esi
mov eax, dword [esp + 0x10]
sbb dword [esp + 0x14], eax
setb al
movzx eax, al
mov ecx, dword [esp + 0x1c]
jmp 0x42865f
mov eax, esi
mov ecx, dword [esp + 0x18]
mul ecx
mov dword [esp + 0x20], edx
mov eax, esi
mul dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x10]
mov eax, esi
mul ecx
mov ebx, edx
mov ecx, eax
mov eax, esi
mul dword [esp + 0x14]
add ecx, dword [esp + 0x34]
adc ebx, 0
add ecx, dword [esp + 0x20]
adc ebx, 0
add eax, dword [esp + 0x30]
adc edx, 0
add eax, ebx
adc edx, 0
jmp 0x428576
mov ecx, dword [esp + 0x18]
sub ecx, esi
mov eax, dword [esp + 0x14]
sbb eax, dword [esp + 0x10]
jmp 0x4275bb
mov ecx, dword [esp + 0x14]
imul ecx, esi
mov eax, esi
mov esi, dword [esp + 0x18]
mul esi
add ecx, edx
mov edx, dword [esp + 0x10]
imul edx, esi
add edx, ecx
jmp 0x428576
jne case.default.0x42522f
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x428a9c
movss xmm0, dword [edi + esi*8 + 0x110]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x2c0], xmm0
fld qword [esp + 0x2c0]
fxam
wait
fnstsw ax
jmp 0x4284f1
cmp dl, 2
je 0x427b4a
movzx eax, dl
cmp eax, 1
je 0x427b99
test eax, eax
jne case.default.0x42522f
movq xmm0, qword [edi + ecx*8 + 0x110]
pand xmm0, xmmword [0x4383e0]
movq xmm1, qword [edi + esi*8 + 0x110]
pand xmm1, xmmword [0x4383d0]
jmp 0x427b83
cmp dl, 1
je 0x427781
movzx eax, dl
test eax, eax
jne case.default.0x42522f
movss xmm0, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm1, xmm0
jne 0x426b9e
movss xmm1, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x426bb1
movss xmm0, dword [edi + ecx*8 + 0x110]
ucomiss xmm0, xmm1
jbe 0x4282e5
movaps xmm0, xmm1
jmp 0x4282ee
cmp dl, 2
je 0x427bd9
movzx eax, dl
cmp eax, 1
je 0x427c28
test eax, eax
jne case.default.0x42522f
movd xmm1, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movdqa xmm0, xmm1
jne 0x426bfe
movd xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x427c0f
movd xmm1, dword [edi + ecx*8 + 0x110]
jmp 0x427c0f
jne case.default.0x42522f
movsd xmm1, qword [edi + esi*8 + 0x110]
xorps xmm0, xmm0
sqrtsd xmm0, xmm1
xor eax, eax
cvtsi2sd xmm2, eax
comisd xmm2, xmm1
jbe 0x4284dc
fnstsw ax
pushfd
pop dword [esp + 0x38]
wait
mov ecx, 0x200000
xor ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x10c], ecx
push dword [esp + 0x10c]
popfd
pushfd
pop dword [esp + 0x5c]
wait
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x38]
je 0x4284d4
mov esi, eax
mov eax, 1
cpuid
test edx, 0x2000000
jne 0x4284c7
mov eax, esi
jmp 0x4284d4
movss xmm1, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm0, xmm1
jne 0x426cb2
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x426cc5
movss xmm1, dword [edi + ecx*8 + 0x110]
mulss xmm0, xmm1
movss dword [esp + 0xfc], xmm0
fld dword [esp + 0xfc]
fxam
wait
fnstsw ax
jmp 0x428540
cmp dl, 2
je 0x427c93
movzx eax, dl
cmp eax, 1
je 0x427cb2
test eax, eax
jne case.default.0x42522f
movsd xmm0, qword [edi + ecx*8 + 0x110]
xor eax, eax
comisd xmm0, xmmword [edi + esi*8 + 0x110]
setae al
jmp 0x427cc9
cmp cl, 3
ja case.default.0x42522f
movzx eax, cl
jmp dword [eax*4 + 0x43d528]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x428eac
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dl, 1
jne 0x428ebd
comiss xmm0, dword [0x4383c0]
jbe 0x428ebd
movss xmm1, dword [0x4383bc]
comiss xmm1, xmm0
jbe 0x428ebd
cvttss2si ecx, xmm0
jmp 0x4282d1
movsd xmm0, qword [edi + esi*8 + 0x110]
mulsd xmm0, qword [edi + ecx*8 + 0x110]
movsd qword [esp + 0x1e0], xmm0
fld qword [esp + 0x1e0]
fxam
wait
fnstsw ax
jmp 0x4284f1
cmp ecx, 1
jne case.default.0x42522f
movsd xmm0, qword [edi + esi*8 + 0x110]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x148], xmm0
fld dword [esp + 0x148]
fxam
wait
fnstsw ax
jmp 0x428540
movsd xmm0, qword [edi + esi*8 + 0x110]
addsd xmm0, qword [edi + ecx*8 + 0x110]
movsd qword [esp + 0x1d0], xmm0
fld qword [esp + 0x1d0]
fxam
wait
fnstsw ax
jmp 0x4284f1
cmp dl, 1
je 0x4277c3
movzx eax, dl
test eax, eax
jne case.default.0x42522f
movsd xmm1, qword [edi + esi*8 + 0x110]
movsd xmm0, qword [edi + ecx*8 + 0x110]
ucomisd xmm0, xmm1
jbe 0x42832b
movapd xmm0, xmm1
jmp 0x428335
movss xmm1, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm0, xmm1
jne 0x426e55
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x426e68
movss xmm1, dword [edi + ecx*8 + 0x110]
subss xmm0, xmm1
movss dword [esp + 0xf8], xmm0
fld dword [esp + 0xf8]
fxam
wait
fnstsw ax
jmp 0x428540
movsd xmm0, qword [edi + esi*8 + 0x110]
subsd xmm0, qword [edi + ecx*8 + 0x110]
movsd qword [esp + 0x1d8], xmm0
fld qword [esp + 0x1d8]
fxam
wait
fnstsw ax
jmp 0x4284f1
cmp cl, 3
ja case.default.0x42522f
movzx eax, cl
jmp dword [eax*4 + 0x43d4f8]
cvtsi2sd xmm0, dword [edi + esi*8 + 8]
movsd qword [esp + 0x348], xmm0
fld qword [esp + 0x348]
fxam
wait
fnstsw ax
jmp 0x4284f1
movsd xmm0, qword [edi + esi*8 + 0x110]
divsd xmm0, qword [edi + ecx*8 + 0x110]
movsd qword [esp + 0x1e8], xmm0
fld qword [esp + 0x1e8]
fxam
wait
fnstsw ax
jmp 0x4284f1
cmp cl, 3
ja case.default.0x42522f
movzx eax, cl
jmp dword [eax*4 + 0x43d508]
cvtsi2ss xmm0, dword [edi + esi*8 + 8]
movss dword [esp + 0x174], xmm0
fld dword [esp + 0x174]
fxam
wait
fnstsw ax
jmp 0x428540
jne case.default.0x42522f
cmp dl, 1
je 0x4277e8
movzx eax, dl
test eax, eax
jne case.default.0x42522f
movsd xmm0, qword [edi + esi*8 + 0x110]
mov eax, dword [esp + 0x10]
movsd qword [edi + eax*8 + 8], xmm0
jmp 0x427cd9
or ecx, edx
jne case.default.0x42522f
movsd xmm0, qword [edi + esi*8 + 8]
mov eax, dword [esp + 0x10]
movsd qword [edi + eax*8 + 0x110], xmm0
jmp 0x427cd9
movss xmm1, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm0, xmm1
jne 0x426fb4
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x426fc7
movss xmm1, dword [edi + ecx*8 + 0x110]
divss xmm0, xmm1
movss dword [esp + 0x100], xmm0
fld dword [esp + 0x100]
fxam
wait
fnstsw ax
jmp 0x428540
jne case.default.0x42522f
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x428aa9
movss xmm1, dword [edi + esi*8 + 0x110]
xor eax, eax
cvtsi2ss xmm2, eax
sqrtss xmm0, xmm1
comiss xmm2, xmm1
jbe 0x42852b
fnstsw ax
pushfd
pop dword [esp + 0x38]
wait
mov ecx, 0x200000
xor ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x108], ecx
push dword [esp + 0x108]
popfd
pushfd
pop dword [esp + 0x5c]
wait
mov ecx, dword [esp + 0x5c]
cmp ecx, dword [esp + 0x38]
je 0x428523
mov esi, eax
mov eax, 1
cpuid
test edx, 0x2000000
jne 0x428516
mov eax, esi
jmp 0x428523
cmp dl, 2
je 0x427ce5
movzx eax, dl
cmp eax, 1
je 0x427d29
test eax, eax
jne case.default.0x42522f
movss xmm0, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm1, xmm0
jne 0x4270a4
movss xmm1, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x4270b7
movss xmm0, dword [edi + ecx*8 + 0x110]
xor eax, eax
comiss xmm0, xmm1
setae al
jmp 0x42865b
cmp cl, 3
ja case.default.0x42522f
movzx eax, cl
jmp dword [eax*4 + 0x43d518]
movsd xmm0, qword [edi + esi*8 + 0x110]
cmp dl, 1
jne 0x428c8e
comisd xmm0, xmmword [0x438390]
jbe 0x428c8e
movsd xmm1, qword [0x438388]
comisd xmm1, xmm0
jbe 0x428c8e
cvttsd2si ecx, xmm0
jmp 0x4282d1
jne case.default.0x42522f
cmp dl, 1
je 0x42784f
movzx eax, dl
test eax, eax
jne case.default.0x42522f
mov eax, dword [edi + esi*8 + 0x110]
mov ecx, dword [esp + 0x10]
jmp 0x4271be
or ecx, edx
jne case.default.0x42522f
mov eax, dword [edi + esi*8 + 8]
mov ecx, dword [esp + 0x10]
mov dword [edi + ecx*8 + 0x110], eax
mov dword [edi + ecx*8 + 0x114], 0xffffffff
jmp 0x427cd9
mov edx, dword [esp + 0x18]
add edx, eax
adc edi, 0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [eax + ecx*8 + 8], edx
mov dword [eax + ecx*8 + 0xc], edi
mov edi, eax
jmp 0x427cd9
sub eax, dword [esp + 0x18]
jmp 0x4271b6
mov ecx, dword [esp + 0x18]
imul ecx, eax
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [edi + eax*8 + 8], ecx
sar ecx, 0x1f
mov dword [edi + eax*8 + 0xc], ecx
jmp 0x427cd9
mov ecx, dword [esp + 0x18]
shr eax, cl
jmp 0x4271b6
mov ecx, dword [esp + 0x18]
sar eax, cl
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [edi + ecx*8 + 8], eax
sar eax, 0x1f
mov dword [edi + ecx*8 + 0xc], eax
jmp 0x427cd9
mov dword [esp + 0x34], 0
mov cl, 0x3f
xor edx, edx
mov edi, dword [esp + 0x10]
mov ebx, edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x30], edx
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
shrd edi, eax, cl
and esi, 1
neg esi
shr eax, cl
test cl, 0x20
cmovne edi, eax
mov edx, 0
cmovne eax, edx
mov edx, dword [esp + 0x30]
and edi, esi
xor dword [esp + 0x34], edi
and eax, esi
xor edx, eax
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
shld eax, edi, 0x1f
shr ebx, 1
dec cl
mov esi, 1
cmp esi, edi
mov esi, 0
sbb esi, dword [esp + 0x10]
mov esi, eax
mov edi, ebx
jb 0x4271e0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [edi + eax*8 + 8], ecx
mov dword [edi + eax*8 + 0xc], edx
jmp 0x42559a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shld eax, ecx, 1
add ecx, ecx
jmp 0x4275db
mov eax, esi
mul dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov eax, esi
mov ebx, esi
mov ecx, dword [esp + 0x14]
mul ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], edx
sar ecx, 0x1f
imul ebx, ecx
mov esi, dword [esp + 0x10]
mov eax, esi
mul dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x74], edx
add ebx, dword [esp + 0x20]
mov dword [esp + 0x20], ebx
imul ecx, esi
mov eax, esi
mul dword [esp + 0x14]
mov esi, eax
add ecx, edx
mov edx, dword [esp + 0x30]
sar edx, 0x1f
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
adc eax, 0
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x30]
adc eax, edx
mov ebx, dword [esp + 0x20]
mov edx, ebx
sar edx, 0x1f
add esi, ebx
adc edx, ecx
add esi, eax
adc edx, 0
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 8], esi
mov dword [edi + ecx*8 + 0xc], edx
jmp 0x42559a
mov edx, eax
jmp 0x4283e1
mov eax, esi
shr eax, 1
and eax, 0x55555555
sub esi, eax
mov eax, esi
and eax, 0x33333333
shr esi, 2
and esi, 0x33333333
add esi, eax
mov eax, esi
shr eax, 4
add eax, esi
and eax, 0xf0f0f0f
imul eax, eax, 0x1010101
shr eax, 0x18
jmp 0x427770
test esi, esi
je 0x42776b
tzcnt eax, esi
jmp 0x427770
add eax, eax
jne case.0x426105.21
mov ecx, ebx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shld eax, edx, cl
shl edx, cl
xor ebx, ebx
test cl, 0x20
cmovne eax, edx
cmovne edx, ebx
jmp 0x427419
mov eax, edx
and al, 0x3f
cmp al, 5
ja case.0x426105.21
and edx, 0x3f
jmp dword [edx*4 + 0x43db38]
mov edx, dword [esp + 0x18]
mov eax, edx
mov edi, dword [esp + 0x14]
or eax, edi
je 0x428df0
xor eax, eax
test edi, edi
sete al
shl eax, 5
mov ecx, eax
xor cl, 0x20
cmovne edx, edi
test edx, edx
je 0x428670
bsr ecx, edx
xor ecx, 0x1f
jmp 0x428675
xor edi, edi
mov ecx, edx
mov eax, 1
shld edi, eax, cl
mov esi, 1
shl esi, cl
xor ebx, ebx
test dl, 0x20
cmovne edi, esi
cmovne esi, ebx
mov eax, dword [esp + 0x14]
xor eax, edi
mov edx, dword [esp + 0x18]
xor edx, esi
jmp 0x427419
xor edi, edi
mov ecx, edx
mov eax, 1
shld edi, eax, cl
mov esi, 1
shl esi, cl
xor ebx, ebx
test dl, 0x20
cmovne edi, esi
cmovne esi, ebx
not edi
mov eax, dword [esp + 0x14]
and eax, edi
not esi
mov edx, dword [esp + 0x18]
and edx, esi
mov edi, dword [esp + 0x10]
and edi, 0x1f
mov ecx, dword [esp + 0xc]
mov dword [ecx + edi*8 + 0xc], eax
mov dword [ecx + edi*8 + 8], edx
mov edi, ecx
jmp 0x426357
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [esp + 0x18]
jne 0x42745f
mov eax, esi
and eax, dword [esp + 0x10]
cmp eax, 0xffffffff
mov eax, 0
mov edx, 0x80000000
je 0x428576
mov eax, esi
mov edx, dword [esp + 0x10]
or eax, edx
je 0x427dc2
push edx
push esi
push ebx
push dword [esp + 0x24]
call fcn.00436d60
jmp 0x427aed
xor esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x14]
not esi
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*8 + 8], esi
not ecx
mov dword [edi + eax*8 + 0xc], ecx
jmp 0x42559a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shld eax, ecx, 2
shl ecx, 2
jmp 0x4275db
mov edx, dword [esp + 0x18]
cmp edx, esi
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov ebx, dword [esp + 0x10]
sbb eax, ebx
jmp 0x427606
mov eax, esi
mov edx, dword [esp + 0x10]
or eax, edx
je 0x4283cf
push edx
push esi
push dword [esp + 0x1c]
push dword [esp + 0x24]
call fcn.00436e30
jmp 0x427aed
mov ecx, dword [esp + 0x10]
not ecx
mov eax, dword [esp + 0x14]
and eax, ecx
not esi
mov ecx, dword [esp + 0x18]
and ecx, esi
mov edx, dword [esp + 0x1c]
mov dword [edi + edx*8 + 8], ecx
mov dword [edi + edx*8 + 0xc], eax
jmp 0x427cd9
xor eax, eax
or esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmovne edx, eax
mov ecx, dword [esp + 0x14]
cmovne ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*8 + 0xc], ecx
mov dword [edi + eax*8 + 8], edx
jmp 0x427cd9
mov edx, dword [esp + 0x18]
cmp esi, edx
mov ebx, dword [esp + 0x10]
mov eax, ebx
mov ecx, dword [esp + 0x14]
sbb eax, ecx
cmovb esi, edx
cmovb ebx, ecx
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*8 + 0xc], ebx
mov dword [edi + eax*8 + 8], esi
jmp 0x427cd9
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov ecx, 0x80000000
xor eax, ecx
or eax, dword [esp + 0x18]
jne 0x427588
xor eax, eax
mov ecx, esi
and ecx, dword [esp + 0x10]
cmp ecx, 0xffffffff
mov edx, 0
je 0x428576
mov eax, esi
mov edx, dword [esp + 0x10]
or eax, edx
je 0x428570
push edx
push esi
push ebx
push dword [esp + 0x24]
call fcn.00436dd0
jmp 0x427aed
mov ecx, dword [esp + 0x10]
not ecx
mov eax, dword [esp + 0x14]
or eax, ecx
not esi
mov ecx, dword [esp + 0x18]
or ecx, esi
mov edx, dword [esp + 0x1c]
mov dword [edi + edx*8 + 8], ecx
mov dword [edi + edx*8 + 0xc], eax
jmp 0x42559a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shld eax, ecx, 3
shl ecx, 3
add esi, ecx
mov ecx, dword [esp + 0x10]
adc ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*8 + 8], esi
mov dword [edi + eax*8 + 0xc], ecx
jmp 0x42559a
mov edx, dword [esp + 0x18]
cmp esi, edx
mov ebx, dword [esp + 0x10]
mov eax, ebx
mov ecx, dword [esp + 0x14]
sbb eax, ecx
cmovl esi, edx
cmovl ebx, ecx
jmp 0x427abf
mov eax, 0x20
mov dword [edi + edx*8 + 8], eax
mov dword [edi + edx*8 + 0xc], 0
jmp 0x426355
movss xmm0, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm1, xmm0
jne 0x42779f
movss xmm1, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x4277b2
movss xmm0, dword [edi + ecx*8 + 0x110]
ucomiss xmm1, xmm0
jbe 0x428308
movaps xmm0, xmm1
jmp 0x428311
movsd xmm1, qword [edi + esi*8 + 0x110]
movsd xmm0, qword [edi + ecx*8 + 0x110]
ucomisd xmm1, xmm0
jbe 0x42834f
movapd xmm0, xmm1
jmp 0x428359
movsd xmm0, qword [edi + esi*8 + 0x110]
movsd qword [esp + 0x338], xmm0
fld qword [esp + 0x338]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x3fff
jg 0x428373
cmp eax, 0x400
je 0x4285dd
cmp eax, 0x500
jne 0x428599
movsd qword [esp + 0x320], xmm0
xor eax, eax
cmp dword [esp + 0x324], 0
mov ecx, 7
cmovs ecx, eax
jmp 0x428654
movss xmm0, dword [edi + esi*8 + 0x110]
movss dword [esp + 0x170], xmm0
fld dword [esp + 0x170]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x3fff
jg 0x4283a8
cmp eax, 0x400
je 0x428639
cmp eax, 0x500
jne 0x4285ff
movd eax, xmm0
xor edx, edx
test eax, eax
mov ecx, 7
cmovs ecx, edx
jmp 0x428654
xor edx, edx
mov ecx, esi
mov eax, 1
shld edx, eax, cl
mov eax, dword [esp + 0x1c]
mov esi, 1
shl esi, cl
xor ebx, ebx
test cl, 0x20
cmovne edx, esi
cmovne esi, ebx
not edx
mov ecx, dword [esp + 0x14]
and ecx, edx
not esi
mov edx, dword [esp + 0x18]
and edx, esi
mov dword [edi + eax*8 + 0xc], ecx
mov dword [edi + eax*8 + 8], edx
mov edx, 4
jmp 0x423b47
xor edx, edx
mov ecx, esi
mov eax, 1
shld edx, eax, cl
mov eax, dword [esp + 0x1c]
mov esi, 1
shl esi, cl
xor ebx, ebx
test cl, 0x20
cmovne edx, esi
cmovne esi, ebx
or edx, dword [esp + 0x14]
or esi, dword [esp + 0x18]
jmp 0x427945
xor edx, edx
mov ecx, esi
mov eax, 1
shld edx, eax, cl
mov eax, dword [esp + 0x1c]
mov esi, 1
shl esi, cl
xor ebx, ebx
test cl, 0x20
cmovne edx, esi
cmovne esi, ebx
xor edx, dword [esp + 0x14]
xor esi, dword [esp + 0x18]
mov dword [edi + eax*8 + 0xc], edx
mov dword [edi + eax*8 + 8], esi
jmp 0x426357
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, esi
mov ecx, dword [esp + 0x10]
mov esi, ecx
shld esi, eax, 0x1f
mov dword [esp + 0x20], esi
and eax, 1
neg eax
mov esi, eax
and esi, edx
xor dword [esp + 0x30], esi
and eax, ebx
xor dword [esp + 0x34], eax
shr ecx, 1
shld ebx, edx, 1
add edx, edx
mov esi, edx
or esi, ebx
mov eax, dword [esp + 0x20]
jne 0x427970
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [edi + ebx*8 + 8], eax
mov eax, dword [esp + 0x34]
mov dword [edi + ebx*8 + 0xc], eax
jmp 0x42559a
mov edi, dword [esp + 0x14]
mov ecx, edi
sar ecx, 0x1f
mov eax, esi
mov ebx, dword [esp + 0x18]
mul ebx
mov dword [esp + 0x20], edx
mov eax, esi
mul edi
mov dword [esp + 0x30], eax
imul ecx, esi
add ecx, edx
mov edi, dword [esp + 0x10]
mov eax, edi
mul ebx
mov dword [esp + 0x34], eax
mov ebx, edx
mov esi, edi
sar esi, 0x1f
mov eax, edi
imul dword [esp + 0x14]
imul esi, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
add edi, dword [esp + 0x30]
adc ebx, esi
add edi, dword [esp + 0x20]
adc ebx, 0
mov esi, ecx
sar esi, 0x1f
mov edi, ebx
sar edi, 0x1f
add eax, ecx
adc esi, edx
add eax, ebx
adc esi, edi
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 8], eax
mov dword [edi + ecx*8 + 0xc], esi
jmp 0x42559a
mov ecx, esi
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
shrd ebx, edx, cl
mov eax, edx
sar eax, cl
sar edx, 0x1f
test cl, 0x20
cmovne ebx, eax
cmove edx, eax
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*8 + 0xc], edx
mov dword [edi + eax*8 + 8], ebx
jmp 0x42559a
xor ebx, ebx
or esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmove eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 0xc], eax
mov eax, dword [esp + 0x18]
cmove eax, ebx
mov dword [edi + ecx*8 + 8], eax
mov edx, 4
jmp 0x423b47
mov ecx, esi
test cl, 0x20
mov edx, dword [esp + 0x18]
mov eax, edx
mov ebx, dword [esp + 0x14]
cmove eax, ebx
cmove ebx, edx
mov edx, ebx
shrd edx, eax, cl
shrd eax, ebx, cl
jmp 0x427b12
mov edx, dword [esp + 0x18]
cmp edx, esi
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov ebx, dword [esp + 0x10]
sbb eax, ebx
cmovb esi, edx
cmovb ebx, ecx
mov eax, dword [esp + 0x1c]
mov dword [edi + eax*8 + 0xc], ebx
mov dword [edi + eax*8 + 8], esi
jmp 0x42559a
mov eax, esi
mov edx, dword [esp + 0x10]
or eax, edx
je 0x427dc2
push edx
push esi
push dword [esp + 0x1c]
push dword [esp + 0x24]
call fcn.00436db0
add esp, 0x10
jmp 0x428576
mov ecx, esi
test cl, 0x20
mov edx, dword [esp + 0x14]
mov eax, edx
mov ebx, dword [esp + 0x18]
cmovne eax, ebx
cmovne ebx, edx
mov edx, ebx
shld edx, eax, cl
shld eax, ebx, cl
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 0xc], eax
mov dword [edi + ecx*8 + 8], edx
jmp 0x42559a
mov ecx, esi
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
shrd edx, eax, cl
shr eax, cl
test cl, 0x20
cmove eax, edx
and eax, 1
jmp 0x426a67
mov eax, 0xffffffff
jmp 0x425f86
movq xmm0, qword [edi + esi*8 + 0x110]
mov eax, dword [edi + ecx*8 + 0x114]
movq qword [esp + 0x1f8], xmm0
xor eax, dword [esp + 0x1fc]
movd xmm1, eax
pshufd xmm1, xmm1, 0
pand xmm0, xmmword [0x4383d0]
pand xmm1, xmmword [0x4383e0]
por xmm1, xmm0
mov eax, dword [esp + 0x10]
movq qword [edi + eax*8 + 0x110], xmm1
jmp 0x427cd9
movsd xmm0, qword [edi + ecx*8 + 0x110]
xorpd xmm0, xmmword [0x4383e0]
movsd xmm1, qword [edi + esi*8 + 0x110]
movapd xmm2, xmmword [0x4383d0]
andpd xmm1, xmm2
andnpd xmm2, xmm0
orpd xmm2, xmm1
mov eax, dword [esp + 0x10]
movlpd qword [edi + eax*8 + 0x110], xmm2
jmp 0x427cd9
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x428dd0
movd xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x428de6
mov eax, dword [edi + ecx*8 + 0x110]
movd ecx, xmm0
xor ecx, eax
movd xmm1, ecx
pand xmm1, xmmword [0x4383f0]
pand xmm0, xmmword [0x438400]
por xmm0, xmm1
jmp 0x428553
movd xmm1, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movdqa xmm0, xmm1
jne 0x427c47
movd xmm0, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x427c5a
movd xmm1, dword [edi + ecx*8 + 0x110]
pxor xmm1, xmmword [0x4383f0]
movdqa xmm2, xmmword [0x438400]
pand xmm0, xmm2
pandn xmm2, xmm1
por xmm2, xmm0
mov eax, dword [esp + 0x10]
movd dword [edi + eax*8 + 0x110], xmm2
mov dword [edi + eax*8 + 0x114], 0xffffffff
jmp 0x42559a
movsd xmm0, qword [edi + esi*8 + 0x110]
ucomisd xmm0, qword [edi + ecx*8 + 0x110]
setnp al
sete cl
and cl, al
movzx eax, cl
jmp 0x427cc9
movsd xmm0, qword [edi + ecx*8 + 0x110]
xor eax, eax
comisd xmm0, xmmword [edi + esi*8 + 0x110]
seta al
mov ecx, dword [esp + 0x10]
mov dword [edi + ecx*8 + 8], eax
mov dword [edi + ecx*8 + 0xc], 0
mov edx, 4
xor ebx, ebx
jmp 0x423b47
movss xmm0, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm1, xmm0
jne 0x427d03
movss xmm1, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x427d16
movss xmm0, dword [edi + ecx*8 + 0x110]
ucomiss xmm1, xmm0
setnp al
sete cl
and cl, al
movzx eax, cl
jmp 0x42865b
movss xmm0, dword [0x438350]
cmp dword [edi + esi*8 + 0x114], 0xffffffff
movaps xmm1, xmm0
jne 0x427d47
movss xmm1, dword [edi + esi*8 + 0x110]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
jne 0x427d5a
movss xmm0, dword [edi + ecx*8 + 0x110]
xor eax, eax
comiss xmm0, xmm1
seta al
jmp 0x42865b
mov eax, 0xffffffff
mov edx, 0xffffffff
jmp 0x428576
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x428dfb
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dl, 1
jne 0x428e0c
comiss xmm0, dword [0x4383b4]
jbe 0x428e0c
movss xmm1, dword [0x4383b0]
comiss xmm1, xmm0
jbe 0x428e0c
movss dword [esp + 0x98], xmm0
fld dword [esp + 0x98]
wait
fnstcw word [esp + 0x72]
movzx eax, word [esp + 0x72]
or eax, 0xc00
mov word [esp + 0x96], ax
fldcw word [esp + 0x96]
fistp qword [esp + 0x98]
fldcw word [esp + 0x72]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
jmp 0x4281ac
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x428f60
movss xmm0, dword [edi + esi*8 + 0x110]
cmp dl, 1
jne 0x428f71
comiss xmm0, dword [0x4383a8]
jbe 0x428f71
movss xmm1, dword [0x4383ac]
comiss xmm1, xmm0
jbe 0x428f71
movss xmm1, dword [0x4383b0]
comiss xmm0, xmm1
jae 0x427ea9
xorps xmm1, xmm1
subss xmm0, xmm1
movss dword [esp + 0xa8], xmm0
setae al
fld dword [esp + 0xa8]
wait
fnstcw word [esp + 0x6e]
movzx ecx, word [esp + 0x6e]
or ecx, 0xc00
mov word [esp + 0x92], cx
fldcw word [esp + 0x92]
fistp qword [esp + 0xa8]
fldcw word [esp + 0x6e]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x10]
jmp 0x4275bf
cmp dword [edi + esi*8 + 0x114], 0xffffffff
jne 0x42902e
movss xmm0, dword [edi + esi*8 + 0x110]
movzx eax, dl
cvtsi2ss xmm2, eax
mov eax, 1
cvtsi2ss xmm1, eax
ucomiss xmm2, xmm1
setp al
setne cl
or cl, al
jne 0x428ab6
comiss xmm0, dword [0x4383a8]
jbe 0x428ab6
movss xmm1, dword [0x4383b8]
comiss xmm1, xmm0
jbe 0x428ab6
movss xmm1, dword [0x4383bc]
comiss xmm0, xmm1
xorps xmm2, xmm2
jb 0x427f70
movaps xmm2, xmm1
setae al
movzx eax, al
shl eax, 0x1f
subss xmm0, xmm2
cvttss2si ecx, xmm0
jmp 0x4282cf
fild qword [edi + esi*8 + 8]
fstp qword [esp + 0x368]
wait
movsd xmm0, qword [esp + 0x368]
movsd qword [esp + 0x360], xmm0
fld qword [esp + 0x360]
fxam
wait
fnstsw ax
jmp 0x4284f1
fild qword [edi + esi*8 + 8]
fstp dword [esp + 0x184]
wait
movss xmm0, dword [esp + 0x184]
movss dword [esp + 0x180], xmm0
fld dword [esp + 0x180]
fxam
wait
fnstsw ax
jmp 0x428540
mov eax, dword [edi + esi*8 + 0xc]
movsd xmm0, qword [edi + esi*8 + 8]
movlps qword [esp + 0x380], xmm0
shr eax, 0x1f
fild qword [esp + 0x380]
fadd dword [eax*4 + 0x438340]
fstp qword [esp + 0x378]
wait
movsd xmm0, qword [esp + 0x378]
movsd qword [esp + 0x370], xmm0
fld qword [esp + 0x370]
fxam
wait
fnstsw ax
jmp 0x4284f1
mov eax, dword [edi + esi*8 + 0xc]
movsd xmm0, qword [edi + esi*8 + 8]
movlps qword [esp + 0x340], xmm0
fild qword [esp + 0x340]
wait
fnstcw word [esp + 0x62]
movzx ecx, word [esp + 0x62]
or ecx, 0x300
mov word [esp + 0x86], cx
fldcw word [esp + 0x86]
shr eax, 0x1f
fadd dword [eax*4 + 0x438340]
fldcw word [esp + 0x62]
fstp dword [esp + 0x18c]
wait
movss xmm0, dword [esp + 0x18c]
movss dword [esp + 0x188], xmm0
fld dword [esp + 0x188]
fxam
wait
fnstsw ax
jmp 0x428540
mov eax, dword [edi + esi*8 + 8]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], 0
fild qword [esp + 0x198]
fstp qword [esp + 0x358]
wait
movsd xmm0, qword [esp + 0x358]
movsd qword [esp + 0x350], xmm0
fld qword [esp + 0x350]
fxam
wait
fnstsw ax
jmp 0x4284f1
mov eax, dword [edi + esi*8 + 8]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], 0
fild qword [esp + 0x190]
fstp dword [esp + 0x17c]
wait
movss xmm0, dword [esp + 0x17c]
movss dword [esp + 0x178], xmm0
fld dword [esp + 0x178]
fxam
wait
fnstsw ax
jmp 0x428540
movsd xmm0, qword [edi + esi*8 + 0x110]
cmp dl, 1
jne 0x428b2a
comisd xmm0, xmmword [0x438370]
jbe 0x428b2a
movsd xmm1, qword [0x438368]
comisd xmm1, xmm0
jbe 0x428b2a
movsd qword [esp + 0xb8], xmm0
fld qword [esp + 0xb8]
wait
fnstcw word [esp + 0x6a]
movzx eax, word [esp + 0x6a]
or eax, 0xc00
mov word [esp + 0x8e], ax
fldcw word [esp + 0x8e]
fistp qword [esp + 0xb8]
fldcw word [esp + 0x6a]
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x10]
mov dword [edi + edx*8 + 8], eax
mov dword [edi + edx*8 + 0xc], ecx
jmp 0x42559a
movsd xmm0, qword [edi + esi*8 + 0x110]
cmp dl, 1
jne 0x428bcc
comisd xmm0, xmmword [0x438358]
jbe 0x428bcc
movsd xmm1, qword [0x438360]
comisd xmm1, xmm0
jbe 0x428bcc
movsd xmm1, qword [0x438368]
comisd xmm0, xmm1
jae 0x428201
xorpd xmm1, xmm1
subsd xmm0, xmm1
movsd qword [esp + 0xc8], xmm0
setae al
fld qword [esp + 0xc8]
wait
fnstcw word [esp + 0x66]
movzx ecx, word [esp + 0x66]
or ecx, 0xc00
mov word [esp + 0x8a], cx
fldcw word [esp + 0x8a]
fistp qword [esp + 0xc8]
fldcw word [esp + 0x66]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x10]
jmp 0x4275bf
movzx eax, dl
cvtsi2ss xmm2, eax
mov eax, 1
cvtsi2ss xmm1, eax
ucomiss xmm2, xmm1
movsd xmm0, qword [edi + esi*8 + 0x110]
setp al
setne cl
or cl, al
jne 0x428d2d
comisd xmm0, xmmword [0x438358]
jbe 0x428d2d
movsd xmm1, qword [0x438378]
comisd xmm1, xmm0
jbe 0x428d2d
movsd xmm1, qword [0x438388]
comisd xmm0, xmm1
xorps xmm2, xmm2
jb 0x4282be
movapd xmm2, xmm1
setae al
movzx eax, al
shl eax, 0x1f
subsd xmm0, xmm2
cvttsd2si ecx, xmm0
xor ecx, eax
mov eax, dword [esp + 0x10]
mov dword [edi + eax*8 + 8], ecx
sar ecx, 0x1f
mov dword [edi + eax*8 + 0xc], ecx
jmp 0x42559a
ucomiss xmm1, xmm0
jbe 0x42903b
movss dword [esp + 0x110], xmm0
fld dword [esp + 0x110]
fxam
wait
fnstsw ax
jmp 0x428540
ucomiss xmm0, xmm1
jbe 0x4290a2
movss dword [esp + 0x12c], xmm0
fld dword [esp + 0x12c]
fxam
wait
fnstsw ax
jmp 0x428540
ucomisd xmm1, xmm0
jbe 0x429106
movsd qword [esp + 0x200], xmm0
fld qword [esp + 0x200]
fxam
wait
fnstsw ax
jmp 0x4284f1
ucomisd xmm0, xmm1
jbe 0x42917a
movsd qword [esp + 0x260], xmm0
fld qword [esp + 0x260]
fxam
wait
fnstsw ax
jmp 0x4284f1
cmp eax, 0x4000
je 0x4285f9
cmp eax, 0x4400
jne 0x428599
movsd qword [esp + 0x330], xmm0
xor eax, eax
cmp dword [esp + 0x334], 0
setns al
lea ecx, [eax + eax*2 + 2]
jmp 0x428654
cmp eax, 0x4000
je 0x428647
cmp eax, 0x4400
jne 0x4285ff
movmskps eax, xmm0
not eax
and eax, 1
lea ecx, [eax + eax*2 + 2]
jmp 0x428654
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x428576
mov edx, 0xffffffff
mov dword [edi + ecx*8 + 8], edx
sar edx, 0x1f
mov dword [edi + ecx*8 + 0xc], edx
jmp 0x42559a
mov ecx, dword [esp + 0x18]
mov eax, ecx
mov edi, dword [esp + 0x14]
or eax, edi
je 0x428df0
xor eax, eax
test ecx, ecx
sete al
shl eax, 5
cmove edi, ecx
test edi, edi
je 0x428670
tzcnt ecx, edi
jmp 0x428675
movsx eax, word [esp + 0x18]
jmp 0x42842d
movsx eax, byte [esp + 0x18]
mov edi, dword [esp + 0x10]
and edi, 0x1f
mov ecx, dword [esp + 0xc]
mov dword [ecx + edi*8 + 8], eax
sar eax, 0x1f
mov dword [ecx + edi*8 + 0xc], eax
mov edi, ecx
jmp 0x426355
mov ecx, dword [esp + 0x18]
mov eax, ecx
shr eax, 1
and eax, 0x55555555
sub ecx, eax
mov eax, ecx
and eax, 0x33333333
shr ecx, 2
and ecx, 0x33333333
add ecx, eax
mov eax, ecx
shr eax, 4
add eax, ecx
and eax, 0xf0f0f0f
imul eax, eax, 0x1010101
shr eax, 0x18
mov edx, dword [esp + 0x14]
mov ecx, edx
shr ecx, 1
and ecx, 0x55555555
sub edx, ecx
mov ecx, edx
and ecx, 0x33333333
shr edx, 2
and edx, 0x33333333
add edx, ecx
mov ecx, edx
shr ecx, 4
add ecx, edx
and ecx, 0xf0f0f0f
imul ecx, ecx, 0x1010101
shr ecx, 0x18
add cl, al
movzx eax, cl
mov edi, dword [esp + 0x10]
jmp 0x42867e
stmxcsr dword [esp + 0x38]
wait
mov eax, esi
or ax, word [esp + 0x38]
test al, 1
je 0x428da6
movsd qword [esp + 0x1f0], xmm0
fld qword [esp + 0x1f0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4288ef
mov eax, dword [esp + 0x10]
movsd qword [edi + eax*8 + 0x110], xmm0
jmp 0x42559a
stmxcsr dword [esp + 0x38]
wait
mov eax, esi
or ax, word [esp + 0x38]
test al, 1
je 0x428dbb
movss dword [esp + 0x104], xmm0
fld dword [esp + 0x104]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4288fc
mov eax, dword [esp + 0x10]
movd dword [edi + eax*8 + 0x110], xmm0
mov dword [edi + eax*8 + 0x114], 0xffffffff
jmp 0x42559a
mov eax, dword [esp + 0x18]
mov edx, ebx
mov ecx, dword [esp + 0x1c]
mov dword [edi + ecx*8 + 8], eax
mov dword [edi + ecx*8 + 0xc], edx
jmp 0x42559a
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, esi
call fcn.0040829d
jmp 0x426355
movsd qword [esp + 0x318], xmm0
fld qword [esp + 0x318]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 9
cmp eax, 0x100
jne 0x428654
movsd qword [esp + 0x310], xmm0
mov eax, 0x80000
and eax, dword [esp + 0x314]
jmp 0x428631
movsd qword [esp + 0x328], xmm0
xor eax, eax
cmp dword [esp + 0x32c], 0
setns al
lea ecx, [eax + eax*4 + 1]
jmp 0x428654
movmskpd eax, xmm0
jmp 0x42864a
movss dword [esp + 0x16c], xmm0
fld dword [esp + 0x16c]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 9
cmp eax, 0x100
jne 0x428654
movd eax, xmm0
and eax, 0x400000
cmp eax, 1
sbb ecx, 0
jmp 0x428654
movmskps eax, xmm0
not eax
and eax, 1
lea ecx, [eax + eax*4 + 1]
jmp 0x428654
movmskps eax, xmm0
and eax, 1
mov ecx, 4
sub ecx, eax
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x10]
mov dword [edi + ecx*8 + 8], eax
mov dword [edi + ecx*8 + 0xc], 0
jmp 0x42559a
mov ecx, 0x20
mov edi, dword [esp + 0x10]
add al, cl
movzx eax, al
and edi, 0x1f
mov ecx, dword [esp + 0xc]
mov dword [ecx + edi*8 + 8], eax
mov dword [ecx + edi*8 + 0xc], 0
mov edi, ecx
jmp 0x426355
mov esi, edx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x20]
call fcn.0040829d
mov edx, esi
lea eax, [esp + 0x38]
cmp edi, eax
jne 0x426910
mov ecx, dword [esp + 0xc]
push 4
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x18]
call fcn.0040bff0
add esp, 0xc
jmp 0x426910
mov ecx, edi
mov edx, dword [esp + 0x20]
call fcn.0040829d
jmp 0x426829
movd xmm0, dword [0x438350]
jmp 0x425586
movq xmm0, qword [0x438348]
jmp 0x42591c
mov ecx, edi
mov edx, 6
push 0
push 0
call fcn.0040a540
add esp, 8
jmp 0x426910
mov ecx, edi
mov edx, 6
push 0
push 0
call fcn.0040a540
add esp, 8
jmp 0x42559a
mov ecx, edi
mov edx, ebx
push 4
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x18]
call fcn.0040b510
add esp, 0xc
mov edi, eax
mov edx, ebx
test edi, edi
jne 0x424d64
jmp 0x426910
mov ecx, edi
mov edx, ebx
push 8
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x24]
call fcn.0040b510
add esp, 0xc
mov ecx, eax
test ecx, ecx
jne 0x425713
jmp 0x42559a
movzx esi, byte [esp + 0x20]
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, eax
push esi
push dword [esp + 0x18]
call fcn.0040c880
add esp, 8
jmp 0x42559a
movzx esi, cl
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, eax
push esi
push dword [esp + 0x18]
call fcn.0040c850
add esp, 8
jmp 0x42559a
mov ecx, edi
push 2
push 4
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
je 0x426355
and ebx, 0x1f
movd xmm0, dword [esp + 0x38]
jmp 0x424ee6
and bl, 0x1f
movzx esi, bl
mov ecx, edi
push esi
push eax
call fcn.0040c810
add esp, 8
jmp 0x426355
movsd xmm0, qword [0x438348]
jmp 0x428504
movd xmm0, dword [0x438350]
jmp 0x428553
mov edi, eax
mov eax, dword [esp + 0x20]
and eax, 0x1f
movzx eax, byte [esi + eax*8 + 8]
mov byte [esp + 0x38], al
mov ecx, esi
push 4
push 1
lea eax, [esp + 0x40]
push eax
push edi
jmp 0x428979
movzx eax, bl
mov edi, dword [esp + 0xc]
mov ecx, edi
push eax
push esi
call fcn.0040c7e0
add esp, 8
jmp 0x42559a
movzx eax, bl
mov edi, dword [esp + 0xc]
mov ecx, edi
push eax
push esi
call fcn.0040c7b0
add esp, 8
jmp 0x42559a
mov eax, dword [esp + 0x20]
and eax, 0x1f
movzx eax, word [esi + eax*8 + 8]
mov word [esp + 0x38], ax
mov ecx, esi
push 4
push 2
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x1c]
call fcn.0040c0d0
add esp, 0x10
jmp 0x425bfa
mov ecx, ebx
push 2
push 1
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
mov edi, ebx
je 0x426355
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x20]
and ecx, 0x1f
jmp 0x4260a6
mov ecx, ebx
push 2
push 1
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
mov edi, ebx
je 0x426355
movsx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x20]
and ecx, 0x1f
mov dword [edi + ecx*8 + 8], eax
sar eax, 0x1f
mov dword [edi + ecx*8 + 0xc], eax
jmp 0x426355
mov ecx, edi
push 2
push 4
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
je 0x426355
mov eax, dword [esp + 0x38]
jmp 0x425e94
and bl, 0x1f
movzx esi, bl
mov ecx, edi
push esi
push eax
call fcn.0040c770
add esp, 8
jmp 0x426355
mov ecx, edi
push 2
push 2
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
je 0x426355
movsx eax, word [esp + 0x38]
jmp 0x425e94
mov ecx, edi
push 2
push 2
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
je 0x426355
movzx eax, word [esp + 0x38]
jmp 0x425fe8
mov ecx, edi
push 2
push 4
lea esi, [esp + 0x40]
push esi
push eax
call fcn.0040c0d0
add esp, 0x10
test al, al
je 0x426355
mov eax, dword [esp + 0x38]
jmp 0x425fe8
movss xmm0, dword [0x438350]
jmp 0x426b0a
movss xmm1, dword [0x438350]
jmp 0x427002
cvttss2si eax, xmm2
movzx ecx, al
movaps xmmword [esp + 0x20], xmm0
call fcn.00429860
movss dword [esp + 0x158], xmm0
fld dword [esp + 0x158]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4291ea
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x4291ea
comiss xmm0, dword [0x4383b8]
ja 0x4291ea
movss xmm2, dword [0x4383bc]
comiss xmm0, xmm2
jb 0x428b18
movaps xmm1, xmm2
setae al
movzx eax, al
shl eax, 0x1f
subss xmm0, xmm1
jmp 0x427f7d
movzx ecx, dl
movsd qword [esp + 0x20], xmm0
call fcn.00429a40
movsd qword [esp + 0x2f8], xmm0
fld qword [esp + 0x2f8]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429236
movsd xmm1, qword [0x438370]
comisd xmm1, xmm0
ja 0x429236
comisd xmm0, xmmword [0x438368]
ja 0x429236
movsd qword [esp + 0xc0], xmm0
fld qword [esp + 0xc0]
wait
fnstcw word [esp + 0x68]
movzx eax, word [esp + 0x68]
or eax, 0xc00
mov word [esp + 0x8c], ax
fldcw word [esp + 0x8c]
fistp qword [esp + 0xc0]
fldcw word [esp + 0x68]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
jmp 0x4281ac
movzx ecx, dl
movapd xmmword [esp + 0x20], xmm0
call fcn.00429a40
movsd qword [esp + 0x308], xmm0
fld qword [esp + 0x308]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x42928f
xorpd xmm1, xmm1
comisd xmm1, xmm0
ja 0x42928f
comisd xmm0, xmmword [0x438360]
ja 0x42928f
movsd xmm1, qword [0x438368]
comisd xmm0, xmm1
jae 0x428c30
xorpd xmm1, xmm1
subsd xmm0, xmm1
movsd qword [esp + 0xd0], xmm0
setae al
fld qword [esp + 0xd0]
wait
fnstcw word [esp + 0x64]
movzx ecx, word [esp + 0x64]
or ecx, 0xc00
mov word [esp + 0x88], cx
fldcw word [esp + 0x88]
fistp qword [esp + 0xd0]
fldcw word [esp + 0x64]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x10]
jmp 0x4275bf
movzx ecx, dl
movapd xmmword [esp + 0x20], xmm0
call fcn.00429a40
movsd qword [esp + 0x2d0], xmm0
fld qword [esp + 0x2d0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x428cdc
movsd xmm1, qword [0x438398]
comisd xmm1, xmm0
ja 0x428cdc
comisd xmm0, xmmword [0x4383a0]
jbe 0x427109
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movaps xmm0, xmmword [esp + 0x20]
movsd qword [esp + 0x2c8], xmm0
fld qword [esp + 0x2c8]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 0x7fffffff
cmp eax, 0x100
je 0x4282d1
movapd xmm0, xmmword [esp + 0x20]
movmskpd ecx, xmm0
jmp 0x428f52
cvttss2si eax, xmm2
movzx ecx, al
movsd qword [esp + 0x20], xmm0
call fcn.00429a40
movsd qword [esp + 0x2e0], xmm0
fld qword [esp + 0x2e0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4292ea
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x4292ea
comisd xmm0, xmmword [0x438380]
ja 0x4292ea
movsd xmm2, qword [0x438388]
comisd xmm0, xmm2
jb 0x428d94
movapd xmm1, xmm2
setae al
movzx eax, al
shl eax, 0x1f
subsd xmm0, xmm1
jmp 0x4282cb
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x4284dc
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x42852b
movd xmm0, dword [0x438350]
cmp dword [edi + ecx*8 + 0x114], 0xffffffff
je 0x427bfe
mov eax, 0x7fc00000
jmp 0x427c05
mov al, 0x40
mov edi, dword [esp + 0x10]
jmp 0x42867b
movss xmm0, dword [0x438350]
cmp dl, 1
je 0x427df1
movzx ecx, dl
movss dword [esp + 0x20], xmm0
call fcn.00429860
movss dword [esp + 0x160], xmm0
fld dword [esp + 0x160]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429346
movss xmm1, dword [0x4383b4]
comiss xmm1, xmm0
ja 0x429346
comiss xmm0, dword [0x4383b0]
ja 0x429346
movss dword [esp + 0xa0], xmm0
fld dword [esp + 0xa0]
wait
fnstcw word [esp + 0x70]
movzx eax, word [esp + 0x70]
or eax, 0xc00
mov word [esp + 0x94], ax
fldcw word [esp + 0x94]
fistp qword [esp + 0xa0]
fldcw word [esp + 0x70]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
jmp 0x4281ac
movss xmm0, dword [0x438350]
cmp dl, 1
je 0x426d4f
movzx ecx, dl
movaps xmmword [esp + 0x20], xmm0
call fcn.00429860
movss dword [esp + 0x150], xmm0
fld dword [esp + 0x150]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x428f08
movss xmm1, dword [0x4383c0]
comiss xmm1, xmm0
ja 0x428f08
comiss xmm0, dword [0x4383bc]
jbe 0x426d6d
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movaps xmm0, xmmword [esp + 0x20]
movss dword [esp + 0x14c], xmm0
fld dword [esp + 0x14c]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 0x7fffffff
cmp eax, 0x100
je 0x4282d1
movaps xmm0, xmmword [esp + 0x20]
movmskps ecx, xmm0
and ecx, 1
add ecx, 0x7fffffff
jmp 0x4282d1
movss xmm0, dword [0x438350]
cmp dl, 1
je 0x427e7b
movzx ecx, dl
movss dword [esp + 0x20], xmm0
call fcn.00429860
movss dword [esp + 0x168], xmm0
fld dword [esp + 0x168]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429396
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x429396
comiss xmm0, dword [0x4383ac]
ja 0x429396
movss xmm1, dword [0x4383b0]
comiss xmm0, xmm1
jae 0x428fd0
xorps xmm1, xmm1
subss xmm0, xmm1
movss dword [esp + 0xb0], xmm0
setae al
fld dword [esp + 0xb0]
wait
fnstcw word [esp + 0x6c]
movzx ecx, word [esp + 0x6c]
or ecx, 0xc00
mov word [esp + 0x90], cx
fldcw word [esp + 0x90]
fistp qword [esp + 0xb0]
fldcw word [esp + 0x6c]
movzx eax, al
shl eax, 0x1f
xor eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x10]
jmp 0x4275bf
movss xmm0, dword [0x438350]
jmp 0x427f1e
movss dword [esp + 0x128], xmm1
fld dword [esp + 0x128]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429421
movss dword [esp + 0x124], xmm0
fld dword [esp + 0x124]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429639
movd eax, xmm1
test eax, eax
js 0x429096
movaps xmm1, xmm0
movaps xmm0, xmm1
mov edi, dword [esp + 0xc]
jmp 0x4282ee
movss dword [esp + 0x144], xmm1
fld dword [esp + 0x144]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x42949c
movss dword [esp + 0x140], xmm0
fld dword [esp + 0x140]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4296b4
movd eax, xmm1
test eax, eax
js 0x4290fd
movaps xmm0, xmm1
mov edi, dword [esp + 0xc]
jmp 0x428311
movsd qword [esp + 0x258], xmm1
fld qword [esp + 0x258]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429517
movsd qword [esp + 0x250], xmm0
fld qword [esp + 0x250]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x42972f
movsd qword [esp + 0x248], xmm1
cmp dword [esp + 0x24c], 0
js 0x42916d
movapd xmm1, xmm0
movapd xmm0, xmm1
mov edi, dword [esp + 0xc]
jmp 0x428335
movsd qword [esp + 0x2b8], xmm1
fld qword [esp + 0x2b8]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4295a8
movsd qword [esp + 0x2b0], xmm0
fld qword [esp + 0x2b0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x4297c0
movsd qword [esp + 0x2a8], xmm1
cmp dword [esp + 0x2ac], 0
js 0x4291e1
movapd xmm0, xmm1
mov edi, dword [esp + 0xc]
jmp 0x428359
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movaps xmm0, xmmword [esp + 0x20]
movss dword [esp + 0x154], xmm0
fld dword [esp + 0x154]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 0xffffffff
cmp eax, 0x100
je 0x4282d1
movaps xmm0, xmmword [esp + 0x20]
jmp 0x429337
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x2f0], xmm0
fld qword [esp + 0x2f0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
je 0x429380
movq xmm0, qword [esp + 0x20]
movq qword [esp + 0x2e8], xmm0
mov eax, dword [esp + 0x2ec]
jmp 0x429406
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movaps xmm0, xmmword [esp + 0x20]
movsd qword [esp + 0x300], xmm0
fld qword [esp + 0x300]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 0xffffffff
cmp eax, 0x100
mov eax, 0xffffffff
je 0x429025
movapd xmm0, xmmword [esp + 0x20]
movmskpd ecx, xmm0
not ecx
and ecx, 1
jmp 0x4293ef
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x2d8], xmm0
fld qword [esp + 0x2d8]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 0xffffffff
cmp eax, 0x100
je 0x4282d1
movsd xmm0, qword [esp + 0x20]
cvtsd2ss xmm0, xmm0
movmskps ecx, xmm0
not ecx
and ecx, 1
neg ecx
jmp 0x4282d1
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x15c], xmm0
fld dword [esp + 0x15c]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4293fc
mov eax, 0x80000000
lea ecx, [eax - 1]
mov eax, 0xffffffff
mov edi, dword [esp + 0xc]
jmp 0x4281ac
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x164], xmm0
fld dword [esp + 0x164]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
mov ecx, 0xffffffff
cmp eax, 0x100
mov eax, 0xffffffff
je 0x429025
movd xmm0, dword [esp + 0x20]
movd eax, xmm0
xor ecx, ecx
test eax, eax
setns cl
neg ecx
mov eax, ecx
mov edx, dword [esp + 0x10]
jmp 0x4275bf
movd xmm0, dword [esp + 0x20]
movd eax, xmm0
mov edx, 0x80000000
lea ecx, [edx - 1]
test eax, eax
cmovs ecx, edx
sar eax, 0x1f
not eax
mov edi, dword [esp + 0xc]
jmp 0x4281ac
movss dword [esp + 0x118], xmm1
fld dword [esp + 0x118]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429450
movd eax, xmm1
test eax, 0x400000
je 0x429487
movss dword [esp + 0x114], xmm0
fld dword [esp + 0x114]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429099
movd eax, xmm0
test eax, 0x400000
jne 0x429099
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x429099
movss dword [esp + 0x134], xmm1
fld dword [esp + 0x134]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4294cb
movd eax, xmm1
test eax, 0x400000
je 0x429502
movss dword [esp + 0x130], xmm0
fld dword [esp + 0x130]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4290fd
movd eax, xmm0
test eax, 0x400000
jne 0x4290fd
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x4290fd
movsd qword [esp + 0x220], xmm1
fld qword [esp + 0x220]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429551
movsd qword [esp + 0x218], xmm1
test dword [esp + 0x21c], 0x80000
je 0x429593
movsd qword [esp + 0x210], xmm0
fld qword [esp + 0x210]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429171
movsd qword [esp + 0x208], xmm0
test dword [esp + 0x20c], 0x80000
jne 0x429171
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x429171
movsd qword [esp + 0x280], xmm1
fld qword [esp + 0x280]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4295e2
movsd qword [esp + 0x278], xmm1
test dword [esp + 0x27c], 0x80000
je 0x429624
movsd qword [esp + 0x270], xmm0
fld qword [esp + 0x270]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4291e1
movsd qword [esp + 0x268], xmm0
test dword [esp + 0x26c], 0x80000
jne 0x4291e1
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x4291e1
movss dword [esp + 0x120], xmm1
fld dword [esp + 0x120]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429668
movd eax, xmm1
test eax, 0x400000
je 0x42969f
movss dword [esp + 0x11c], xmm0
fld dword [esp + 0x11c]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429096
movd eax, xmm0
test eax, 0x400000
jne 0x429096
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x429096
movss dword [esp + 0x13c], xmm1
fld dword [esp + 0x13c]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4296e3
movd eax, xmm1
test eax, 0x400000
je 0x42971a
movss dword [esp + 0x138], xmm0
fld dword [esp + 0x138]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4290fa
movd eax, xmm0
test eax, 0x400000
jne 0x4290fa
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x4290fa
movsd qword [esp + 0x240], xmm1
fld qword [esp + 0x240]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x429769
movsd qword [esp + 0x238], xmm1
test dword [esp + 0x23c], 0x80000
je 0x4297ab
movsd qword [esp + 0x230], xmm0
fld qword [esp + 0x230]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x42916d
movsd qword [esp + 0x228], xmm0
test dword [esp + 0x22c], 0x80000
jne 0x42916d
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x42916d
movsd qword [esp + 0x2a0], xmm1
fld qword [esp + 0x2a0]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4297fa
movsd qword [esp + 0x298], xmm1
test dword [esp + 0x29c], 0x80000
je 0x42983c
movsd qword [esp + 0x290], xmm0
fld qword [esp + 0x290]
fxam
wait
fnstsw ax
fstp st(0)
wait
and eax, 0x4500
cmp eax, 0x100
jne 0x4291dd
movsd qword [esp + 0x288], xmm0
test dword [esp + 0x28c], 0x80000
jne 0x4291dd
fnstenv [esp + 0x38]
wait
or byte [esp + 0x3c], 1
fldenv [esp + 0x38]
wait
wait
jmp 0x4291dd
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret