Function at 0x41f550
Capabilities:
Check http status code
Encode data using xor
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x438
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x310], xmm6
movaps xmmword [rbp + 0x320], xmm7
movaps xmmword [rbp + 0x330], xmm8
movaps xmmword [rbp + 0x340], xmm9
movaps xmmword [rbp + 0x350], xmm10
movaps xmmword [rbp + 0x360], xmm11
movaps xmmword [rbp + 0x370], xmm12
movaps xmmword [rbp + 0x380], xmm13
movaps xmmword [rbp + 0x390], xmm14
movaps xmmword [rbp + 0x3a0], xmm15
mov eax, dword [rcx + 8]
mov rsi, qword [rcx]
mov r13d, dword [rbp + 0x420]
mov r15d, dword [rcx + 0x28]
movsxd rdi, dword [rsi + 4]
mov dword [rbp + 0x22c], eax
mov eax, dword [rcx + 0xc]
mov rbx, rdx
mov r12, r9
mov qword [rbp + 0x400], rcx
mov dword [rbp + 0x234], eax
mov eax, dword [rsi + 8]
mov dword [rbp + 0x258], 0
mov dword [rbp + 0x1f8], eax
mov rax, qword [rsi + 0x20]
mov qword [rbp + 0x220], rsi
mov qword [rbp + 0xe0], rax
mov eax, dword [rcx + 0x24]
test eax, eax
mov dword [rbp + 0x21c], eax
setne byte [rbp + 0x1b0]
cmp r13d, 1
movzx eax, byte [rbp + 0x1b0]
setle dl
test rbx, rbx
mov dword [rbp + 0x140], eax
sete al
or dl, al
mov byte [rbp + 0x13f], dl
jne 0x41f685
mov eax, dword [rcx + 0x20]
mov edx, dword [rsi + 0x28]
imul eax, r8d
mov dword [rbp + 0x228], eax
test edx, edx
js 0x41f685
mov r9d, dword [rsi + 0x30]
mov dword [rbp + 0x104], r9d
cmp eax, r9d
je 0x424ab4
xor ecx, ecx
mov r8d, eax
jmp 0x41f67e
mov eax, r9d
shl eax, cl
cmp eax, r8d
je 0x41f6f7
add ecx, 1
cmp ecx, edx
jle 0x41f674
mov dword [rbp + 0x1fc], 0xffffffff
mov eax, dword [rbp + 0x1fc]
movaps xmm6, xmmword [rbp + 0x310]
movaps xmm7, xmmword [rbp + 0x320]
movaps xmm8, xmmword [rbp + 0x330]
movaps xmm9, xmmword [rbp + 0x340]
movaps xmm10, xmmword [rbp + 0x350]
movaps xmm11, xmmword [rbp + 0x360]
movaps xmm12, xmmword [rbp + 0x370]
movaps xmm13, xmmword [rbp + 0x380]
movaps xmm14, xmmword [rbp + 0x390]
movaps xmm15, xmmword [rbp + 0x3a0]
lea rsp, [rbp + 0x3b8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, 1
mov dword [rbp + 0x230], ecx
shl eax, cl
mov dword [rbp + 0x108], eax
mov esi, dword [rbp + 0x22c]
mov rax, qword [rbp + 0x400]
lea r11, [rax + 0xfc]
mov eax, esi
imul eax, edi
mov qword [rbp + 0x1a8], r11
movsxd rdx, eax
lea rcx, [r11 + rdx*4]
mov qword [rbp + 0x238], rcx
mov ecx, esi
imul esi, dword [rbp + 0x1f8]
shl ecx, 0xa
add eax, ecx
mov dword [rbp + 0x118], ecx
cdqe
mov dword [rbp + 0xc0], esi
lea r14, [r11 + rax*4]
movsxd rax, esi
lea rsi, [rax*4]
lea rax, [r14 + rsi]
mov qword [rbp + 0x148], rsi
mov qword [rbp + 0x128], rax
add rax, rsi
mov qword [rbp + 0xf0], rax
add rax, rsi
cmp qword [rbp + 0x428], 0
mov qword [rbp + 0x1f0], rax
je 0x420ec3
mov rcx, qword [rbp + 0x428]
call fcn.004287c0
mov rsi, qword [rbp + 0x428]
mov dword [rbp + 0x94], eax
mov rax, qword [rbp + 0x428]
mov edx, dword [rsi + 0x18]
bsr eax, dword [rax + 0x20]
xor eax, 0x1f
lea eax, [rax + rdx - 0x20]
mov dword [rbp + 0x1d0], eax
lea esi, [rax + 4]
sar esi, 3
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x34]
mov dword [rbp + 0xd8], eax
test eax, eax
jne 0x4251b1
cmp r13d, 0x4fb
mov eax, 0x4fb
mov ecx, dword [rbp + 0x230]
mov edx, dword [rbp + 0x228]
cmovle eax, r13d
mov r11d, eax
mov dword [rbp + 0x1fc], eax
sub eax, esi
mov dword [rbp + 0x218], eax
mov rax, qword [rbp + 0x400]
mov r9d, dword [rax + 0x2c]
mov eax, 3
sub eax, ecx
mov r10d, eax
mov dword [rbp + 0x100], eax
mov eax, dword [rbp + 0x234]
imul edx, r9d
lea eax, [rax + rax*4]
lea r13d, [rax*8 + 0x14]
mov eax, 0x190
sar eax, cl
mov dword [rbp + 0x98], r13d
lea r8d, [rax - 0x32]
mov rax, qword [rbp + 0x400]
imul r8d, r13d
mov eax, dword [rax + 0x30]
test eax, eax
je 0x420e2a
cmp r9d, 0xffffffff
je 0x420ede
mov rax, qword [rbp + 0x220]
mov ecx, dword [rax]
mov eax, ecx
sar ecx, 3
sar eax, 4
add eax, edx
cdq
idiv ecx
mov ecx, r10d
mov dword [rbp + 0x15c], eax
sar eax, 6
mov dword [rbp + 0x190], eax
imul eax, r11d, 0x190
sar eax, cl
sub eax, r8d
sub r9d, r8d
cmp r9d, eax
cmovle eax, r9d
cmp qword [rbp + 0x428], 0
mov dword [rbp + 0xec], eax
je 0x420f2b
mov eax, dword [rbp + 0x15c]
test eax, eax
jle 0x41f920
mov rcx, qword [rbp + 0x400]
mov r13d, dword [rcx + 0x38]
test r13d, r13d
je 0x41f920
add eax, eax
sub eax, dword [rcx + 0xd4]
xor edx, edx
mov ecx, dword [rbp + 0x218]
sar eax, 6
cmp dword [rbp + 0x1d0], 1
sete dl
add edx, edx
cmp eax, edx
cmovl eax, edx
cmp eax, ecx
cmovg eax, ecx
mov r12d, eax
cmp ecx, eax
jg 0x423dd2
nop dword [rax + rax]
mov eax, dword [rbp + 0x1fc]
mov edx, dword [rbp + 0x228]
mov ecx, r15d
mov qword [rbp + 0xc8], rsp
shl eax, 3
mov dword [rbp + 0x1e8], eax
mov rax, qword [rbp + 0x220]
cmp dword [rax + 0xc], r15d
cmovle ecx, dword [rax + 0xc]
lea eax, [rdi + rdx]
mov dword [rbp + 0x19c], eax
imul eax, dword [rbp + 0x22c]
mov dword [rbp + 0x210], ecx
cdqe
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x248], rax
mov rax, qword [rbp + 0x400]
mov ecx, dword [rax + 0x20]
movss xmm7, dword [rax + 0xe4]
mov eax, edx
sub eax, edi
imul eax, dword [rbp + 0x234]
cdq
idiv ecx
movsxd r9, eax
test r9d, r9d
jle 0x42482d
lea r8d, [r9 - 1]
lea r11, [rbx + 4]
pxor xmm6, xmm6
mov rdx, rbx
mov rax, r8
pxor xmm1, xmm1
lea r8, [r11 + r8*4]
pxor xmm2, xmm2
movss xmm0, dword [rdx]
add rdx, 4
maxss xmm1, xmm0
minss xmm2, xmm0
cmp r8, rdx
jne 0x41f9d3
movss xmm4, dword [0x0046f1e0]
xorps xmm2, xmm4
movaps xmmword [rbp + 0x160], xmm4
maxss xmm1, xmm2
comiss xmm7, xmm1
ja 0x41fa32
lea rax, [r11 + rax*4]
pxor xmm7, xmm7
pxor xmm1, xmm1
mov rdx, rbx
movss xmm0, dword [rdx]
add rdx, 4
maxss xmm7, xmm0
minss xmm1, xmm0
cmp rax, rdx
jne 0x41fa12
xorps xmm1, xmmword [rbp + 0x160]
maxss xmm7, xmm1
mov eax, dword [rbp + 0x234]
imul eax, edi
cdq
idiv ecx
test eax, eax
jle 0x424820
lea rdx, [rbx + r9*4]
pxor xmm2, xmm2
pxor xmm1, xmm1
sub eax, 1
add r9, rax
lea rax, [rbx + r9*4 + 4]
nop dword [rax]
movss xmm0, dword [rdx]
add rdx, 4
maxss xmm1, xmm0
minss xmm2, xmm0
cmp rax, rdx
jne 0x41fa60
xorps xmm2, xmmword [rbp + 0x160]
maxss xmm1, xmm2
mov rax, qword [rbp + 0x400]
cmp dword [rbp + 0x1d0], 1
maxss xmm7, xmm1
movss dword [rax + 0xe4], xmm1
je 0x4244e3
mov dword [rbp + 0x158], 0
cmp dword [rbp + 0x218], 3
setg byte [rbp + 0x1e0]
mov rax, qword [rbp + 0x220]
mov dword [rbp + 0x208], r15d
mov qword [rbp + 0x200], r14
mov r14, rbx
mov ebx, dword [rbp + 0x22c]
lea rsi, [rax + 0x10]
movsxd rax, dword [rbp + 0x19c]
shl rax, 2
mov qword [rbp + 0x240], rax
mov rax, qword [rbp + 0x248]
lea r13, [rax + rdi*4]
mov rax, qword [rbp + 0x400]
xor edi, edi
lea r12, [rax + 0xc4]
mov r15, r12
mov r12, r13
mov r13, rsi
mov rsi, rax
jmp 0x41fb18
mov ecx, dword [rsi + 0x20]
mov edx, dword [rsi + 0x14]
test edx, edx
je 0x41fb2b
xor edx, edx
comiss xmm7, dword [0x0046f154]
seta dl
mov dword [rsp + 0x38], edx
mov r9d, ebx
mov rdx, r12
add edi, 1
mov qword [rsp + 0x30], r15
add r15, 4
mov dword [rsp + 0x20], ecx
mov rcx, r14
add r14, 4
mov qword [rsp + 0x28], r13
mov r8d, dword [rbp + 0x228]
call fcn.0041f380
add r12, qword [rbp + 0x240]
cmp ebx, edi
jg 0x41fb15
mov rax, qword [rbp + 0x400]
mov r15d, dword [rbp + 0x208]
mov r14, qword [rbp + 0x200]
mov ebx, dword [rax + 0x44]
test ebx, ebx
je 0x41fb8d
cmp byte [rbp + 0x1e0], 0
jne 0x41fba4
mov eax, dword [rbp + 0x234]
xor r12d, r12d
lea eax, [rax + rax*2]
shl eax, 2
cmp eax, dword [rbp + 0x218]
jge 0x41fbd0
mov r12d, dword [rbp + 0x140]
or r12d, dword [rbp + 0x158]
jne 0x42360e
mov rax, qword [rbp + 0x400]
mov r11d, dword [rax + 0x18]
test r11d, r11d
je 0x423b9e
nop dword [rax]
mov rax, qword [rbp + 0x400]
mov ebx, dword [rbp + 0x228]
mov qword [rbp + 0x188], rsp
mov eax, dword [rax + 0x68]
mov dword [rbp + 0x198], eax
mov rax, qword [rbp + 0x400]
mov rax, qword [rax]
movsxd rdi, dword [rax + 4]
mov qword [rbp + 0x1d8], rax
lea eax, [rbx + 0x400]
mov ecx, eax
mov dword [rbp + 0x178], eax
mov eax, dword [rbp + 0x22c]
mov dword [rbp + 0x208], edi
imul eax, ecx
mov dword [rbp + 0x120], eax
cdqe
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004582d0
xor r13d, r13d
movsxd rsi, ebx
sub rsp, rax
mov qword [rbp + 0x1c0], rdi
lea rdx, [rsi*4 + 0x1000]
mov qword [rbp + 0x1b8], rsi
lea rax, [rsp + 0xc0]
lea rsi, [rdx - 0x1000]
lea rcx, [rax + rdx]
mov qword [rbp + 0x2a0], rax
mov qword [rbp + 0x1c8], rsi
mov esi, edi
shl rdi, 2
add esi, ebx
mov qword [rbp + 0x200], rdi
movsxd rbx, esi
mov dword [rbp + 0x1a0], esi
lea rsi, [rbx*4]
mov rbx, qword [rbp + 0x248]
mov qword [rbp + 0x2a8], rcx
mov qword [rbp + 0x1e0], rsi
add rbx, rdi
lea rdi, [rbp + 0x2a0]
mov dword [rbp + 0x180], r12d
mov r12, r13
mov qword [rbp + 0x130], rdi
mov r13, rbx
mov rbx, rdi
mov rsi, r12
lea rdi, [rax + 8]
shl rsi, 0xc
add rsi, qword [rbp + 0x238]
and rdi, 0xfffffffffffffff8
mov rdx, qword [rsi]
mov qword [rax], rdx
mov rdx, qword [rsi + 0xff8]
mov qword [rax + 0xff8], rdx
sub rax, rdi
mov rdx, r13
sub rsi, rax
add eax, 0x1000
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rbx + r12*8]
mov r8, qword [rbp + 0x1c8]
add r12, 1
lea rcx, [rax + 0x1000]
call sub.msvcrt.dll_memcpy
add r13, qword [rbp + 0x1e0]
cmp dword [rbp + 0x22c], r12d
jle 0x41fd40
mov rax, qword [rbx + r12*8]
jmp 0x41fcce
mov rax, qword [rbp + 0x400]
mov r12d, dword [rbp + 0x180]
mov r11d, dword [rax + 0x4c]
test r12d, r12d
jne 0x420f50
mov dword [rbp + 0x25c], 0xf
mov edx, 0xf
pxor xmm0, xmm0
mov rax, qword [rbp + 0x400]
mov r10d, dword [rax + 0x7c]
test r10d, r10d
je 0x41fd86
mulss xmm0, dword [rax + 0xa4]
mov rax, qword [rbp + 0x400]
movss xmm1, dword [0x0046f160]
mov r13d, dword [rax + 0x6c]
mov eax, edx
sub eax, r13d
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
lea eax, [rax + rax*4]
add eax, eax
cmp eax, edx
jle 0x41fdb8
movss xmm1, dword [0x0046f164]
cmp dword [rbp + 0x218], 0x18
jg 0x420de0
movss xmm2, dword [0x0046f1f4]
addss xmm1, xmm2
addss xmm1, xmm2
mov rax, qword [rbp + 0x400]
movss xmm7, dword [rax + 0x70]
comiss xmm7, dword [0x0046f164]
jbe 0x41fdf2
subss xmm1, dword [0x0046f1f4]
comiss xmm7, dword [0x0046f1f8]
jbe 0x41fe03
subss xmm1, dword [0x0046f1f4]
comiss xmm1, dword [0x0046f160]
ja 0x41fe14
movss xmm1, dword [0x0046f160]
comiss xmm1, xmm0
ja 0x420e00
movaps xmm1, xmm0
movss xmm2, dword [0x0046f194]
movss xmm13, dword [0x0046f14c]
movq xmm10, qword [0x0046f220]
subss xmm1, xmm7
andps xmm1, xmmword [0x0046f200]
movsd xmm11, qword [0x0046f218]
cmpnltss xmm1, dword [0x0046f1f4]
andps xmm0, xmm1
andnps xmm1, xmm7
orps xmm0, xmm1
mulss xmm0, dword [0x0046f210]
divss xmm0, xmm2
addss xmm13, xmm0
pxor xmm0, xmm0
cvtss2sd xmm0, xmm13
movapd xmm2, xmm0
movapd xmm1, xmm0
andpd xmm2, xmm10
ucomisd xmm11, xmm2
jbe 0x41fec7
cvttsd2si rax, xmm0
pxor xmm2, xmm2
andnpd xmm10, xmm0
movsd xmm3, qword [0x0046f230]
cvtsi2sd xmm2, rax
movapd xmm4, xmm2
cmpnlesd xmm4, xmm0
movapd xmm1, xmm4
andpd xmm1, xmm3
subsd xmm2, xmm1
movapd xmm1, xmm2
orpd xmm1, xmm10
cvttsd2si eax, xmm1
pxor xmm0, xmm0
mov dword [rbp + 0xdc], 1
lea edi, [rax - 1]
mov eax, 7
cmp edi, 7
cmovle eax, edi
test eax, eax
mov edi, eax
mov eax, 0
cmovns eax, edi
mov dword [rbp + 0x110], eax
add eax, 1
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x0046f238]
movaps xmm8, xmm0
xorps xmm8, xmmword [rbp + 0x160]
movss dword [rbp + 0x138], xmm0
mov eax, 0x400
sub eax, dword [rbp + 0x228]
mov r10d, r13d
xor r12d, r12d
cdqe
mov qword [rbp + 0x150], r14
mov r13, qword [rbp + 0x1d8]
mov r9d, r11d
shl rax, 2
mov dword [rbp + 0x170], r15d
movaps xmm9, xmmword [rbp + 0x160]
mov qword [rbp + 0x180], rax
mov eax, 0x400
sub rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x178], rax
mov r15, qword [rbp + 0x400]
mov r14d, dword [r13 + 0x30]
mov eax, dword [rbp + 0x208]
movsxd rsi, r12d
mov edi, 0xf
mov ebx, dword [rbp + 0x1a0]
mov r8, qword [rbp + 0x200]
mov dword [rbp + 0x1d8], r9d
xorps xmm7, xmm9
sub r14d, eax
cmp r10d, 0xf
cmovl r10d, edi
imul eax, r12d
mov rdi, qword [rbp + 0x1a8]
imul ebx, r12d
mov dword [r15 + 0x6c], r10d
cdqe
mov dword [rbp + 0x1e0], r10d
lea rdi, [rdi + rax*4]
mov rax, qword [rbp + 0x248]
movsxd rbx, ebx
mov rdx, rdi
lea rcx, [rax + rbx*4]
call sub.msvcrt.dll_memcpy
test r14d, r14d
mov eax, dword [r15 + 0x74]
movaps xmm0, xmm7
mov rdx, qword [rbp + rsi*8 + 0x2a0]
mov r10d, dword [rbp + 0x1e0]
mov r9d, dword [rbp + 0x1d8]
jne 0x420c2e
movsxd rcx, r14d
mov r8d, dword [rbp + 0x25c]
mov r11, qword [rbp + 0x248]
lea rdx, [rdx + rcx*4 + 0x1000]
add rcx, qword [rbp + 0x1c0]
mov dword [rsp + 0x58], r9d
mov r9d, dword [rbp + 0x208]
add rcx, rbx
lea rcx, [r11 + rcx*4]
mov dword [rsp + 0x50], r9d
mov r9, qword [r13 + 0x48]
mov qword [rsp + 0x48], r9
mov r9d, dword [rbp + 0x198]
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x40], r9d
mov r9d, r8d
mov r8d, r10d
mov dword [rsp + 0x38], eax
movss dword [rsp + 0x30], xmm8
mov eax, dword [rbp + 0x228]
sub eax, r14d
mov dword [rsp + 0x20], eax
call fcn.0040b800
mov r11, qword [rbp + 0x248]
add rbx, qword [rbp + 0x1b8]
mov rcx, rdi
mov r8, qword [rbp + 0x200]
lea rdx, [r11 + rbx*4]
mov ebx, r12d
call sub.msvcrt.dll_memcpy
shl ebx, 0xa
mov rdi, qword [rbp + 0x238]
cmp dword [rbp + 0x228], 0x400
movsxd rbx, ebx
lea rcx, [rdi + rbx*4]
jle 0x420122
mov rax, qword [rbp + 0x1c8]
lea rdi, [rcx + 8]
add r12d, 1
add rax, qword [rbp + rsi*8 + 0x2a0]
mov rsi, rax
mov rax, qword [rax]
and rdi, 0xfffffffffffffff8
mov qword [rcx], rax
mov rax, qword [rsi + 0xff8]
mov qword [rcx + 0xff8], rax
sub rcx, rdi
sub rsi, rcx
add ecx, 0x1000
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
cmp dword [rbp + 0x22c], r12d
jle 0x420176
mov r10d, dword [r15 + 0x6c]
mov r9d, dword [r15 + 0x4c]
mov r12d, 1
movss xmm7, dword [r15 + 0x70]
jmp 0x41ff74
mov rax, qword [rbp + 0x1b8]
mov rdi, qword [rbp + 0x238]
add r12d, 1
mov r8, qword [rbp + 0x180]
add rax, rbx
lea rdx, [rdi + rax*4]
call sub.msvcrt.dll_memmove
mov rdx, qword [rbp + rsi*8 + 0x2a0]
add rbx, qword [rbp + 0x178]
mov r8, qword [rbp + 0x1c8]
lea rcx, [rdi + rbx*4]
add rdx, 0x1000
call sub.msvcrt.dll_memcpy
cmp dword [rbp + 0x22c], r12d
jg 0x420109
mov eax, dword [rbp + 0x25c]
mov r15d, dword [rbp + 0x170]
mov r14, qword [rbp + 0x150]
mov dword [rbp + 0x10c], eax
movss xmm7, dword [rbp + 0x138]
comiss xmm7, dword [0x0046f164]
mov rsp, qword [rbp + 0x188]
ja 0x420612
mov rax, qword [rbp + 0x400]
movss xmm0, dword [rax + 0x70]
comiss xmm0, dword [0x0046f164]
ja 0x420612
mov dword [rbp + 0x9c], 0
mov r8d, dword [rbp + 0xdc]
test r8d, r8d
jne 0x42069f
mov ecx, dword [rbp + 0x21c]
test ecx, ecx
jne 0x4201fe
mov eax, dword [rbp + 0x1d0]
add eax, 0xf
cmp eax, dword [rbp + 0x1e8]
jl 0x4247d6
mov rax, qword [rbp + 0x400]
mov edx, dword [rax + 0x1c]
test edx, edx
jle 0x42074b
mov eax, dword [rax + 0x44]
mov dword [rbp + 0x238], eax
test eax, eax
jne 0x42074b
cmp dword [rbp + 0x190], 0xe
jg 0x423eb0
cmp byte [rbp + 0x1b0], 0
je 0x423eb0
mov rax, qword [rbp + 0x400]
cmp dword [rax + 0xbc], 2
je 0x423eb0
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x200], rsp
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.004582d0
movss xmm9, dword [0x0046f16c]
mov dword [rbp + 0x1e0], 1
sub rsp, rax
lea rbx, [rsp + 0xc0]
mov ecx, dword [rbp + 0x19c]
mov eax, dword [rbp + 0x22c]
mov esi, ecx
shr esi, 0x1f
add esi, ecx
sar esi, 1
test eax, eax
jle 0x424f51
lea r11d, [rsi + rsi*2 - 0x33]
pxor xmm13, xmm13
xor r10d, r10d
xor r12d, r12d
lea eax, [r11 + r11]
pxor xmm12, xmm12
mov dword [rbp + 0x208], 0
xor r11d, r11d
mov dword [rbp + 0x240], eax
cvtsi2sd xmm13, esi
lea eax, [rsi - 0x12]
movss xmm7, dword [0x0046f170]
cvtsi2ss xmm12, esi
shr eax, 2
mov qword [rbp + 0x1d0], r14
mov r14d, ecx
shl rax, 4
lea r9d, [rsi - 1]
movss xmm8, dword [0x0046f174]
movsd xmm11, qword [0x0046f230]
mov rcx, qword [rbp + 0x248]
lea rdi, [rbx + rax + 0x40]
mov dword [rbp + 0x1d8], r15d
mov r15d, r11d
pxor xmm10, xmm10
lea r13, [0x0046f000]
nop
test r14d, r14d
jle 0x424140
lea r11d, [r14 - 1]
pxor xmm0, xmm0
pxor xmm3, xmm3
movsxd rax, r15d
lea r8, [rcx + rax*4]
movss xmm4, dword [0x0046f14c]
xor eax, eax
jmp 0x420363
mov rax, rdx
movss xmm1, dword [r8 + rax*4]
lea rdx, [rax + 1]
addss xmm3, xmm1
movaps xmm2, xmm3
addss xmm0, xmm3
movaps xmm3, xmm1
addss xmm3, xmm1
movss dword [rbx + rax*4], xmm2
subss xmm0, xmm3
movaps xmm3, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm4
subss xmm1, xmm0
movaps xmm0, xmm1
cmp r11, rax
jne 0x420360
mov qword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x28], 0
cmp r14d, 1
jle 0x42416f
xor eax, eax
pxor xmm2, xmm2
pxor xmm1, xmm1
movss xmm0, dword [rbx + rax*8]
movss xmm3, dword [rbx + rax*8 + 4]
mulss xmm0, xmm0
mulss xmm3, xmm3
addss xmm0, xmm3
addss xmm1, xmm0
subss xmm0, xmm2
mulss xmm0, xmm9
addss xmm2, xmm0
movss dword [rbx + rax*4], xmm2
add rax, 1
cmp esi, eax
jg 0x4203e1
movsxd rax, r9d
pxor xmm3, xmm3
pxor xmm2, xmm2
movss xmm0, dword [rbx + rax*4]
subss xmm0, xmm2
mulss xmm0, xmm8
addss xmm2, xmm0
movss dword [rbx + rax*4], xmm2
sub rax, 1
maxss xmm3, xmm2
test eax, eax
jns 0x420421
mulss xmm1, xmm3
pxor xmm0, xmm0
cvtss2sd xmm0, xmm1
mulsd xmm0, qword [0x0046f258]
mulsd xmm0, xmm13
ucomisd xmm10, xmm0
sqrtsd xmm15, xmm0
ja 0x42511a
movss xmm0, dword [rbx]
cvtsd2ss xmm15, xmm15
addss xmm15, xmm7
movaps xmm2, xmm12
ucomiss xmm0, xmm0
divss xmm2, xmm15
jp 0x425101
jne 0x425101
ucomiss xmm2, xmm2
jp 0x4250e8
jne 0x4250e8
cmp r14d, 0x23
jle 0x42057a
mulss xmm2, dword [0x0046f260]
lea r11, [rbx + 0x30]
xor eax, eax
movsd xmm4, qword [0x0046f218]
movsd xmm3, qword [0x0046f268]
movsd xmm1, qword [0x0046f220]
movss xmm0, dword [r11]
addss xmm0, xmm7
mulss xmm0, xmm2
cvtss2sd xmm0, xmm0
movapd xmm5, xmm0
movapd xmm15, xmm0
andpd xmm5, xmm1
ucomisd xmm4, xmm5
jbe 0x42052e
cvttsd2si rdx, xmm0
pxor xmm5, xmm5
cvtsi2sd xmm5, rdx
movapd xmm14, xmm5
cmpnlesd xmm14, xmm0
movapd xmm0, xmm14
andpd xmm0, xmm11
subsd xmm5, xmm0
movapd xmm0, xmm5
movapd xmm5, xmm1
andnpd xmm5, xmm15
orpd xmm0, xmm5
comisd xmm0, xmm3
mov edx, 2
ja 0x420552
comisd xmm10, xmm0
mov edx, 0xff
ja 0x420552
cvttsd2si edx, xmm0
movsxd rdx, edx
movzx edx, byte [r13 + rdx]
add r11, 0x10
add eax, edx
cmp rdi, r11
jne 0x4204d2
shl eax, 8
cdq
idiv dword [rbp + 0x240]
cmp eax, r10d
jle 0x42057a
mov dword [rbp + 0x208], r12d
mov r10d, eax
add r12d, 1
add r15d, r14d
cmp dword [rbp + 0x22c], r12d
jne 0x420330
lea eax, [r10 + r10*2]
pxor xmm8, xmm8
mov r15d, dword [rbp + 0x1d8]
mov r14, qword [rbp + 0x1d0]
lea eax, [rax + rax*8]
cvtsi2sd xmm8, eax
lea eax, [r10 - 0xc9]
cmp eax, 0x18e
ja 0x424a6c
mov dword [rbp + 0x150], 1
mov eax, dword [rbp + 0x1e0]
test eax, eax
je 0x424a6c
ucomisd xmm10, xmm8
sqrtsd xmm7, xmm8
ja 0x42474c
cvtsd2ss xmm7, xmm7
subss xmm7, dword [0x0046f270]
comiss xmm6, xmm7
jbe 0x42477c
sqrtsd xmm14, xmm10
cvtsd2ss xmm14, xmm14
mov rsp, qword [rbp + 0x200]
jmp 0x42076e
mov rax, qword [rbp + 0x400]
mov r9d, dword [rax + 0x7c]
test r9d, r9d
je 0x42063c
pxor xmm0, xmm0
cvtss2sd xmm0, dword [rax + 0x80]
comisd xmm0, xmmword [str.333333]
jbe 0x4201c5
mov rax, qword [rbp + 0x400]
pxor xmm0, xmm0
movsd xmm2, qword [0x0046f248]
pxor xmm1, xmm1
cvtsi2sd xmm1, dword [rbp + 0x10c]
mov dword [rbp + 0x9c], 1
cvtsi2sd xmm0, dword [rax + 0x6c]
mulsd xmm2, xmm0
comisd xmm1, xmm2
ja 0x4201cf
mulsd xmm0, qword [0x0046f250]
xor eax, eax
mov r8d, dword [rbp + 0xdc]
comisd xmm0, xmm1
seta al
mov dword [rbp + 0x9c], eax
test r8d, r8d
je 0x4201df
mov r8d, 1
mov edx, 1
mov edi, 0x1b
mov rcx, qword [rbp + 0x428]
call fcn.00428e10
mov eax, dword [rbp + 0x10c]
mov rcx, qword [rbp + 0x428]
mov r8d, 6
lea ebx, [rax + 1]
bsr esi, ebx
xor esi, 0x1f
sub edi, esi
mov edx, edi
call fcn.00428fe0
mov ecx, edi
mov eax, 0x10
mov r8d, 0x1f
shl eax, cl
mov rcx, qword [rbp + 0x428]
sub r8d, esi
sub ebx, eax
mov edx, ebx
call fcn.00428f40
mov edx, dword [rbp + 0x110]
mov rcx, qword [rbp + 0x428]
mov r8d, 3
call fcn.00428f40
mov edx, dword [rbp + 0x198]
mov rcx, qword [rbp + 0x428]
mov r9d, 2
lea r8, [0x0046f134]
call fcn.00428e90
mov rax, qword [rbp + 0x400]
mov edx, dword [rax + 0x1c]
test edx, edx
jg 0x420210
mov dword [rbp + 0x150], 0
pxor xmm14, xmm14
mov dword [rbp + 0x208], 0
mov dword [rbp + 0x238], 0
mov rax, qword [rbp + 0x400]
mov ecx, dword [rax + 0x4c]
mov edx, dword [rax + 0x20]
mov eax, dword [rbp + 0x234]
imul eax, dword [rbp + 0x1f8]
mov dword [rbp + 0xc4], eax
cdqe
mov qword [rbp + 0xb8], rax
lea r13, [rax*4]
mov eax, dword [rbp + 0x230]
test eax, eax
je 0x42088b
mov rax, qword [rbp + 0x428]
mov rdi, qword [rbp + 0x428]
bsr r8d, dword [rax + 0x20]
mov eax, dword [rbp + 0x120]
sub eax, dword [rbp + 0x118]
mov r9d, dword [rdi + 0x18]
cdqe
shl rax, 2
xor r8d, 0x1f
add rax, 0xf
lea r8d, [r8 + r9 - 0x1e]
cmp r8d, dword [rbp + 0x1e8]
jge 0x4208a2
mov r12d, dword [rbp + 0x238]
and rax, 0xfffffffffffffff0
test r12d, r12d
je 0x423c0f
call fcn.004582d0
sub rsp, rax
mov rax, qword [rbp + 0x148]
lea rsi, [rsp + 0xc0]
lea r8, [rax + 0xf]
and r8, 0xfffffffffffffff0
mov rax, r8
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x1c0], rax
mov rax, r8
call fcn.004582d0
mov edi, dword [rbp + 0x108]
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x200], rax
test edi, edi
je 0x4250cf
mov rax, qword [rbp + 0x400]
cmp dword [rax + 0x1c], 7
jg 0x424181
mov dword [rbp + 0x180], edi
mov dword [rbp + 0x19c], 0
jmp 0x420917
mov eax, dword [rbp + 0x104]
imul eax, dword [rbp + 0x22c]
cdqe
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004582d0
sub rsp, rax
mov rax, qword [rbp + 0x148]
lea rsi, [rsp + 0xc0]
lea r8, [rax + 0xf]
and r8, 0xfffffffffffffff0
mov rax, r8
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x1c0], rax
mov rax, r8
call fcn.004582d0
mov dword [rbp + 0x180], 0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov dword [rbp + 0x238], 0
mov qword [rbp + 0x200], rax
mov dword [rbp + 0x19c], 1
lea rax, [r13 + 0xf]
mov qword [rbp + 0x178], rax
and rax, 0xfffffffffffffff0
call fcn.004582d0
mov dword [rbp + 0x240], 0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x1a8], rax
mov dword [rsp + 0x40], ecx
mov r9, rsi
mov dword [rsp + 0x38], edx
mov eax, dword [rbp + 0x230]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x22c]
mov dword [rsp + 0x28], eax
mov edi, dword [rbp + 0x234]
mov dword [rsp + 0x20], edi
mov r8, qword [rbp + 0x248]
mov edx, dword [rbp + 0x180]
mov rcx, qword [rbp + 0x220]
call fcn.0041f0b0
movss xmm0, dword [rsi]
ucomiss xmm0, xmm0
jp 0x42516c
jne 0x42516c
cmp edi, 1
je 0x420e9c
mov rax, qword [rbp + 0x1b8]
movss xmm0, dword [rsi + rax*4]
ucomiss xmm0, xmm0
jp 0x42516c
jne 0x42516c
mov byte [rbp + 0x13e], 0
mov rax, qword [rbp + 0x400]
mov rdx, rsi
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x230]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x234]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x210]
mov r8, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x220]
call fcn.0041c1b0
mov rax, qword [rbp + 0x400]
mov edi, dword [rax + 0x44]
test edi, edi
je 0x420a6e
cmp r15d, 2
jle 0x420a6e
mov rcx, qword [rbp + 0x1c0]
lea edx, [r15 - 3]
movss xmm2, dword [0x0046f288]
lea rax, [rcx + 8]
lea rdx, [rcx + rdx*4 + 0xc]
nop word cs:[rax + rax]
movss xmm1, dword [rcx]
movss xmm0, dword [rax]
mulss xmm1, xmm2
minss xmm0, xmm1
comiss xmm0, dword [0x0046f170]
ja 0x420a61
movss xmm0, dword [0x0046f170]
movss dword [rax], xmm0
add rax, 4
cmp rdx, rax
jne 0x420a40
mov eax, dword [rbp + 0x234]
mov r8d, r15d
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x200]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x1c0]
mov edx, dword [rbp + 0x210]
mov rcx, qword [rbp + 0x220]
call fcn.0042d440
mov rax, qword [rbp + 0x178]
and rax, 0xfffffffffffffff0
call fcn.004582d0
xor edx, edx
sub rsp, rax
movsxd rax, r15d
mov qword [rbp + 0xd0], rax
shl rax, 2
lea rcx, [rsp + 0xc0]
mov r8, rax
mov qword [rbp + 0x188], rcx
mov qword [rbp + 0x1b0], rax
call sub.msvcrt.dll_memset
mov ebx, dword [rbp + 0x21c]
test ebx, ebx
jne 0x420ca7
mov rax, qword [rbp + 0x400]
mov r12, qword [rax + 0xf0]
mov edi, dword [rax + 0x44]
test r12, r12
je 0x420cb1
test edi, edi
jne 0x423b59
mov rcx, qword [rbp + 0x400]
cmp dword [rax + 0x60], 2
mov eax, 2
mov edx, dword [rbp + 0x234]
cmovge eax, dword [rcx + 0x60]
mov dword [rbp + 0x1e0], eax
test edx, edx
jle 0x425198
movsxd rcx, dword [rbp + 0x1f8]
mov r9, r12
xor ebx, ebx
pxor xmm4, xmm4
mov qword [rbp + 0x118], rsi
mov r10d, 1
movss xmm3, dword [0x0046f28c]
pxor xmm2, xmm2
mov r8, qword [rbp + 0xe0]
mov dword [rbp + 0x104], edi
sub r10d, eax
mov edi, edx
mov qword [rbp + 0x1d0], rcx
shl rcx, 2
movss xmm5, dword [0x0046f14c]
mov qword [rbp + 0x170], rcx
lea ecx, [rax - 1]
mov dword [rbp + 0x1a0], ecx
mov qword [rbp + 0x1d8], rcx
add rcx, 1
mov qword [rbp + 0x110], r12
mov r12, qword [rbp + 0x170]
lea r11, [rcx + rcx]
mov qword [rbp + 0x120], rcx
xor ecx, ecx
nop dword [rax]
xor eax, eax
jmp 0x420c19
comiss xmm0, dword [0x0046f178]
ja 0x423f60
movss xmm0, dword [0x0046f178]
movsx edx, word [r8 + rax + 2]
movsx esi, word [r8 + rax]
pxor xmm1, xmm1
sub edx, esi
cvtsi2ss xmm1, edx
add ecx, edx
lea edx, [r10 + rax]
add rax, 2
mulss xmm1, xmm0
addss xmm4, xmm1
pxor xmm1, xmm1
cvtsi2ss xmm1, edx
mulss xmm0, xmm1
addss xmm2, xmm0
cmp r11, rax
je 0x423f72
movss xmm0, dword [r9 + rax*2]
comiss xmm3, xmm0
ja 0x420bc4
movss xmm0, dword [0x0046f174]
jmp 0x420bd9
mov rcx, qword [rbp + 0x1c0]
mov r11, qword [rbp + 0x248]
mov dword [rsp + 0x58], r9d
mov r8d, r10d
mov dword [rsp + 0x40], eax
mov r9d, r10d
add rdx, 0x1000
mov dword [rsp + 0x38], eax
add rcx, rbx
mov dword [rsp + 0x50], 0
lea rcx, [r11 + rcx*4]
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x20], r14d
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm7
call fcn.0040b800
movss xmm0, dword [r15 + 0x70]
mov r9d, dword [r15 + 0x4c]
mov eax, dword [r15 + 0x74]
mov r10d, dword [r15 + 0x6c]
xorps xmm0, xmm9
mov rdx, qword [rbp + rsi*8 + 0x2a0]
jmp 0x420005
mov rax, qword [rbp + 0x400]
mov edi, dword [rax + 0x44]
movss dword [rbp + 0x8c], xmm6
movss dword [rbp + 0x84], xmm6
test edi, edi
jne 0x421091
movsxd rax, dword [rbp + 0x1f8]
mov qword [rbp + 0x1d0], rax
mov r11d, dword [rbp + 0x180]
pxor xmm13, xmm13
test r11d, r11d
je 0x420d02
movss xmm13, dword [0x0046f14c]
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0x230]
mulss xmm13, xmm0
movsxd rax, dword [rbp + 0x21c]
cmp eax, r15d
jge 0x424a54
mov qword [rbp + 0x1d8], rax
movss xmm0, dword [0x0046f184]
pxor xmm15, xmm15
movss xmm8, dword [0x0046f1b4]
mov r8d, dword [rbp + 0x234]
mov r9d, dword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x200]
movss xmm1, dword [rdx + rax*4]
subss xmm0, xmm8
subss xmm1, xmm13
maxss xmm0, xmm1
cmp r8d, 2
jne 0x420d72
lea ecx, [r9 + rax]
movsxd rcx, ecx
movss xmm1, dword [rdx + rcx*4]
subss xmm1, xmm13
maxss xmm0, xmm1
add rax, 1
addss xmm15, xmm0
cmp r15d, eax
jg 0x420d44
mov rax, qword [rbp + 0x400]
pxor xmm1, xmm1
movss xmm0, dword [rax + 0xf8]
mov eax, r15d
sub eax, dword [rbp + 0x21c]
cvtsi2ss xmm1, eax
divss xmm15, xmm1
movss xmm1, dword [0x0046f18c]
subss xmm15, xmm0
comiss xmm1, xmm15
ja 0x423b33
comiss xmm15, dword [0x0046f194]
jbe 0x423c91
movss xmm2, dword [0x0046f190]
movss xmm15, dword [0x0046f194]
jmp 0x423b3f
cmp dword [rbp + 0x218], 0x22
jg 0x41fdd5
movss xmm2, dword [0x0046f1f4]
jmp 0x41fdd1
mov dword [rbp + 0x110], 0
movss xmm8, dword [0x0046f15c]
mov dword [rbp + 0xdc], 0
movss dword [rbp + 0x138], xmm6
jmp 0x41ff1c
cmp dword [rbp + 0x1d0], 1
jle 0x420e39
add edx, dword [rbp + 0x1d0]
cmp r9d, 0xffffffff
je 0x420eeb
mov rax, qword [rbp + 0x220]
mov dword [rbp + 0x15c], 0
mov ecx, dword [rax]
lea eax, [rdx + rcx*4]
shl ecx, 3
cdq
idiv ecx
mov ecx, dword [rbp + 0x1fc]
mov edx, 2
cmp eax, ecx
cmovg eax, ecx
cmp eax, 2
cmovge edx, eax
mov ecx, edx
imul eax, edx, 0x190
mov dword [rbp + 0x1fc], edx
sub ecx, esi
mov dword [rbp + 0x190], ecx
movzx ecx, byte [rbp + 0x100]
sar eax, cl
sub eax, r8d
jmp 0x41f8ac
mov eax, dword [rbp + 0x22c]
cmp eax, 2
mov eax, 0
cmovne eax, dword [rbp + 0x208]
sete byte [rbp + 0x13e]
mov dword [rbp + 0x208], eax
jmp 0x4209c7
mov dword [rbp + 0x94], 1
xor esi, esi
mov dword [rbp + 0x1d0], 1
jmp 0x41f7d1
cmp dword [rbp + 0x1d0], 1
jg 0x420e33
imul eax, dword [rbp + 0x1fc], 0x190
movzx ecx, byte [rbp + 0x100]
mov dword [rbp + 0x15c], 0
sar eax, cl
sub eax, r8d
cmp qword [rbp + 0x428], 0
mov dword [rbp + 0xec], eax
mov eax, dword [rbp + 0x218]
mov dword [rbp + 0x190], eax
jne 0x41f920
lea r13, [rbp + 0x260]
mov r8d, dword [rbp + 0x1fc]
mov rdx, r12
mov rcx, r13
call fcn.00428c80
mov qword [rbp + 0x428], r13
jmp 0x41f8ca
mov r8d, dword [rbp + 0x178]
mov rbx, rsp
mov eax, r8d
sar eax, 1
cdqe
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004582d0
sub rsp, rax
lea rdi, [rbp + 0x25c]
mov dword [rsp + 0x20], r11d
lea rsi, [rsp + 0xc0]
mov r9d, dword [rbp + 0x22c]
mov rcx, qword [rbp + 0x130]
mov rdx, rsi
call fcn.0042aa80
mov rax, qword [rbp + 0x400]
lea rcx, [rsi + 0x800]
mov rdx, rsi
mov r9d, 0x3d3
mov eax, dword [rax + 0x4c]
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], eax
mov r13d, dword [rbp + 0x228]
mov r8d, r13d
call fcn.0042aef0
mov eax, 0x400
mov r9d, r13d
mov rcx, rsi
sub eax, dword [rbp + 0x25c]
mov r8d, 0xf
mov edx, 0x400
mov dword [rbp + 0x25c], eax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x400]
movss xmm0, dword [rax + 0x70]
movss dword [rsp + 0x30], xmm0
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x6c]
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], eax
call fcn.0042b170
cmp dword [rbp + 0x25c], 0x3fe
jle 0x421041
mov dword [rbp + 0x25c], 0x3fe
mov rax, qword [rbp + 0x400]
mulss xmm0, dword [str.333_]
mov eax, dword [rax + 0x3c]
cmp eax, 2
jle 0x421078
movss xmm13, dword [0x0046f14c]
mulss xmm0, xmm13
cmp eax, 4
jle 0x421078
cmp eax, 8
jle 0x42518e
pxor xmm0, xmm0
mov rax, qword [rbp + 0x400]
mov rsp, rbx
mov edx, dword [rbp + 0x25c]
mov r11d, dword [rax + 0x4c]
jmp 0x41fd6e
movsxd rax, dword [rbp + 0x1f8]
pxor xmm15, xmm15
mov qword [rbp + 0x1d0], rax
movsxd rax, dword [rbp + 0x21c]
mov qword [rbp + 0x1d8], rax
mov r10d, dword [rbp + 0x240]
test r10d, r10d
je 0x4235f3
lea ecx, [r15 - 1]
mov eax, dword [rbp + 0x230]
mov dword [rbp + 0x1e0], ecx
mov dword [rbp + 0x104], ecx
mov rcx, qword [rbp + 0x1d0]
cmp eax, 1
setg bl
shl rcx, 2
mov qword [rbp + 0x110], rcx
lea ecx, [r15 - 2]
mov dword [rbp + 0x240], ecx
test eax, eax
je 0x421320
mov rax, qword [rbp + 0x428]
mov rcx, qword [rbp + 0x428]
bsr eax, dword [rax + 0x20]
mov ecx, dword [rcx + 0x18]
xor eax, 0x1f
lea eax, [rax + rcx - 0x1e]
cmp eax, dword [rbp + 0x1e8]
jge 0x42365a
mov r9d, dword [rbp + 0x238]
test r9d, r9d
jne 0x423bcc
mov rax, qword [rbp + 0x400]
cmp dword [rax + 0x1c], 4
jle 0x423f54
mov eax, dword [rbp + 0x140]
or eax, edi
jne 0x423f54
cmp dword [rbp + 0x234], 1
movss xmm0, dword [r14]
je 0x424eb9
mov r9, qword [rbp + 0x1d0]
maxss xmm0, dword [r14 + r9*4]
movss dword [rbp + 0x2a0], xmm0
cmp r15d, 1
jle 0x42514e
mov rax, qword [rbp + 0x130]
mov r8d, dword [rbp + 0x240]
lea rdx, [r14 + 4]
movss xmm8, dword [0x0046f1b4]
add rax, 4
lea r8, [rax + r8*4]
jmp 0x4211b3
add rax, 4
movss xmm1, dword [rdx]
subss xmm0, xmm8
maxss xmm1, dword [rdx + r9*4]
add rdx, 4
maxss xmm0, xmm1
movss dword [rax], xmm0
cmp r8, rax
jne 0x4211af
mov rax, qword [rbp + 0x130]
mov rdi, qword [rbp + 0x1b0]
mov edx, dword [rbp + 0x240]
lea rax, [rax + rdi - 8]
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
sub edx, 1
sub rax, 4
subss xmm1, xmm8
maxss xmm0, xmm1
movss dword [rax + 4], xmm0
cmp edx, 0xffffffff
jne 0x4211ec
lea edx, [r15 - 4]
mov edi, dword [rbp + 0x234]
xor r9d, r9d
xor r10d, r10d
mov r12d, dword [rbp + 0x1f8]
mov r11, qword [rbp + 0x130]
pxor xmm2, xmm2
add rdx, 3
mov r13d, dword [rbp + 0x1e0]
cmp r13d, 2
jle 0x4212a7
mov r8, qword [rbp + 0x200]
movsxd rax, r10d
lea r8, [r8 + rax*4]
mov eax, 2
jmp 0x421280
comiss xmm6, xmm1
ja 0x421269
subss xmm0, xmm1
movaps xmm7, xmm6
add rax, 1
maxss xmm7, xmm0
movaps xmm0, xmm7
addss xmm2, xmm0
cmp rdx, rax
je 0x4212a7
movss xmm0, dword [r8 + rax*4]
movss xmm1, dword [r11 + rax*4]
comiss xmm6, xmm0
jbe 0x421260
comiss xmm6, xmm1
pxor xmm0, xmm0
jbe 0x421265
add rax, 1
addss xmm2, xmm0
cmp rdx, rax
jne 0x421280
add r9d, 1
add r10d, r12d
cmp edi, r9d
jg 0x42123c
lea eax, [r15 - 3]
pxor xmm0, xmm0
imul eax, dword [rbp + 0x234]
cvtsi2ss xmm0, eax
divss xmm2, xmm0
comiss xmm2, xmm8
ja 0x424f73
mov rax, qword [rbp + 0x428]
mov byte [rbp + 0x170], 0
mov dword [rbp + 0x238], 0
bsr eax, dword [rax + 0x20]
xor eax, 0x1f
lea eax, [rax + rcx - 0x1e]
cmp dword [rbp + 0x1e8], eax
jle 0x421337
movzx eax, byte [rbp + 0x170]
movzx ebx, byte [rbp + 0x13f]
mov byte [rbp + 0x13f], al
jmp 0x423bdf
mov edi, dword [rbp + 0x238]
or dword [rbp + 0x19c], edi
mov eax, edi
and eax, 1
mov byte [rbp + 0x170], al
mov edi, dword [rbp + 0x234]
mov eax, dword [rbp + 0x228]
imul eax, edi
cdqe
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004582d0
sub rsp, rax
mov eax, dword [rbp + 0x108]
mov rdx, rsi
lea r8, [rsp + 0xc0]
mov qword [rbp + 0x1d0], r8
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], edi
mov eax, dword [rbp + 0x210]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x220]
call fcn.0041c2f0
mov eax, edi
shl eax, 4
sub eax, edi
cmp eax, dword [rbp + 0x190]
mov rax, qword [rbp + 0x400]
mov r13d, dword [rax + 0x44]
jg 0x4213c1
mov edx, dword [rbp + 0x21c]
test edx, edx
je 0x423b11
mov dword [rbp + 0xe8], 0
mov r8, qword [rbp + 0x110]
lea rax, [r8 + 0xf]
mov rdx, rax
mov qword [rbp + 0x1a0], rax
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc3]
shr rax, 2
lea rcx, [rax*4]
mov qword [rbp + 0xa8], rax
mov rax, rdx
mov qword [rbp + 0x140], rcx
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc3]
shr rax, 2
mov qword [rbp + 0xa0], rax
shl rax, 2
mov qword [rbp + 0xf8], rax
mov rax, rdx
call fcn.004582d0
mov rdx, qword [rbp + 0x178]
and rdx, 0xfffffffffffffff0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x248], rsp
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x38]
mov dword [rbp + 0x120], eax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x30]
mov dword [rbp + 0x118], eax
mov rax, qword [rbp + 0x220]
mov rdi, qword [rax + 0x40]
mov rax, qword [rbp + 0x400]
mov esi, dword [rax + 0x40]
mov rax, rdx
call fcn.004582d0
sub rsp, rax
mov rax, rdx
lea r12, [rsp + 0xc0]
call fcn.004582d0
xor edx, edx
sub rsp, rax
lea rbx, [rsp + 0xc0]
call sub.msvcrt.dll_memset
test r15d, r15d
jle 0x421556
mov eax, 9
pxor xmm1, xmm1
mov r9d, dword [rbp + 0x1e0]
xor ecx, ecx
sub eax, esi
movss xmm3, dword [0x0046f168]
movss xmm13, dword [0x0046f14c]
cvtsi2ss xmm1, eax
mov r8, qword [0x0047ca90]
movss xmm2, dword [0x0046f298]
jmp 0x421513
mov rcx, rax
movsx eax, word [rdi + rcx*2]
pxor xmm0, xmm0
lea edx, [rcx + 5]
pxor xmm4, xmm4
imul edx, edx
cvtsi2ss xmm0, eax
lea rax, [rcx + 1]
cvtsi2ss xmm4, edx
mulss xmm0, xmm3
mulss xmm4, xmm2
addss xmm0, xmm13
addss xmm0, xmm1
subss xmm0, dword [r8 + rcx*4]
addss xmm0, xmm4
movss dword [rbx + rcx*4], xmm0
cmp r9, rcx
jne 0x421510
mov r8d, dword [rbp + 0x1e0]
mov r11d, dword [rbp + 0x234]
xor r9d, r9d
xor r10d, r10d
movss xmm7, dword [0x0046f198]
mov esi, dword [rbp + 0x1f8]
mov rdi, qword [rbp + 0x200]
nop
test r15d, r15d
jle 0x4215aa
movsxd rax, r10d
lea rcx, [rdi + rax*4]
xor eax, eax
jmp 0x421593
mov rax, rdx
movss xmm0, dword [rcx + rax*4]
subss xmm0, dword [rbx + rax*4]
lea rdx, [rax + 1]
maxss xmm7, xmm0
cmp r8, rax
jne 0x421590
add r9d, 1
add r10d, esi
cmp r11d, r9d
jg 0x421580
mov rdx, qword [rbp + 0x1a0]
mov rdi, rsp
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.004582d0
sub rsp, rax
mov rax, rdx
lea rsi, [rsp + 0xc0]
call fcn.004582d0
mov ecx, dword [rbp + 0x1e0]
mov r8, qword [rbp + 0x200]
sub rsp, rax
xor eax, eax
lea r9, [rsp + 0xc0]
test r15d, r15d
jg 0x421606
jmp 0x4247ef
mov rax, rdx
movss xmm0, dword [r8 + rax*4]
subss xmm0, dword [rbx + rax*4]
lea rdx, [rax + 1]
movss dword [rsi + rax*4], xmm0
cmp rcx, rax
jne 0x421603
cmp dword [rbp + 0x234], 2
je 0x423616
mov r8, qword [rbp + 0x1b0]
mov rcx, r9
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov r9, rax
cmp r15d, 1
jle 0x424804
mov edx, dword [rbp + 0x240]
lea rax, [rsi + 4]
movss xmm9, dword [0x0046f1bc]
lea rdx, [rsi + rdx*4 + 8]
movss xmm1, dword [rax - 4]
movss xmm0, dword [rax]
add rax, 4
subss xmm1, xmm9
maxss xmm0, xmm1
movss dword [rax - 4], xmm0
cmp rdx, rax
jne 0x421663
movsxd rax, dword [rbp + 0x240]
movss xmm2, dword [0x0046f194]
movss xmm1, dword [rsi + rax*4 + 4]
movss xmm0, dword [rsi + rax*4]
subss xmm1, xmm2
maxss xmm0, xmm1
movss dword [rsi + rax*4], xmm0
sub rax, 1
test eax, eax
jns 0x421692
test r15d, r15d
jle 0x4217d0
movaps xmm4, xmm7
mov eax, dword [rbp + 0x1e0]
mov r8, r9
movaps xmm3, xmm6
mov rdx, rsi
mov r9, qword [rbp + 0xb0]
subss xmm4, dword [0x0046f29c]
mov r11d, 0x20
lea r10, [r8 + rax*4 + 4]
movss xmm13, dword [0x0046f14c]
movsd xmm11, qword [0x0046f218]
movq xmm10, qword [0x0046f220]
movsd xmm5, qword [0x0046f230]
maxss xmm3, xmm4
jmp 0x4217a2
subss xmm0, xmm1
addss xmm0, xmm13
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
movapd xmm2, xmm0
andpd xmm1, xmm10
ucomisd xmm11, xmm1
jbe 0x42176b
cvttsd2si rax, xmm0
pxor xmm1, xmm1
cvtsi2sd xmm1, rax
movapd xmm12, xmm1
cmpnlesd xmm12, xmm0
movapd xmm0, xmm12
andpd xmm0, xmm5
subsd xmm1, xmm0
movapd xmm0, xmm1
movapd xmm1, xmm10
andnpd xmm1, xmm2
orpd xmm0, xmm1
cvttsd2si eax, xmm0
mov ecx, 1
cmp eax, 0xfffffffb
jl 0x42178e
mov ecx, eax
mov esi, r11d
neg ecx
sar esi, cl
test eax, eax
mov eax, 0x20
mov ecx, esi
cmovg ecx, eax
add r8, 4
mov dword [r9], ecx
add rdx, 4
add r9, 4
cmp r10, r8
je 0x4217d0
movss xmm1, dword [rdx]
movss xmm0, dword [r8]
comiss xmm3, xmm1
jbe 0x421713
comiss xmm6, xmm4
ja 0x421717
subss xmm0, xmm4
jmp 0x421717
mov r11d, dword [rbp + 0x230]
cmp dword [rbp + 0x190], 0x32
mov rsp, rdi
setg dl
test r11d, r11d
setg al
test dl, al
je 0x4217f7
test r13d, r13d
je 0x423718
cmp dword [rbp + 0x21c], r15d
jge 0x42183f
mov rsi, qword [rbp + 0x1d8]
mov rdi, qword [rbp + 0xf8]
mov edx, dword [rbp + 0x1e0]
sub edx, dword [rbp + 0x21c]
lea rdx, [rdx + rsi + 1]
lea rax, [rdi + rsi*4]
lea rdx, [rdi + rdx*4]
nop word [rax + rax]
mov dword [rax], 0xd
add rax, 4
cmp rdx, rax
jne 0x421830
mov dword [rbp + 0x90], 0
mov rax, qword [rbp + 0x1a0]
mov rsp, qword [rbp + 0x248]
and rax, 0xfffffffffffffff0
call fcn.004582d0
mov r10d, dword [rbp + 0xe8]
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x1a8], rax
test r10d, r10d
jne 0x422e1d
mov eax, dword [rbp + 0x21c]
test eax, eax
je 0x4222d5
mov eax, dword [rbp + 0x150]
test eax, eax
je 0x422282
test r15d, r15d
jle 0x4218cf
mov rdi, qword [rbp + 0x1a8]
mov edx, dword [rbp + 0x1e0]
mov rax, rdi
lea rdx, [rdi + rdx*4 + 4]
nop dword [rax + rax]
mov dword [rax], 1
add rax, 4
cmp rdx, rax
jne 0x4218c0
mov dword [rbp + 0x248], 0
mov rax, qword [rbp + 0x178]
and rax, 0xfffffffffffffff0
call fcn.004582d0
movss xmm2, dword [0x0046f1bc]
xor r9d, r9d
xor r10d, r10d
movss xmm4, dword [0x0046f28c]
movss xmm3, dword [0x0046f200]
mov r13, qword [rbp + 0x1d8]
mov edi, dword [rbp + 0x21c]
mov esi, dword [rbp + 0x234]
mov ebx, dword [rbp + 0x1f8]
mov r11d, edi
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x1b0], rax
mov rax, r13
neg rax
lea r12, [rax*4]
mov qword [rbp + 0x188], r12
nop word [rax + rax]
cmp edi, r15d
jge 0x4219b1
movsxd rcx, r10d
movsxd rax, r11d
shl rcx, 2
lea rdx, [r12 + rax*4]
mov rax, r13
add rdx, qword [rbp + 0x200]
lea r8, [r14 + rcx]
add rcx, qword [rbp + 0x1f0]
nop dword [rax + rax]
movss xmm1, dword [rdx + rax*4]
movaps xmm0, xmm1
subss xmm0, dword [r8 + rax*4]
andps xmm0, xmm3
comiss xmm2, xmm0
jbe 0x4219a8
movss xmm0, dword [rcx + rax*4]
mulss xmm0, xmm4
subss xmm1, xmm0
movss dword [rdx + rax*4], xmm1
add rax, 1
cmp r15d, eax
jg 0x421980
add r9d, 1
add r10d, ebx
add r11d, ebx
cmp esi, r9d
jg 0x421950
mov rax, qword [rbp + 0x400]
mov r8d, r15d
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x80], eax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x3c]
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x400]
cmp dword [rax + 0x1c], 3
setg al
movzx eax, al
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x400]
add rax, 0x58
mov qword [rsp + 0x68], rax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x218]
mov dword [rsp + 0x58], eax
mov edi, dword [rbp + 0x230]
mov dword [rsp + 0x50], edi
mov eax, dword [rbp + 0x234]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x428]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x1b0]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x1e8]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x200]
mov qword [rsp + 0x20], rax
mov esi, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x220]
mov r9d, dword [rbp + 0x210]
mov edx, esi
call fcn.0042c4b0
mov rax, qword [rbp + 0x428]
mov rcx, qword [rbp + 0x428]
mov eax, dword [rax + 8]
mov ecx, dword [rcx + 0x18]
mov dword [rbp + 0x240], eax
lea edx, [rax*8]
mov rax, qword [rbp + 0x428]
bsr eax, dword [rax + 0x20]
xor eax, 0x1f
cmp dword [rbp + 0x238], 1
sbb r8d, r8d
lea ecx, [rax + rcx - 0x20]
and r8d, 2
mov eax, ecx
add r8d, 2
test edi, edi
je 0x422c07
lea r9d, [r8 + rcx + 1]
xor edi, edi
mov r13d, edx
cmp edx, r9d
setae dil
mov dword [rbp + 0x240], edi
sub r13d, edi
cmp dword [rbp + 0x21c], r15d
jge 0x424a44
cmp dword [rbp + 0x238], 1
mov qword [rbp + 0x208], r14
mov esi, 0x20
sbb r12d, r12d
xor edi, edi
mov rbx, qword [rbp + 0x1d8]
xor edx, edx
not r12d
mov r14d, edi
mov r9, qword [rbp + 0x428]
add r12d, 5
mov edi, r12d
mov r12, qword [rbp + 0x1a8]
jmp 0x421b45
mov dword [r12 + rbx*4], edx
add rbx, 1
mov r8d, edi
cmp r15d, ebx
jle 0x421b89
lea ecx, [r8 + rax]
cmp ecx, r13d
ja 0x421b35
xor edx, dword [r12 + rbx*4]
mov rcx, r9
mov qword [rbp + 0x428], r9
call fcn.00428e10
mov r9, qword [rbp + 0x428]
mov edx, dword [r12 + rbx*4]
add rbx, 1
mov r8d, edi
bsr eax, dword [r9 + 0x20]
or r14d, edx
xor eax, 0x1f
add eax, dword [r9 + 0x18]
sub eax, esi
cmp r15d, ebx
jg 0x421b45
mov r13d, dword [rbp + 0x240]
mov edi, r14d
mov r14, qword [rbp + 0x208]
test r13d, r13d
je 0x422bf0
mov eax, dword [rbp + 0x238]
movsxd r12, dword [rbp + 0x230]
lea edx, [rax*4]
lea rax, [r12*8]
add rax, qword [0x0047cfe0]
lea ecx, [rdx + rdi]
lea edx, [rdx + rdi + 2]
movsxd rdx, edx
movsxd rcx, ecx
movzx edi, byte [rax + rdx]
cmp byte [rax + rcx], dil
je 0x422bf0
mov edx, dword [rbp + 0x248]
mov rcx, qword [rbp + 0x428]
mov r8d, 1
call fcn.00428e10
mov rax, qword [rbp + 0x428]
mov rdi, qword [rbp + 0x428]
bsr eax, dword [rax + 0x20]
mov edx, dword [rdi + 0x18]
mov edi, dword [rbp + 0x21c]
xor eax, 0x1f
lea ecx, [rax + rdx - 0x20]
cmp edi, r15d
jge 0x421c89
mov eax, dword [rbp + 0x248]
mov esi, dword [rbp + 0x238]
mov edx, dword [rbp + 0x1e0]
mov rbx, qword [rbp + 0x1d8]
lea r8d, [rax + rsi*2]
movsxd r12, dword [rbp + 0x230]
mov rsi, qword [rbp + 0x1a8]
sub edx, edi
add r8d, r8d
lea rdx, [rdx + rbx + 1]
lea r10, [r12*8]
add r10, qword [0x0047cfe0]
lea rax, [rsi + rbx*4]
lea r9, [rsi + rdx*4]
nop dword [rax]
mov edx, dword [rax]
add rax, 4
add edx, r8d
movsxd rdx, edx
movsx edx, byte [r10 + rdx]
mov dword [rax - 4], edx
cmp r9, rax
jne 0x421c70
mov rax, qword [rbp + 0x400]
add ecx, 3
mov edx, dword [rax + 0x44]
cmp dword [rbp + 0x1e8], ecx
jle 0x421cdc
test edx, edx
je 0x4236d0
mov dword [rax + 0x68], 0
mov edx, 2
mov dword [rax + 0x54], 2
mov rcx, qword [rbp + 0x428]
mov r9d, 5
lea r8, [0x0046f137]
call fcn.00428e90
mov rax, qword [rbp + 0x400]
mov edx, dword [rax + 0x44]
test edx, edx
je 0x421d0e
mov edi, dword [rbp + 0x190]
mov edx, 8
mov eax, edi
cmp edi, 0x1a
jg 0x421d00
mov edx, 0x55555556
imul edx
mov eax, edi
sar eax, 0x1f
sub edx, eax
mov rax, qword [rbp + 0xa8]
mov dword [rax*4], edx
mov rax, qword [rbp + 0x1a0]
and rax, 0xfffffffffffffff0
call fcn.004582d0
mov r9d, dword [rbp + 0x234]
mov r8d, dword [rbp + 0x230]
mov rcx, qword [rbp + 0x220]
sub rsp, rax
lea rdi, [rsp + 0xc0]
mov rdx, rdi
mov qword [rbp + 0x190], rdi
call fcn.0040bc30
mov eax, dword [rbp + 0x1e8]
mov rcx, qword [rbp + 0x428]
shl eax, 3
mov dword [rbp + 0x218], eax
call fcn.004287c0
mov ecx, dword [rbp + 0x21c]
mov r10d, eax
cmp ecx, r15d
jge 0x424852
mov rsi, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0xe0]
mov dword [rbp + 0x208], 6
mov rbx, qword [rbp + 0x140]
mov dword [rbp + 0x178], r15d
lea rax, [rax + rsi*2]
lea r13, [rsi*4]
mov qword [rbp + 0x170], r14
mov r12, qword [rbp + 0x428]
mov qword [rbp + 0x210], rax
lea rax, [rbx + r13]
add r13, rdi
xor edi, edi
mov qword [rbp + 0x248], rax
mov eax, dword [rbp + 0x1e0]
mov qword [rbp + 0x240], r13
sub eax, ecx
lea rax, [rax + rsi + 1]
lea rax, [rbx + rax*4]
mov qword [rbp + 0x1e8], rax
mov eax, r10d
mov rsi, qword [rbp + 0x210]
mov r9d, 0x30
mov r8d, dword [rbp + 0x208]
movsx ecx, word [rsi]
movsx edx, word [rsi + 2]
mov esi, dword [rbp + 0x218]
sub edx, ecx
imul edx, dword [rbp + 0x234]
movzx ecx, byte [rbp + 0x230]
shl edx, cl
mov ecx, esi
cmp edx, 0x30
cmovge r9d, edx
shl edx, 3
cmp r9d, edx
cmovle edx, r9d
sub ecx, edi
mov r14d, edx
lea edx, [rax + r8*8]
cmp edx, ecx
jge 0x422bff
mov rbx, qword [rbp + 0x240]
mov ebx, dword [rbx]
test ebx, ebx
jle 0x422bff
lea eax, [r14 + rdi]
xor r15d, r15d
xor ebx, ebx
sub esi, eax
mov eax, r15d
mov r15d, r14d
mov r14d, eax
jmp 0x421ea0
lea edx, [rax + 8]
add r14d, r15d
add edi, r15d
add ebx, 1
mov ecx, esi
cmp edx, esi
jge 0x422310
mov rdx, qword [rbp + 0x240]
sub esi, r15d
mov r8d, 1
cmp dword [rdx], r14d
jle 0x422310
mov rax, qword [rbp + 0x248]
xor edx, edx
mov rcx, r12
mov r13d, dword [rax]
cmp r13d, ebx
setg dl
call fcn.00428e10
mov rcx, r12
call fcn.004287c0
cmp r13d, ebx
jg 0x421e71
mov ecx, dword [rbp + 0x218]
mov r15d, r14d
sub ecx, edi
test ebx, ebx
je 0x421ef0
mov esi, dword [rbp + 0x208]
mov edx, 3
cmp esi, 3
cmovge edx, esi
lea esi, [rdx - 1]
mov dword [rbp + 0x208], esi
mov rsi, qword [rbp + 0x248]
add qword [rbp + 0x210], 2
add qword [rbp + 0x240], 4
mov dword [rsi], r15d
add rsi, 4
mov qword [rbp + 0x248], rsi
cmp qword [rbp + 0x1e8], rsi
jne 0x421df3
mov dword [rbp + 0x248], edi
mov r15d, dword [rbp + 0x178]
mov r10d, eax
mov r11d, ecx
mov r14, qword [rbp + 0x170]
cmp dword [rbp + 0x234], 2
je 0x422c22
lea eax, [r10 + 0x2f]
mov ebx, 5
cmp eax, r11d
jge 0x421fa7
mov r11d, dword [rbp + 0x21c]
test r11d, r11d
jle 0x42453f
mov rax, qword [rbp + 0x400]
mov ebx, 5
mov dword [rax + 0xe8], 0
mov rcx, qword [rbp + 0x428]
mov r9d, 7
lea r8, [0x0046f140]
mov edx, ebx
call fcn.00428e90
mov rcx, qword [rbp + 0x428]
call fcn.004287c0
mov r10d, eax
mov esi, dword [rbp + 0x15c]
test esi, esi
jle 0x4224d2
mov rax, qword [rbp + 0x220]
movzx ecx, byte [rbp + 0x100]
mov edx, 0x4fb
mov r9d, dword [rbp + 0x21c]
mov eax, dword [rax + 0x28]
sar edx, cl
mov edi, eax
mov dword [rbp + 0x240], eax
mov eax, dword [rbp + 0x1fc]
sub edi, dword [rbp + 0x230]
cmp edx, eax
cmovg edx, eax
mov rax, qword [rbp + 0x400]
mov r8d, dword [rax + 0x38]
test r9d, r9d
jne 0x422318
mov eax, dword [rbp + 0x98]
shl eax, 3
sub esi, eax
mov eax, esi
test r8d, r8d
jne 0x423bae
mov rsi, qword [rbp + 0x400]
mov rsi, qword [rsi + 0xf0]
test rsi, rsi
mov qword [rbp + 0x208], rsi
mov rsi, qword [rbp + 0x400]
setne byte [rbp + 0x200]
mov esi, dword [rsi + 0x44]
mov dword [rbp + 0x210], esi
mov rsi, qword [rbp + 0x400]
mov esi, dword [rsi + 0xec]
mov dword [rbp + 0x218], esi
mov rsi, qword [rbp + 0x400]
mov r9d, dword [rsi + 0x60]
mov rsi, qword [rbp + 0x220]
mov r13d, dword [rsi + 8]
test r9d, r9d
mov rsi, qword [rsi + 0x20]
cmove r9d, r13d
movsxd rcx, r9d
movsx r11d, word [rsi + rcx*2]
movzx ecx, byte [rbp + 0x230]
shl r11d, cl
mov rcx, qword [rbp + 0x400]
cmp dword [rbp + 0x234], 2
mov dword [rbp + 0x240], r11d
mov ecx, dword [rcx + 0x7c]
mov dword [rbp + 0x228], ecx
je 0x423cfe
mov r11d, dword [rbp + 0x228]
test r11d, r11d
je 0x4220e5
mov rcx, qword [rbp + 0x400]
movsd xmm2, qword [0x0046f308]
pxor xmm0, xmm0
movss xmm1, dword [rcx + 0x8c]
cvtss2sd xmm0, xmm1
comisd xmm2, xmm0
ja 0x423f17
mov r12d, eax
movzx ecx, byte [rbp + 0x230]
mov r9d, 0x13
pxor xmm1, xmm1
movaps xmm0, xmm14
subss xmm0, dword [0x0046f2e4]
shl r9d, cl
mov ecx, dword [rbp + 0x90]
sub ecx, r9d
mov r9d, ecx
add r9d, r12d
mov r12d, dword [rbp + 0x228]
cvtsi2ss xmm1, r9d
mulss xmm0, xmm1
cvttss2si ecx, xmm0
pxor xmm0, xmm0
add r9d, ecx
movsxd rcx, r13d
movsx r11d, word [rsi + rcx*2 - 4]
movzx ecx, byte [rbp + 0x230]
shl r11d, cl
mov ecx, dword [rbp + 0x234]
imul ecx, r11d
shl ecx, 3
cvtsi2ss xmm0, ecx
mulss xmm7, xmm0
cvttss2si esi, xmm7
test r12d, r12d
je 0x4221dc
mov r11d, dword [rbp + 0x210]
test r11d, r11d
jne 0x424963
mov rcx, qword [rbp + 0x400]
movss xmm0, dword [rcx + 0x80]
subss xmm0, dword [0x0046f2e8]
comiss xmm6, xmm0
ja 0x424ae4
subss xmm0, dword [0x0046f2ec]
mov ecx, dword [rbp + 0x240]
pxor xmm1, xmm1
movss xmm2, dword [0x0046f2f0]
shl ecx, 3
cvtsi2ss xmm1, ecx
mulss xmm2, xmm1
mulss xmm0, xmm2
cvttss2si ecx, xmm0
add r9d, ecx
mov ecx, dword [rbp + 0x9c]
test ecx, ecx
je 0x4221dc
mulss xmm1, dword [0x0046f2e0]
cvttss2si ecx, xmm1
add r9d, ecx
mov r13d, dword [rbp + 0x210]
test r13d, r13d
jne 0x424a08
cmp byte [rbp + 0x200], 0
je 0x424a08
mov r11d, dword [rbp + 0x240]
pxor xmm0, xmm0
lea ecx, [r9 + 3]
shl r11d, 3
cvtsi2ss xmm0, r11d
mulss xmm0, dword [rbp + 0x8c]
cvttss2si r11d, xmm0
add r11d, r9d
test r9d, r9d
cmovns ecx, r9d
sar ecx, 2
cmp r11d, ecx
cmovl r11d, ecx
mov ecx, r11d
sar ecx, 2
cmp ecx, esi
cmovl ecx, esi
cmp r11d, ecx
cmovle ecx, r11d
add eax, eax
mov esi, dword [rbp + 0x248]
mov r11d, dword [rbp + 0x158]
cmp eax, ecx
cmovg eax, ecx
lea ecx, [rsi + r10 + 0x3f]
sar ecx, 6
add eax, r10d
add ecx, 2
test r11d, r11d
je 0x4223f1
xor eax, eax
mov r10d, pe_nt_image_headers64
mov r9d, 2
jmp 0x422415
cmp dword [rbp + 0x190], 0xe
jg 0x4222d5
mov rax, qword [rbp + 0x400]
cmp dword [rax + 0xbc], 2
je 0x4222d5
test r15d, r15d
jle 0x4222c4
mov rdi, qword [rbp + 0x1a8]
mov edx, dword [rbp + 0x1e0]
mov rax, rdi
lea rdx, [rdi + rdx*4 + 4]
mov dword [rax], 0
add rax, 4
cmp rdx, rax
jne 0x4222b5
mov eax, dword [rbp + 0x238]
mov dword [rbp + 0x248], eax
jmp 0x4218d9
test r15d, r15d
jle 0x4218cf
mov rdi, qword [rbp + 0x1a8]
mov edx, dword [rbp + 0x1e0]
mov ecx, dword [rbp + 0x238]
mov rax, rdi
lea rdx, [rdi + rdx*4 + 4]
nop dword [rax]
mov dword [rax], ecx
add rax, 4
cmp rdx, rax
jne 0x422300
jmp 0x4218cf
mov r15d, r14d
jmp 0x421ed2
mov eax, dword [rbp + 0x234]
mov r9d, dword [rbp + 0x15c]
lea eax, [rax + rax*8 + 4]
shl eax, 3
sub r9d, eax
mov eax, 0
cmovs r9d, eax
test r8d, r8d
je 0x422357
mov rax, qword [rbp + 0x400]
mov ecx, edi
mov eax, dword [rax + 0xdc]
mov dword [rbp + 0x240], eax
sar eax, cl
add r9d, eax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0xc0]
cmp eax, 0x63
jle 0x423c7b
cmp eax, 0x64
je 0x422383
movzx ecx, byte [rbp + 0x100]
mov eax, 0x90
sar eax, cl
sub r9d, eax
movaps xmm0, xmm14
subss xmm0, dword [0x0046f28c]
mulss xmm0, dword [0x0046f2fc]
cvttss2si eax, xmm0
add eax, r9d
comiss xmm14, dword [str.333_]
jbe 0x4223b5
cmp eax, 0x190
mov ecx, 0x190
cmovl eax, ecx
mov esi, dword [rbp + 0x248]
mov r11d, dword [rbp + 0x158]
add eax, r10d
lea ecx, [rsi + r10 + 0x3f]
sar ecx, 6
lea r9d, [rcx + 2]
mov ecx, dword [rbp + 0x94]
lea ecx, [rcx + rsi + 0x167]
sar ecx, 6
cmp ecx, r9d
cmovl ecx, r9d
test r11d, r11d
jne 0x42226f
lea r9d, [rax + 0x20]
sar r9d, 6
cmp ecx, r9d
cmovl ecx, r9d
cmp edx, ecx
cmovle ecx, edx
sub eax, dword [rbp + 0x15c]
mov r10d, ecx
mov r9d, ecx
shl r10d, 6
mov rsi, qword [rbp + 0x400]
movss xmm1, dword [0x0046f1cc]
mov ecx, dword [rsi + 0xe0]
cmp ecx, 0x3c9
jg 0x422457
lea r11d, [rcx + 1]
pxor xmm1, xmm1
add ecx, 0x15
movss xmm0, dword [0x0046f1b4]
cvtsi2ss xmm1, ecx
mov dword [rsi + 0xe0], r11d
divss xmm0, xmm1
movaps xmm1, xmm0
test r8d, r8d
je 0x4224b9
mov rsi, qword [rbp + 0x400]
sub r10d, dword [rbp + 0x15c]
mov ecx, edi
pxor xmm0, xmm0
shl eax, cl
add r10d, dword [rsi + 0xd4]
sub eax, dword [rsi + 0xdc]
mov r8d, r10d
mov dword [rsi + 0xd4], r10d
mov r10d, dword [rsi + 0xd8]
sub eax, r10d
cvtsi2ss xmm0, eax
mulss xmm0, xmm1
cvttss2si eax, xmm0
add eax, r10d
mov dword [rsi + 0xd8], eax
neg eax
mov dword [rsi + 0xdc], eax
test r8d, r8d
js 0x4247a9
cmp r9d, edx
mov rcx, qword [rbp + 0x428]
cmovle edx, r9d
mov dword [rbp + 0x1fc], edx
call fcn.00429150
mov rdx, qword [rbp + 0x1a0]
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.004582d0
sub rsp, rax
mov rax, rdx
lea r13, [rsp + 0xc0]
call fcn.004582d0
sub rsp, rax
mov rax, rdx
lea r12, [rsp + 0xc0]
call fcn.004582d0
mov edi, dword [rbp + 0x1fc]
mov rcx, qword [rbp + 0x428]
sub rsp, rax
lea eax, [rdi*8]
shl edi, 6
mov dword [rbp + 0x248], eax
lea rsi, [rsp + 0xc0]
call fcn.004287c0
not eax
add eax, edi
xor edi, edi
cmp byte [rbp + 0x13f], 0
je 0x422560
mov ecx, dword [rbp + 0x230]
lea edx, [rcx*8 + 0x10]
cmp edx, eax
jg 0x422560
sub eax, 8
mov edi, 8
mov rcx, qword [rbp + 0x400]
mov ecx, dword [rcx + 0x7c]
test ecx, ecx
je 0x4225bc
mov r11d, dword [rbp + 0x234]
mov r10d, dword [rbp + 0xec]
mov edx, 0xd
imul ecx, r11d, 0x7d00
cmp ecx, r10d
jg 0x4225a2
imul ecx, r11d, 0xbb80
mov edx, 0x10
cmp ecx, r10d
jle 0x423ca3
mov rcx, qword [rbp + 0x400]
cmp dword [rcx + 0x9c], edx
cmovge edx, dword [rcx + 0x9c]
mov dword [rbp + 0x104], edx
mov rcx, qword [rbp + 0x400]
mov r8d, r15d
mov edx, dword [rcx + 0x44]
test edx, edx
mov edx, 1
cmove edx, dword [rbp + 0x104]
mov dword [rsp + 0x90], edx
mov rcx, qword [rbp + 0x400]
mov edx, dword [rcx + 0x60]
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x88], edx
mov rcx, qword [rbp + 0x428]
mov qword [rsp + 0x78], rcx
mov ecx, dword [rbp + 0x230]
mov dword [rsp + 0x70], ecx
mov ecx, dword [rbp + 0x234]
mov qword [rsp + 0x60], rsi
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r12
mov rcx, qword [rbp + 0x130]
mov dword [rsp + 0x40], eax
lea rax, [rbp + 0x258]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x400]
mov dword [rsp + 0x28], ebx
add rax, 0xec
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x190]
mov qword [rsp + 0x20], rax
mov edx, dword [rbp + 0x21c]
mov r9, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x220]
call fcn.0042d580
mov ebx, eax
mov rax, qword [rbp + 0x400]
mov edx, dword [rax + 0x60]
mov eax, ebx
test edx, edx
je 0x4226a2
lea eax, [rdx - 1]
cmp eax, ebx
cmovl eax, ebx
add edx, 1
cmp eax, edx
cmovg eax, edx
mov rcx, qword [rbp + 0x400]
mov r9, r14
mov r8d, r15d
mov dword [rcx + 0x60], eax
mov eax, dword [rbp + 0x234]
mov dword [rsp + 0x38], eax
mov rcx, qword [rbp + 0x428]
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], rcx
mov rcx, qword [rbp + 0x1b0]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rbp + 0x220]
mov edx, dword [rbp + 0x21c]
call fcn.0042caf0
mov rcx, qword [rbp + 0xb8]
add rcx, 0xf
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.004582d0
mov rdx, qword [rbp + 0x400]
mov r11, qword [rbp + 0x400]
mov r10, qword [rbp + 0x400]
mov r9, qword [rbp + 0x400]
add rdx, 0x50
mov r11d, dword [r11 + 0x48]
mov r8, qword [rbp + 0x400]
mov r10d, dword [r10 + 0x4c]
mov r9d, dword [r9 + 0x1c]
mov qword [rbp + 0x208], rdx
mov edx, dword [rbp + 0x1fc]
sub rsp, rax
lea rcx, [rsp + 0xc0]
mov rax, qword [rbp + 0x1c8]
add rax, qword [rbp + 0x1d0]
mov dword [rbp + 0x240], r11d
shl edx, 6
mov qword [rbp + 0x200], rcx
mov rcx, rax
mov eax, 0
sub edx, edi
cmp dword [rbp + 0x234], 2
mov dword [rbp + 0x228], r10d
cmove rax, rcx
mov r10, qword [rbp + 0x400]
mov ecx, dword [rbp + 0x240]
mov dword [rbp + 0x210], r9d
mov r8d, dword [r8 + 0x54]
mov r9d, dword [rbp + 0x258]
mov r11d, dword [rbp + 0x2a0]
mov r10d, dword [r10 + 0xec]
mov dword [rsp + 0xb0], ecx
mov ecx, dword [rbp + 0x228]
mov dword [rsp + 0xa8], ecx
mov ecx, dword [rbp + 0x210]
mov dword [rsp + 0xa0], ecx
mov rcx, qword [rbp + 0x208]
mov dword [rsp + 0x90], ebx
mov qword [rsp + 0x98], rcx
mov ecx, dword [rbp + 0x230]
mov dword [rsp + 0x88], ecx
mov rcx, qword [rbp + 0x428]
mov dword [rsp + 0x78], r11d
mov qword [rsp + 0x80], rcx
mov dword [rsp + 0x70], edx
mov rcx, qword [rbp + 0x1a8]
mov dword [rsp + 0x58], r9d
mov r9d, r15d
mov qword [rsp + 0x68], rcx
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x50], r8d
mov ecx, dword [rbp + 0x180]
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x48], ecx
mov rcx, qword [rbp + 0x1c0]
mov qword [rsp + 0x38], rcx
mov rbx, qword [rbp + 0x200]
mov ecx, 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rbp + 0x1d0]
mov qword [rsp + 0x20], rax
mov r8d, dword [rbp + 0x21c]
mov rdx, qword [rbp + 0x220]
call fcn.0041dc10
test edi, edi
je 0x4228a5
mov rax, qword [rbp + 0x400]
xor edx, edx
mov rcx, qword [rbp + 0x428]
mov r8d, 1
cmp dword [rax + 0x78], 1
setle dl
call fcn.00428f40
mov rax, qword [rbp + 0x428]
mov ebx, dword [rbp + 0x234]
mov r9, r14
mov r8d, r15d
bsr eax, dword [rax + 0x20]
mov dword [rsp + 0x48], ebx
mov rdi, qword [rbp + 0x428]
mov qword [rsp + 0x40], rdi
mov rdi, qword [rbp + 0x428]
xor eax, 0x1f
mov edx, dword [rdi + 0x18]
mov edi, dword [rbp + 0x248]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r13
lea eax, [rax + rdx - 0x20]
sub edi, eax
mov dword [rsp + 0x38], edi
mov rdi, qword [rbp + 0x1b0]
mov qword [rsp + 0x20], rdi
mov r13d, dword [rbp + 0x21c]
mov rcx, qword [rbp + 0x220]
mov edx, r13d
call fcn.0042cd20
mov rsi, qword [rbp + 0x1f0]
mov r8, qword [rbp + 0x148]
xor edx, edx
mov rcx, rsi
call sub.msvcrt.dll_memset
mov r10d, r13d
xor r8d, r8d
mov qword [rbp + 0x248], r14
movss xmm1, dword [0x0046f1d0]
mov r14d, r13d
mov r11d, dword [rbp + 0x1f8]
xor r9d, r9d
mov r12, qword [rbp + 0x188]
mov r13, qword [rbp + 0x1d8]
nop dword [rax]
cmp r14d, r15d
jge 0x4229bc
movsxd rax, r10d
lea rdx, [r12 + rax*4]
movsxd rax, r9d
lea rcx, [rsi + rax*4]
add rdx, rdi
mov rax, r13
jmp 0x422998
movaps xmm7, xmm1
maxss xmm7, xmm0
movaps xmm0, xmm7
movss dword [rcx + rax*4], xmm0
add rax, 1
cmp r15d, eax
jle 0x4229bc
movss xmm0, dword [rdx + rax*4]
comiss xmm0, dword [0x0046f14c]
jbe 0x422980
movss xmm0, dword [0x0046f14c]
movss dword [rcx + rax*4], xmm0
add rax, 1
cmp r15d, eax
jg 0x422998
add r8d, 1
add r9d, r11d
add r10d, r11d
cmp ebx, r8d
jg 0x422960
mov r12d, dword [rbp + 0x158]
mov r14, qword [rbp + 0x248]
test r12d, r12d
je 0x422a0d
mov edi, dword [rbp + 0xc4]
test edi, edi
jle 0x422a0d
lea edx, [rdi - 1]
movss xmm0, dword [0x0046f300]
mov rax, r14
lea rdx, [r14 + rdx*4 + 4]
nop dword [rax + rax]
movss dword [rax], xmm0
add rax, 4
cmp rdx, rax
jne 0x422a00
mov rax, qword [rbp + 0x400]
mov edi, dword [rbp + 0x10c]
movss xmm6, dword [rbp + 0x138]
cmp byte [rbp + 0x13e], 0
mov dword [rax + 0x6c], edi
mov edi, dword [rbp + 0x198]
movss dword [rax + 0x70], xmm6
mov dword [rax + 0x74], edi
jne 0x422dc9
mov edi, dword [rbp + 0x238]
test edi, edi
je 0x422dea
mov edi, dword [rbp + 0xc0]
xor eax, eax
mov rdx, qword [rbp + 0x128]
lea ecx, [rdi - 1]
test edi, edi
jg 0x422a73
jmp 0x422a8c
mov rax, r8
movss xmm0, dword [rdx + rax*4]
minss xmm0, dword [r14 + rax*4]
lea r8, [rax + 1]
movss dword [rdx + rax*4], xmm0
cmp rcx, rax
jne 0x422a70
mov ebx, dword [rbp + 0x1f8]
mov edi, dword [rbp + 0x21c]
movss xmm0, dword [0x0046f300]
mov r12, qword [rbp + 0xd0]
mov eax, ebx
lea ecx, [rdi - 1]
mov r11d, dword [rbp + 0xd8]
mov esi, dword [rbp + 0x22c]
sub eax, r15d
mov rdx, qword [rbp + 0x128]
add rcx, 1
movaps xmm1, xmm0
sub eax, 1
mov r9, qword [rbp + 0xf0]
lea r8, [r12 + rax + 1]
nop dword [rax]
test edi, edi
jle 0x422b1c
mov r10d, r11d
imul r10d, ebx
movsxd r10, r10d
lea rax, [r10*4]
add r10, rcx
shl r10, 2
nop dword [rax]
mov dword [r14 + rax], 0
movss dword [r9 + rax], xmm0
movss dword [rdx + rax], xmm0
add rax, 4
cmp r10, rax
jne 0x422b00
cmp ebx, r15d
jle 0x422b5c
mov r10d, r11d
imul r10d, ebx
movsxd r10, r10d
lea rax, [r12 + r10]
add r10, r8
shl rax, 2
shl r10, 2
nop word [rax + rax]
mov dword [r14 + rax], 0
movss dword [r9 + rax], xmm1
movss dword [rdx + rax], xmm1
add rax, 4
cmp r10, rax
jne 0x422b40
cmp r11d, 1
mov r11d, 1
sbb eax, eax
add eax, 2
cmp esi, eax
jg 0x422ae0
mov esi, dword [rbp + 0x19c]
test esi, esi
je 0x422b96
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x78]
mov dword [rbp + 0x248], eax
add eax, 1
mov dword [rbp + 0x19c], eax
mov rax, qword [rbp + 0x400]
mov edi, dword [rbp + 0x19c]
mov rcx, qword [rbp + 0x428]
mov dword [rax + 0x78], edi
mov rax, qword [rbp + 0x428]
mov rdi, qword [rbp + 0x400]
mov eax, dword [rax + 0x20]
mov dword [rdi + 0x50], eax
call fcn.004291b0
mov rax, qword [rbp + 0x428]
mov ebx, dword [rax + 0x30]
mov eax, 0xfffffffd
test ebx, ebx
cmove eax, dword [rbp + 0x1fc]
mov dword [rbp + 0x1fc], eax
mov rsp, qword [rbp + 0xc8]
jmp 0x41f68f
mov dword [rbp + 0x248], 0
jmp 0x421bf9
xor r15d, r15d
jmp 0x421ef0
mov dword [rbp + 0x240], 0
mov r13d, edx
cmp esi, r15d
jl 0x421af7
jmp 0x421c89
mov ecx, dword [rbp + 0x230]
test ecx, ecx
je 0x422d3c
mov rax, qword [rbp + 0x220]
movss xmm3, dword [0x0046f170]
mov dword [rbp + 0x240], r10d
movss xmm2, dword [0x0046f200]
mov r13, qword [rbp + 0x1d0]
mov r8, qword [rbp + 0x1b8]
mov rdi, qword [rax + 0x20]
movaps xmm4, xmm3
lea rbx, [r13 + 4]
mov r9, rdi
lea rsi, [rdi + 0x1a]
nop
movsx r10d, word [r9]
movsx edx, word [r9 + 2]
shl r10d, cl
shl edx, cl
cmp r10d, edx
jge 0x422ce3
sub edx, 1
movsxd r12, r10d
sub edx, r10d
lea rax, [r13 + r12*4]
add r12, rdx
lea rdx, [rbx + r12*4]
nop dword [rax + rax]
movss xmm0, dword [rax]
movss xmm5, dword [rax + r8*4]
add rax, 4
movaps xmm1, xmm0
movaps xmm8, xmm5
andps xmm1, xmm2
andps xmm8, xmm2
addss xmm1, xmm8
addss xmm4, xmm1
movaps xmm1, xmm0
subss xmm0, xmm5
addss xmm1, xmm5
andps xmm0, xmm2
andps xmm1, xmm2
addss xmm0, xmm1
addss xmm3, xmm0
cmp rdx, rax
jne 0x422ca0
add r9, 2
cmp rsi, r9
jne 0x422c70
mov esi, dword [rbp + 0x230]
movsx eax, word [rdi + 0x1a]
xor edx, edx
pxor xmm0, xmm0
mulss xmm3, dword [0x0046f2c4]
mov r10d, dword [rbp + 0x240]
cmp esi, 1
lea ecx, [rsi + 1]
setne dl
shl eax, cl
lea edx, [rax + rdx*8 + 5]
cvtsi2ss xmm0, edx
mulss xmm3, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
xor eax, eax
mulss xmm4, xmm0
comiss xmm3, xmm4
seta al
mov dword [rbp + 0x258], eax
mov eax, dword [rbp + 0xec]
mov edx, 0x10624dd3
pxor xmm0, xmm0
mov dword [rbp + 0x210], r11d
mov dword [rbp + 0x240], r10d
mov r9d, 0x15
lea r8, [0x0046f080]
imul edx
mov eax, dword [rbp + 0xec]
sar eax, 0x1f
sar edx, 6
sub edx, eax
mov rax, qword [rbp + 0x400]
cvtsi2ss xmm0, edx
lea rdx, [0x0046f0e0]
mov eax, dword [rax + 0xec]
mov dword [rsp + 0x20], eax
call fcn.0041af60
mov edi, dword [rbp + 0x21c]
mov r11d, dword [rbp + 0x210]
mov r10d, dword [rbp + 0x240]
cmp eax, edi
cmovl eax, edi
mov rdi, qword [rbp + 0x400]
cmp eax, r15d
cmovg eax, r15d
mov dword [rdi + 0xec], eax
jmp 0x421f49
mov r8, qword [rbp + 0x110]
mov rdx, r14
lea rcx, [r14 + r8]
call sub.msvcrt.dll_memcpy
mov edi, dword [rbp + 0x238]
test edi, edi
jne 0x422a4e
mov rsi, qword [rbp + 0x148]
mov rdi, qword [rbp + 0x128]
mov rcx, qword [rbp + 0xf0]
mov r8, rsi
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call sub.msvcrt.dll_memcpy
jmp 0x422a8c
mov eax, 0x5000
movss xmm0, dword [0x0046f2bc]
mov qword [rbp + 0x68], rsp
movss xmm13, dword [0x0046f14c]
cdq
movss xmm9, dword [0x0046f1ac]
idiv dword [rbp + 0x190]
subss xmm13, xmm14
mov edx, 0x4e
cmp eax, 0x4e
cmovl eax, edx
add eax, 2
comiss xmm0, xmm13
mov dword [rbp + 0x88], eax
jbe 0x423b8c
movsxd rdi, dword [rbp + 0x210]
lea rax, [rdi*4]
mov rbx, rdi
mov qword [rbp + 0x48], rdi
lea r8, [rax + 0xf]
mov qword [rbp + 0x60], rax
and r8, 0xfffffffffffffff0
mov rax, r8
call fcn.004582d0
mov r12d, dword [rbp + 0x230]
sub rsp, rax
lea rax, [rsp + 0xc3]
shr rax, 2
mov qword [rbp + 0x58], rax
shl rax, 2
mov qword [rbp + 0x188], rax
mov rax, qword [rbp + 0x220]
mov rdx, qword [rax + 0x20]
movsx ecx, word [rdx + rdi*2 - 2]
movsx eax, word [rdx + rdi*2]
sub eax, ecx
mov ecx, r12d
shl eax, cl
cdqe
lea rcx, [rax*4 + 0xf]
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.004582d0
sub rsp, rax
mov rax, rcx
lea rsi, [rsp + 0xc0]
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x70], rax
mov rax, r8
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x78], rax
mov rax, r8
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x150], rax
test edi, edi
jle 0x4231dc
mov eax, dword [rbp + 0x208]
imul eax, dword [rbp + 0x228]
mov ecx, r12d
pxor xmm10, xmm10
mov r9d, dword [rbp + 0x238]
mov dword [rbp + 0x80], r15d
movss xmm8, dword [0x0046f200]
mov qword [rbp + 0x240], 0
movaps xmm11, xmm8
test r9d, r9d
mov dword [rbp + 0x120], eax
mov eax, 0
cmovne eax, r12d
neg ecx
mov qword [rbp + 0x40], r14
lea edi, [rcx + rcx]
lea ecx, [rbx - 1]
mov dword [rbp + 0x50], edi
cvtsi2ss xmm10, eax
lea rdi, [rcx + rcx]
mov qword [rbp + 0x118], rdi
mov rax, qword [rbp + 0x240]
mov ecx, r12d
lea rdi, [rax + 2]
mov qword [rbp + 0x1b0], rdi
mov rdi, rax
movsx eax, word [rdx + rax]
movsx edx, word [rdx + rdi + 2]
xor edi, edi
sub edx, eax
mov r13d, edx
mov r14d, edx
mov dword [rbp + 0x208], edx
shl r13d, cl
cmp edx, 1
sete dil
movsxd rbx, r13d
shl eax, cl
mov rcx, qword [rbp + 0x1d0]
add eax, dword [rbp + 0x120]
shl rbx, 2
cdqe
mov r8, rbx
lea rdx, [rcx + rax*4]
mov rcx, rsi
call sub.msvcrt.dll_memcpy
cmp r14d, 1
setne al
and al, byte [rbp + 0x170]
mov ecx, eax
test r13d, r13d
jle 0x42367e
lea r14d, [r13 - 1]
mov rax, rsi
pxor xmm1, xmm1
shl r14, 2
lea rdx, [rsi + r14 + 4]
nop
movss xmm0, dword [rax]
add rax, 4
andps xmm0, xmm8
addss xmm1, xmm0
cmp rdx, rax
jne 0x423040
movaps xmm12, xmm10
mulss xmm12, xmm9
mulss xmm12, xmm1
addss xmm12, xmm1
test cl, cl
jne 0x423576
xor r15d, r15d
or edi, dword [rbp + 0x238]
xor edi, 1
add edi, r12d
mov dword [rbp + 0x248], edi
je 0x42312e
lea eax, [r13 - 1]
xor ecx, ecx
lea rdi, [rsi + rax*4 + 4]
mov r14, rdi
mov edi, r15d
nop dword [rax]
mov r8d, dword [rbp + 0x238]
lea r15d, [rcx + 1]
mov ebx, r12d
mov edx, r13d
sub ebx, r15d
test r8d, r8d
mov r8d, 1
cmove ebx, r15d
sar edx, cl
shl r8d, cl
mov rcx, rsi
call fcn.0041cda0
test r13d, r13d
jle 0x423190
mov rax, rsi
pxor xmm1, xmm1
nop
movss xmm0, dword [rax]
add rax, 4
andps xmm0, xmm11
addss xmm1, xmm0
cmp r14, rax
jne 0x4230e0
pxor xmm0, xmm0
mov ecx, r15d
cvtsi2ss xmm0, ebx
mulss xmm0, xmm9
mulss xmm0, xmm1
addss xmm0, xmm1
comiss xmm12, xmm0
minss xmm0, xmm12
cmova edi, r15d
movaps xmm12, xmm0
cmp dword [rbp + 0x248], r15d
jne 0x4230a0
mov r15d, edi
mov eax, r15d
mov edx, dword [rbp + 0x238]
lea r11d, [r15 + r15]
mov rdi, qword [rbp + 0x240]
neg eax
add eax, eax
test edx, edx
cmove r11d, eax
mov rax, qword [rbp + 0x188]
cmp dword [rbp + 0x208], 1
mov dword [rax + rdi*2], r11d
je 0x4231a0
mov rdi, qword [rbp + 0x240]
cmp qword [rbp + 0x118], rdi
je 0x4231d1
mov rax, qword [rbp + 0x220]
mov rdx, qword [rax + 0x20]
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x240], rax
jmp 0x422fb1
pxor xmm1, xmm1
jmp 0x4230f5
test r11d, r11d
je 0x4231ab
cmp r11d, dword [rbp + 0x50]
jne 0x423160
mov rdi, qword [rbp + 0x240]
mov rax, qword [rbp + 0x188]
sub r11d, 1
mov dword [rax + rdi*2], r11d
mov rdi, qword [rbp + 0x240]
cmp qword [rbp + 0x118], rdi
jne 0x423170
mov r15d, dword [rbp + 0x80]
mov r14, qword [rbp + 0x40]
mov rax, qword [rbp + 0xa0]
mov r11d, dword [rbp + 0x88]
mov dword [rbp + 0x70], r15d
movsxd r12, dword [rbp + 0x230]
mov r15, qword [rbp + 0x188]
mov eax, dword [rax*4]
mov qword [rbp + 0x50], r12
mov dword [rbp + 0x240], eax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x58], r14
mov r14, qword [rbp + 0xf8]
mov eax, dword [rax*4]
mov dword [rbp + 0x208], eax
mov eax, dword [rbp + 0x238]
lea edi, [rax + rax]
test eax, eax
mov eax, 0
cmove eax, r11d
mov dword [rbp + 0x118], edi
mov dword [rbp + 0x1b0], eax
movsxd rax, edi
mov rdi, qword [0x0047cfe0]
lea rax, [rax + r12*4]
lea r13, [rdi + rax*2]
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0x248], rax
add rax, 8
mov qword [rbp + 0x170], rax
mov eax, dword [rbp + 0x210]
lea edi, [rax - 2]
mov dword [rbp + 0x120], edi
add rdi, 2
mov ecx, dword [rbp + 0x208]
movsx esi, byte [r13]
movsx r12d, byte [r13 + 1]
mov ebx, dword [rbp + 0x240]
add esi, esi
mov eax, ecx
sub eax, esi
add r12d, r12d
cdq
sub ecx, r12d
xor eax, edx
sub eax, edx
mov edx, ecx
sar ecx, 0x1f
xor edx, ecx
imul eax, ebx
sub edx, ecx
mov ecx, dword [rbp + 0x1b0]
imul edx, ebx
cmp dword [rbp + 0x210], 1
lea ebx, [rdx + rcx]
jle 0x423334
mov ecx, 1
mov r8d, ebx
nop
lea r10d, [r11 + r8]
mov edx, dword [r15 + rcx*4]
mov r9d, dword [r14 + rcx*4]
cmp r10d, eax
cmovg r10d, eax
add eax, r11d
cmp eax, r8d
cmovle r8d, eax
mov eax, edx
sub edx, r12d
add rcx, 1
sub eax, esi
mov ebx, eax
sar ebx, 0x1f
xor eax, ebx
sub eax, ebx
imul eax, r9d
add eax, r10d
mov r10d, edx
sar r10d, 0x1f
xor edx, r10d
sub edx, r10d
imul edx, r9d
add r8d, edx
cmp rdi, rcx
jne 0x4232e0
mov ebx, r8d
cmp eax, ebx
cmovle ebx, eax
mov rax, qword [rbp + 0x248]
add r13, 2
mov dword [rax], ebx
add rax, 4
mov qword [rbp + 0x248], rax
cmp qword [rbp + 0x170], rax
jne 0x42328e
mov eax, dword [rbp + 0x2a0]
cmp dword [rbp + 0x2a4], eax
setl al
mov r11d, dword [rbp + 0x238]
mov r12, qword [rbp + 0x50]
movzx eax, al
mov edx, dword [rbp + 0x118]
mov rdi, qword [rbp + 0xa0]
and eax, r11d
mov r15d, dword [rbp + 0x70]
mov r14, qword [rbp + 0x58]
add edx, eax
mov dword [rbp + 0x248], eax
lea rcx, [rdi + r12*8]
mov esi, dword [rbp + 0x208]
add edx, edx
mov r10d, dword [rbp + 0x240]
mov r13d, dword [rbp + 0x88]
movsxd rax, edx
add edx, 1
movsxd rdx, edx
movsx edi, byte [rcx + rax]
mov eax, esi
movsx ebx, byte [rcx + rdx]
add edi, edi
add ebx, ebx
sub eax, edi
sub esi, ebx
mov r8d, eax
mov ecx, esi
sar r8d, 0x1f
mov edx, esi
mov rsi, qword [rbp + 0x1a8]
sar ecx, 0x1f
xor eax, r8d
xor edx, ecx
sub eax, r8d
mov r8d, edx
imul eax, r10d
sub r8d, ecx
mov rcx, qword [rbp + 0x60]
imul r8d, r10d
test r11d, r11d
lea r12, [rsi + rcx - 4]
lea edx, [r8 + r13]
cmove r8d, edx
cmp dword [rbp + 0x210], 1
jle 0x424e61
mov esi, dword [rbp + 0x120]
mov r10, qword [rbp + 0x78]
mov ecx, 1
mov dword [rbp + 0x240], r15d
mov qword [rbp + 0x208], r14
mov r15, qword [rbp + 0x188]
mov qword [rbp + 0x1b0], r12
mov r14, qword [rbp + 0xf8]
add rsi, 2
mov r12d, dword [rbp + 0xe8]
nop dword [rax]
lea r9d, [r13 + r8]
mov edx, r12d
cmp r9d, eax
jle 0x423472
xor edx, edx
mov r9d, eax
add eax, r13d
mov dword [r10 + rcx*4], edx
mov edx, r12d
cmp eax, r8d
jge 0x423486
xor edx, edx
mov r8d, eax
mov rax, qword [rbp + 0x150]
mov dword [rax + rcx*4], edx
mov edx, dword [r15 + rcx*4]
mov eax, edx
sub edx, ebx
sub eax, edi
mov r11d, eax
sar r11d, 0x1f
xor eax, r11d
sub eax, r11d
imul eax, dword [r14 + rcx*4]
add eax, r9d
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
imul edx, dword [r14 + rcx*4]
add rcx, 1
add r8d, edx
cmp rsi, rcx
jne 0x423460
cmp eax, r8d
mov r12, qword [rbp + 0x1b0]
mov r15d, dword [rbp + 0x240]
setge al
mov r14, qword [rbp + 0x208]
movzx eax, al
mov dword [r12], eax
movsxd rax, dword [rbp + 0x120]
mov rdx, qword [rbp + 0x1a8]
mov r8, qword [rbp + 0x78]
mov r9, qword [rbp + 0x150]
jmp 0x423520
mov ecx, dword [r8 + rax*4 + 4]
mov dword [rdx + rax*4], ecx
sub rax, 1
test eax, eax
js 0x423537
cmp dword [rdx + rax*4 + 4], 1
jne 0x423510
mov ecx, dword [r9 + rax*4 + 4]
mov dword [rdx + rax*4], ecx
sub rax, 1
test eax, eax
jns 0x423520
mov eax, dword [rbp + 0x210]
mov rsp, qword [rbp + 0x68]
lea edx, [rax - 1]
movsxd rdx, edx
cmp r15d, eax
jle 0x4218d9
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x1a8]
nop dword [rax + rax]
mov r8d, dword [rcx + rdx*4]
mov dword [rcx + rax*4], r8d
add rax, 1
cmp r15d, eax
jg 0x423560
jmp 0x4218d9
mov r8, rbx
mov rbx, qword [rbp + 0x70]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, r12d
mov edx, r13d
mov r8d, dword [rbp + 0x108]
sar edx, cl
mov rcx, rbx
call fcn.0041cda0
lea ecx, [r12 + 1]
mov rax, rbx
pxor xmm1, xmm1
lea rdx, [rbx + r14 + 4]
movss xmm0, dword [rax]
add rax, 4
andps xmm0, xmm8
addss xmm1, xmm0
cmp rdx, rax
jne 0x4235b0
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, xmm9
mulss xmm0, xmm1
addss xmm1, xmm0
comiss xmm12, xmm1
jbe 0x423070
movaps xmm12, xmm1
mov r15d, 0xffffffff
jmp 0x423073
mov rdx, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x1a8]
mov r8, r13
call sub.msvcrt.dll_memcpy
jmp 0x4210c2
xor r12d, r12d
jmp 0x41fbd0
mov r8, qword [rbp + 0x200]
xor eax, eax
add r8, qword [rbp + 0x110]
jmp 0x423633
mov rax, rdx
movss xmm1, dword [r8 + rax*4]
subss xmm1, dword [rbx + rax*4]
lea rdx, [rax + 1]
movss xmm0, dword [rsi + rax*4]
maxss xmm0, xmm1
movss dword [rsi + rax*4], xmm0
cmp rcx, rax
jne 0x423630
jmp 0x42162c
mov edi, dword [rbp + 0x238]
or dword [rbp + 0x19c], edi
mov eax, edi
and eax, 1
and ebx, eax
mov byte [rbp + 0x170], al
mov byte [rbp + 0x13f], bl
jmp 0x421337
movaps xmm12, xmm10
mulss xmm12, xmm9
mulss xmm12, xmm6
addss xmm12, xmm6
test al, al
je 0x423070
mov r8, rbx
mov rbx, qword [rbp + 0x70]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov ecx, r12d
mov edx, r13d
mov r8d, dword [rbp + 0x108]
sar edx, cl
mov rcx, rbx
call fcn.0041cda0
lea ecx, [r12 + 1]
pxor xmm1, xmm1
jmp 0x4235c5
mov rax, qword [rbp + 0x400]
mov r12d, dword [rbp + 0x21c]
mov eax, dword [rax + 0x1c]
test r12d, r12d
je 0x423cd0
test eax, eax
je 0x423ceb
mov edi, dword [rbp + 0x238]
test edi, edi
je 0x424af1
mov rax, qword [rbp + 0x400]
mov edx, 2
mov dword [rax + 0x54], 2
jmp 0x421cb9
mov rcx, qword [rbp + 0x1a8]
mov rax, r12
xor r8d, r8d
xor r13d, r13d
mov rdi, qword [rbp + 0x1b0]
mov r10d, dword [rbp + 0x240]
mov qword [rbp + 0x1b0], r14
lea edx, [r15 - 5]
mov qword [rbp + 0x1a8], r12
mov r11d, dword [rbp + 0x1e0]
lea r9, [rcx + rdx*4 + 4]
movss xmm8, dword [0x0046f1b4]
mov r12, qword [rbp + 0x110]
lea rsi, [rcx + rdi]
add r10, 2
movss xmm12, dword [0x0046f14c]
movss xmm11, dword [0x0046f2a0]
movss xmm9, dword [0x0046f1bc]
nop word [rax + rax]
movss xmm3, dword [rcx]
movss dword [rax], xmm3
cmp r15d, 1
jle 0x4237d7
mov edx, 1
movss xmm0, dword [rcx + rdx*4 - 4]
movss xmm1, dword [rcx + rdx*4]
addss xmm0, xmm12
ucomiss xmm1, xmm0
movss xmm0, dword [rax + rdx*4 - 4]
addss xmm0, xmm11
cmova r8d, edx
minss xmm0, xmm1
movss dword [rax + rdx*4], xmm0
add rdx, 1
cmp r10, rdx
jne 0x4237a3
lea r14d, [r8 - 1]
movsxd rdx, r14d
cmp r14d, 0xffffffff
je 0x42380b
movss xmm1, dword [rax + rdx*4 + 4]
movss xmm0, dword [rax + rdx*4]
addss xmm1, xmm9
minss xmm1, dword [rcx + rdx*4]
minss xmm0, xmm1
movss dword [rax + rdx*4], xmm0
sub rdx, 1
cmp edx, 0xffffffff
jne 0x4237e4
cmp dword [rbp + 0x240], 2
lea r14, [rax + 8]
mov rdx, rcx
jg 0x42384e
jmp 0x4238d0
comiss xmm2, xmm1
jbe 0x4238b0
minss xmm0, xmm2
subss xmm0, xmm8
add rdx, 4
add r14, 4
maxss xmm10, xmm0
movss dword [r14 - 4], xmm10
cmp r9, rdx
je 0x4238d0
movss xmm1, dword [rdx]
movss xmm4, dword [rdx + 4]
movss xmm10, dword [r14]
movss xmm0, dword [rdx + 8]
comiss xmm1, xmm4
ja 0x42386f
movaps xmm2, xmm4
movaps xmm4, xmm1
movaps xmm1, xmm2
movss xmm5, dword [rdx + 0xc]
movss xmm2, dword [rdx + 0x10]
comiss xmm5, xmm2
ja 0x423889
movaps xmm13, xmm2
movaps xmm2, xmm5
movaps xmm5, xmm13
comiss xmm4, xmm2
jbe 0x42389a
movaps xmm2, xmm4
movaps xmm4, xmm1
movaps xmm1, xmm5
movaps xmm5, xmm4
comiss xmm0, xmm1
ja 0x423820
comiss xmm2, xmm0
jbe 0x4238c0
minss xmm1, xmm2
movaps xmm0, xmm1
jmp 0x42382d
minss xmm5, xmm1
movaps xmm0, xmm5
jmp 0x42382d
minss xmm0, xmm5
jmp 0x42382d
movss xmm0, dword [rcx + 4]
comiss xmm3, xmm0
ja 0x4238e3
movaps xmm1, xmm0
movaps xmm0, xmm3
movaps xmm3, xmm1
movss xmm1, dword [rcx + 8]
comiss xmm1, xmm3
ja 0x4238f4
movaps xmm3, xmm1
maxss xmm3, xmm0
subss xmm3, xmm8
movss xmm0, dword [rax]
movss xmm1, dword [rsi - 8]
maxss xmm0, xmm3
movss dword [rax], xmm0
movss xmm0, dword [rax + 4]
maxss xmm0, xmm3
movss dword [rax + 4], xmm0
movss xmm0, dword [rsi - 0xc]
comiss xmm0, xmm1
ja 0x42392b
movaps xmm2, xmm1
movaps xmm1, xmm0
movaps xmm0, xmm2
movss xmm2, dword [rsi - 4]
comiss xmm2, xmm0
ja 0x42393c
maxss xmm2, xmm1
movaps xmm0, xmm2
subss xmm0, xmm8
movss xmm1, dword [rax + rdi - 8]
xor edx, edx
maxss xmm1, xmm0
movss dword [rax + rdi - 8], xmm1
movss xmm1, dword [rax + rdi - 4]
maxss xmm1, xmm0
movss dword [rax + rdi - 4], xmm1
test r15d, r15d
jg 0x423973
jmp 0x42398b
mov rdx, r14
movss xmm0, dword [rax + rdx*4]
maxss xmm0, dword [rbx + rdx*4]
lea r14, [rdx + 1]
movss dword [rax + rdx*4], xmm0
cmp r11, rdx
jne 0x423970
add r13d, 1
add rcx, r12
add rax, r12
add rsi, r12
add r9, r12
cmp dword [rbp + 0x234], r13d
jg 0x423790
cmp dword [rbp + 0x234], 2
mov r14, qword [rbp + 0x1b0]
mov r12, qword [rbp + 0x1a8]
je 0x423df5
mov rax, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x200]
cmp dword [rbp + 0x21c], r15d
jge 0x424e81
nop
movss xmm0, dword [rdx + rax*4]
subss xmm0, dword [r12 + rax*4]
movaps xmm4, xmm6
maxss xmm4, xmm0
movss dword [r12 + rax*4], xmm4
add rax, 1
cmp r15d, eax
jg 0x4239e0
movss xmm13, dword [0x0046f14c]
movss xmm12, dword [0x0046f1a8]
mov rax, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x188]
mov rbx, rax
movss xmm0, dword [r12 + rax*4]
maxss xmm0, dword [rdx + rax*4]
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp r15d, eax
jg 0x423a24
movsd xmm11, qword [0x0046f218]
mov rsi, qword [rbp + 0xf8]
movq xmm10, qword [0x0046f220]
movss xmm8, dword [0x0046f2b0]
movsd xmm9, qword [0x0046f1a0]
jmp 0x423af7
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x0046f2a8]
call fcn.00459ac0
movapd xmm2, xmm10
cvtsd2ss xmm0, xmm0
mulss xmm0, xmm8
addss xmm0, xmm13
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
movapd xmm3, xmm0
andpd xmm1, xmm10
ucomisd xmm11, xmm1
jbe 0x423ae3
cvttsd2si rax, xmm0
pxor xmm1, xmm1
andnpd xmm2, xmm3
cvtsi2sd xmm1, rax
movapd xmm4, xmm1
cmpnlesd xmm4, xmm0
movapd xmm0, xmm4
movsd xmm4, qword [0x0046f230]
andpd xmm0, xmm4
subsd xmm1, xmm0
movapd xmm0, xmm1
orpd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [rsi + rbx*4], eax
add rbx, 1
cmp r15d, ebx
jle 0x4242bb
movss xmm0, dword [r12 + rbx*4]
comiss xmm12, xmm0
ja 0x423a70
movapd xmm0, xmm9
jmp 0x423a7c
cmp dword [rax + 0x1c], 1
jle 0x4213c1
mov dword [rbp + 0xe8], 1
test r13d, r13d
je 0x4213cb
jmp 0x4213c1
movss xmm2, dword [0x0046f188]
movaps xmm15, xmm1
addss xmm0, xmm2
mov rax, qword [rbp + 0x400]
xor edi, edi
movss dword [rax + 0xf8], xmm0
jmp 0x4210b2
movsxd rax, dword [rbp + 0x1f8]
movss dword [rbp + 0x8c], xmm6
pxor xmm15, xmm15
movss dword [rbp + 0x84], xmm6
mov qword [rbp + 0x1d0], rax
mov qword [rbp + 0x1d8], 0
jmp 0x4210b2
mulss xmm13, dword [0x0046f2c0]
movaps xmm9, xmm13
jmp 0x422e6a
xor r12d, r12d
cmp dword [rax + 0x1c], 4
setg r12b
jmp 0x41fbd0
mov rsi, qword [rbp + 0x400]
mov ecx, edi
mov esi, dword [rsi + 0xdc]
mov dword [rbp + 0x240], esi
sar esi, cl
add eax, esi
jmp 0x422017
mov eax, dword [rbp + 0x238]
mov byte [rbp + 0x13f], 1
mov dword [rbp + 0x19c], eax
mov edx, dword [rbp + 0x238]
mov rcx, qword [rbp + 0x428]
mov r8d, 3
call fcn.00428e10
movzx eax, byte [rbp + 0x13f]
mov byte [rbp + 0x13f], bl
mov byte [rbp + 0x170], al
jmp 0x421337
call fcn.004582d0
sub rsp, rax
mov rax, qword [rbp + 0x148]
lea rsi, [rsp + 0xc0]
lea r8, [rax + 0xf]
and r8, 0xfffffffffffffff0
mov rax, r8
call fcn.004582d0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x1c0], rax
mov rax, r8
call fcn.004582d0
mov dword [rbp + 0x180], 0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov dword [rbp + 0x19c], 0
mov qword [rbp + 0x200], rax
jmp 0x420917
movzx ecx, byte [rbp + 0x100]
mov eax, 0x60
sar eax, cl
add r9d, eax
jmp 0x422383
movss xmm2, dword [0x0046f294]
mulss xmm2, xmm15
jmp 0x423b3f
imul ecx, r11d, 0xea60
mov edx, 0x12
cmp ecx, r10d
jg 0x4225a2
imul edx, r11d, 0x13880
cmp edx, r10d
setle dl
movzx edx, dl
add edx, 0x13
jmp 0x4225a2
mov esi, dword [rbp + 0x180]
test esi, esi
jne 0x423ce3
cmp eax, 2
jg 0x424b09
test eax, eax
jne 0x423700
mov rax, qword [rbp + 0x400]
mov dword [rax + 0x54], 0
jmp 0x421cb9
movsxd rcx, dword [rbp + 0x218]
cmp ecx, r9d
jge 0x423d19
movsx r11d, word [rsi + rcx*2]
movzx ecx, byte [rbp + 0x230]
shl r11d, cl
mov ecx, dword [rbp + 0x228]
add dword [rbp + 0x240], r11d
test ecx, ecx
jne 0x423eee
mov r12d, eax
mov rcx, qword [rbp + 0x400]
pxor xmm2, xmm2
pxor xmm1, xmm1
cvtsi2ss xmm1, dword [rbp + 0x240]
movss xmm0, dword [rcx + 0xe8]
mov ecx, dword [rbp + 0x218]
cmp ecx, r9d
cmovle r9d, ecx
movsxd rcx, r9d
movsx r11d, word [rsi + rcx*2]
movzx ecx, byte [rbp + 0x230]
shl r11d, cl
sub r11d, r9d
cvtsi2ss xmm2, r11d
mulss xmm2, dword [0x0046f2e0]
divss xmm2, xmm1
movss xmm1, dword [0x0046f1b4]
comiss xmm1, xmm0
ja 0x424e31
movss xmm1, dword [0x0046f1c0]
pxor xmm0, xmm0
lea ecx, [r11*8]
cvtsi2ss xmm0, r12d
mulss xmm2, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, xmm1
comiss xmm0, xmm2
ja 0x424acd
cvttss2si ecx, xmm0
sub r12d, ecx
jmp 0x4220e8
lea eax, [rsi + rax]
mov rcx, qword [rbp + 0x428]
mov edx, eax
mov dword [rbp + 0x1fc], eax
call fcn.00429150
mov dword [rbp + 0x218], r12d
jmp 0x41f920
mov edi, dword [rbp + 0x21c]
cmp edi, r15d
jge 0x424e81
mov edx, dword [rbp + 0x1f8]
mov r8, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x110]
mov rax, qword [rbp + 0x1d8]
movss xmm13, dword [0x0046f14c]
add edx, edi
movss xmm12, dword [0x0046f1a8]
movsxd rdx, edx
add rcx, r8
lea rdx, [r12 + rdx*4]
movss xmm1, dword [r12 + rax*4]
movss xmm0, dword [rdx]
movaps xmm4, xmm6
add rdx, 4
subss xmm1, xmm12
maxss xmm0, xmm1
movss dword [rdx - 4], xmm0
subss xmm0, xmm12
movss xmm1, dword [r12 + rax*4]
maxss xmm1, xmm0
movss xmm0, dword [r8 + rax*4]
subss xmm0, xmm1
movss dword [r12 + rax*4], xmm1
movss xmm1, dword [rcx + rax*4]
subss xmm1, dword [rdx - 4]
maxss xmm4, xmm0
movaps xmm0, xmm4
movaps xmm4, xmm6
maxss xmm4, xmm1
addss xmm0, xmm4
mulss xmm0, xmm13
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp r15d, eax
jg 0x423e3d
jmp 0x423a13
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x200], rsp
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.004582d0
movss xmm9, dword [0x0046f168]
mov dword [rbp + 0x1e0], 0
sub rsp, rax
lea rbx, [rsp + 0xc0]
jmp 0x420288
mov rcx, qword [rbp + 0x400]
movsd xmm2, qword [0x0046f308]
pxor xmm0, xmm0
movss xmm1, dword [rcx + 0x8c]
cvtss2sd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x423d2e
mov ecx, dword [rbp + 0x240]
pxor xmm0, xmm0
movss xmm2, dword [0x0046f164]
mov r12d, eax
shl ecx, 3
subss xmm2, xmm1
cvtsi2ss xmm0, ecx
mulss xmm0, xmm2
cvttss2si ecx, xmm0
sub r12d, ecx
cmp dword [rbp + 0x234], 2
jne 0x4220e8
jmp 0x423d31
xor ebx, ebx
jmp 0x423bdf
comiss xmm0, xmm6
jbe 0x420bd9
mulss xmm0, xmm5
jmp 0x420bd9
add ebx, 1
add r9, r12
cmp edi, ebx
jne 0x420bc0
mov rsi, qword [rbp + 0x118]
mov r12, qword [rbp + 0x110]
mov edi, dword [rbp + 0x104]
test ecx, ecx
jle 0x425198
pxor xmm0, xmm0
mov eax, dword [rbp + 0x1a0]
imul eax, dword [rbp + 0x234]
cvtsi2ss xmm0, ecx
mov ecx, dword [rbp + 0x1e0]
mulss xmm2, dword [0x0046f290]
movss xmm13, dword [0x0046f14c]
movss xmm7, dword [0x0046f160]
lea edx, [rcx + 1]
imul eax, edx
divss xmm4, xmm0
pxor xmm0, xmm0
imul eax, ecx
cvtsi2ss xmm0, eax
divss xmm2, xmm0
movss xmm0, dword [0x0046f180]
addss xmm4, xmm7
mulss xmm13, xmm2
comiss xmm0, xmm13
jbe 0x42491d
comiss xmm13, dword [0x0046f17c]
jbe 0x424ad6
movsxd r9, dword [rbp + 0x1e0]
mov r8, qword [rbp + 0xe0]
movzx edx, word [r8 + r9*2]
mov eax, edx
shr ax, 0xf
add edx, eax
sar dx, 1
cmp dx, word [r8 + 2]
jle 0x424eb2
mov eax, 1
mov ecx, eax
add rax, 1
cmp word [r8 + rax*2], dx
jl 0x424040
mov r8, qword [rbp + 0x1d8]
mov eax, dword [rbp + 0x1f8]
not ecx
mov edx, 1
mov r11d, dword [rbp + 0x234]
mov rbx, qword [rbp + 0x188]
add r8, 2
lea r10d, [rax - 1]
nop word [rax + rax]
lea eax, [rcx + rdx]
pxor xmm1, xmm1
movss xmm0, dword [r12 + rdx*4 - 4]
cvtsi2ss xmm1, eax
mulss xmm1, xmm13
addss xmm1, xmm4
cmp r11d, 2
jne 0x4240ad
lea eax, [r10 + rdx]
cdqe
maxss xmm0, dword [r12 + rax*4]
minss xmm0, xmm6
subss xmm0, xmm1
comiss xmm0, dword [0x0046f28c]
jbe 0x4240cb
subss xmm0, xmm3
add edi, 1
movss dword [rbx + rdx*4 - 4], xmm0
add rdx, 1
cmp r8, rdx
jne 0x424080
cmp edi, 2
jle 0x424118
addss xmm4, xmm3
comiss xmm4, xmm6
ja 0x424bc5
mov rdi, qword [rbp + 0x188]
mov rcx, qword [rbp + 0x120]
mov rax, rdi
lea rdx, [rdi + rcx*4]
movss xmm0, dword [rax]
movaps xmm5, xmm6
add rax, 4
subss xmm0, xmm3
maxss xmm5, xmm0
movss dword [rax - 4], xmm5
cmp rdx, rax
jne 0x4240fb
mulss xmm13, dword [0x0046f260]
addss xmm4, xmm7
movss dword [rbp + 0x8c], xmm4
movss dword [rbp + 0x84], xmm13
jmp 0x420cd7
mov qword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x28], 0
test r9d, r9d
jns 0x425185
pxor xmm0, xmm0
jmp 0x420458
lea rax, [r13 + 0xf]
mov qword [rbp + 0x178], rax
and rax, 0xfffffffffffffff0
call fcn.004582d0
sub rsp, rax
mov r9, rsi
lea rdi, [rsp + 0xc0]
mov qword [rbp + 0x1a8], rdi
mov dword [rsp + 0x38], edx
xor edx, edx
mov dword [rsp + 0x40], ecx
mov eax, dword [rbp + 0x230]
mov dword [rsp + 0x30], eax
mov ecx, dword [rbp + 0x22c]
mov dword [rsp + 0x28], ecx
mov ebx, dword [rbp + 0x234]
mov dword [rsp + 0x20], ebx
mov r12, qword [rbp + 0x220]
mov r8, qword [rbp + 0x248]
mov rcx, r12
call fcn.0041f0b0
mov rcx, qword [rbp + 0x400]
mov rdx, rsi
mov eax, dword [rcx + 0x4c]
mov rcx, r12
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x230]
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x28], eax
mov r9d, dword [rbp + 0x210]
mov r8, qword [rbp + 0x1c0]
call fcn.0041c1b0
mov dword [rsp + 0x28], ebx
mov rcx, r12
mov r8d, r15d
mov qword [rsp + 0x20], rdi
mov r9, qword [rbp + 0x1c0]
mov edx, dword [rbp + 0x210]
call fcn.0042d440
mov ecx, dword [rbp + 0xc4]
test ecx, ecx
jle 0x424287
pxor xmm0, xmm0
lea edx, [rcx - 1]
mov rax, rdi
movss xmm13, dword [0x0046f14c]
cvtsi2ss xmm0, dword [rbp + 0x230]
lea rdx, [rdi + rdx*4 + 4]
mulss xmm13, xmm0
nop dword [rax]
movss xmm0, dword [rax]
add rax, 4
addss xmm0, xmm13
movss dword [rax - 4], xmm0
cmp rdx, rax
jne 0x424270
mov rax, qword [rbp + 0x400]
mov dword [rbp + 0x19c], 0
mov ecx, dword [rax + 0x4c]
mov edx, dword [rax + 0x20]
mov eax, dword [rbp + 0x238]
mov dword [rbp + 0x240], eax
mov eax, dword [rbp + 0x108]
mov dword [rbp + 0x180], eax
jmp 0x420947
mov ecx, dword [rbp + 0x118]
mov r8d, dword [rbp + 0x120]
test ecx, ecx
sete r11b
test r8d, r8d
setne sil
mov eax, r11d
or al, sil
je 0x4242ea
test byte [rbp + 0x238], 1
je 0x424a8e
cmp dword [rbp + 0x21c], r15d
jge 0x424e99
mov rax, qword [rbp + 0x1d8]
jmp 0x424319
movss xmm0, dword [r12 + rax*4]
addss xmm0, xmm0
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp r15d, eax
jle 0x42433d
cmp eax, 7
jle 0x424300
cmp eax, 0xb
jle 0x424310
movss xmm0, dword [r12 + rax*4]
mulss xmm0, xmm13
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp r15d, eax
jg 0x424319
mov rax, qword [rbp + 0x400]
mov r10d, dword [rax + 0x7c]
test r10d, r10d
je 0x4243bf
cmp r15d, 0x13
mov ecx, 0x13
cmovle ecx, r15d
cmp dword [rbp + 0x21c], ecx
jge 0x4243a9
mov rdx, qword [rbp + 0x1d8]
movss xmm1, dword [0x0046f2b4]
mov r8, qword [rbp + 0x400]
nop dword [rax + rax]
movzx eax, byte [r8 + rdx + 0xa8]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm1
addss xmm0, dword [r12 + rdx*4]
movss dword [r12 + rdx*4], xmm0
add rdx, 1
cmp ecx, edx
jg 0x424380
cmp dword [rbp + 0x21c], r15d
jge 0x42183f
movss xmm12, dword [0x0046f1a8]
mov eax, dword [rbp + 0x190]
mov ecx, 0xaaaaaaab
mov ebx, dword [rbp + 0x238]
mov byte [rbp + 0x240], sil
mov r8, qword [rbp + 0x1d8]
xor r9d, r9d
movss xmm3, dword [0x0046f290]
mov qword [rbp + 0x1b0], r14
lea edx, [rax + rax]
xor ebx, 1
movss xmm2, dword [0x0046f2b8]
mov rdi, qword [rbp + 0xe0]
mov eax, edx
and ebx, 1
mov esi, dword [rbp + 0x234]
mov r13, qword [rbp + 0x140]
mul ecx
mov ecx, dword [rbp + 0x230]
shr edx, 1
jmp 0x42446e
cvttss2si r10d, xmm0
imul r14d, r10d
lea eax, [r14*8]
add eax, r9d
test r11b, r11b
jne 0x424449
test bl, bl
je 0x424459
cmp byte [rbp + 0x240], 0
je 0x424459
mov r14d, eax
sar r14d, 6
cmp r14d, edx
jg 0x4248f8
mov dword [r13 + r8*4], r10d
add r8, 1
mov r9d, eax
cmp r15d, r8d
jle 0x424797
movsx r14d, word [rdi + r8*2 + 2]
movsx eax, word [rdi + r8*2]
movss xmm0, dword [r12 + r8*4]
sub r14d, eax
imul r14d, esi
minss xmm0, xmm12
shl r14d, cl
movss dword [r12 + r8*4], xmm0
cmp r14d, 5
jle 0x424423
cmp r14d, 0x30
jle 0x4244c1
mulss xmm0, xmm2
cvttss2si r10d, xmm0
imul r14d, r10d
shl r14d, 3
lea eax, [r14 + 7]
cmovns eax, r14d
sar eax, 3
jmp 0x424434
pxor xmm1, xmm1
cvtsi2ss xmm1, r14d
mulss xmm0, xmm1
divss xmm0, xmm3
cvttss2si r10d, xmm0
lea eax, [r10 + r10*2]
shl eax, 4
jmp 0x424434
mov rax, qword [rbp + 0x400]
pxor xmm0, xmm0
xor edx, edx
mov r8d, 0xf
movss xmm8, dword [0x0046f1b4]
mov ecx, dword [rax + 0x40]
mov eax, dword [rbp + 0x1d0]
shl eax, cl
mov rcx, qword [rbp + 0x428]
cvtsi2ss xmm0, eax
divss xmm8, xmm0
comiss xmm8, xmm7
setae dl
call fcn.00428e10
comiss xmm8, xmm7
jae 0x424868
mov rax, qword [rbp + 0x400]
mov ecx, dword [rax + 0x20]
jmp 0x41faa0
mov rax, qword [rbp + 0x400]
mov esi, dword [rax + 0x44]
test esi, esi
jne 0x421f67
movss xmm9, dword [0x0046f1a8]
mov eax, dword [rbp + 0xec]
cmp eax, 0xf9ff
jle 0x42459b
movss xmm9, dword [0x0046f1b0]
cmp eax, 0x1387f
jg 0x42459b
sub eax, 0xfa00
pxor xmm9, xmm9
sar eax, 0xa
cvtsi2ss xmm9, eax
mulss xmm9, dword [0x0046f168]
addss xmm9, dword [0x0046f1a8]
cmp dword [rbp + 0x234], 2
je 0x424bf0
movss xmm8, dword [0x0046f1b4]
movss xmm13, dword [0x0046f14c]
mov r8d, dword [rbp + 0x234]
pxor xmm1, xmm1
mov ecx, 2
mov r10, qword [rbp + 0x220]
mov r11, qword [rbp + 0x200]
mov r9d, dword [rbp + 0x1e0]
test r9d, r9d
jle 0x42461d
mov eax, dword [r10 + 8]
imul eax, esi
cdqe
lea rdx, [r11 + rax*4]
mov eax, ecx
sub eax, r15d
nop word cs:[rax + rax]
pxor xmm0, xmm0
add rdx, 4
cvtsi2ss xmm0, eax
mulss xmm0, dword [rdx - 4]
add eax, 2
addss xmm1, xmm0
cmp r15d, eax
jne 0x424600
add esi, 1
cmp r8d, esi
jg 0x4245df
mov eax, dword [rbp + 0x1e0]
imul eax, dword [rbp + 0x234]
pxor xmm0, xmm0
cvtsi2ss xmm0, eax
divss xmm1, xmm0
movaps xmm0, xmm1
addss xmm0, xmm8
divss xmm0, dword [0x0046f290]
comiss xmm0, dword [0x0046f1bc]
ja 0x424e54
movss xmm1, dword [0x0046f178]
maxss xmm1, xmm0
movaps xmm0, xmm1
subss xmm9, xmm0
movaps xmm1, xmm14
mov rax, qword [rbp + 0x400]
addss xmm1, xmm14
mov r10d, dword [rax + 0x7c]
movaps xmm0, xmm9
subss xmm0, dword [rbp + 0x84]
subss xmm0, xmm1
test r10d, r10d
je 0x4246cc
movss xmm1, dword [0x0046f2dc]
addss xmm1, dword [rax + 0x84]
addss xmm1, xmm1
comiss xmm1, dword [0x0046f1bc]
ja 0x424f0f
movss xmm2, dword [0x0046f178]
maxss xmm2, xmm1
movaps xmm1, xmm2
subss xmm0, xmm1
addss xmm0, xmm13
movsd xmm3, qword [0x0046f220]
movsd xmm4, qword [0x0046f218]
cvtss2sd xmm0, xmm0
movapd xmm2, xmm0
movapd xmm1, xmm0
andpd xmm2, xmm3
ucomisd xmm4, xmm2
jbe 0x42472e
cvttsd2si rax, xmm0
pxor xmm2, xmm2
andnpd xmm3, xmm0
cvtsi2sd xmm2, rax
movapd xmm4, xmm2
cmpnlesd xmm4, xmm0
movapd xmm1, xmm4
movsd xmm4, qword [0x0046f230]
andpd xmm1, xmm4
subsd xmm2, xmm1
movapd xmm1, xmm2
orpd xmm1, xmm3
cvttsd2si ebx, xmm1
mov eax, 0xa
cmp ebx, 0xa
cmovg ebx, eax
mov eax, 0
test ebx, ebx
cmovs ebx, eax
jmp 0x421f7d
movapd xmm0, xmm8
call fcn.00458570
cvtsd2ss xmm7, xmm7
subss xmm7, dword [0x0046f270]
comiss xmm6, xmm7
ja 0x4205fc
ucomisd xmm10, xmm8
jbe 0x42477c
movapd xmm0, xmm8
call fcn.00458570
comiss xmm7, dword [0x0046f274]
jbe 0x424926
movsd xmm10, qword [0x0046f1d8]
jmp 0x4205fc
mov r14, qword [rbp + 0x1b0]
mov dword [rbp + 0x90], eax
jmp 0x421849
mov r10d, dword [rbp + 0x158]
test r10d, r10d
jne 0x4247c0
mov eax, r8d
neg eax
sar eax, 6
add r9d, eax
mov rax, qword [rbp + 0x400]
mov dword [rax + 0xd4], 0
jmp 0x4224b9
mov rcx, qword [rbp + 0x428]
mov r8d, 1
xor edx, edx
call fcn.00428e10
jmp 0x4201fe
mov r8, qword [rbp + 0x1b0]
mov rcx, r9
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov r9, rax
mov eax, dword [rbp + 0x240]
test eax, eax
js 0x4216b2
jmp 0x421683
movss xmm1, dword [0x0046f15c]
jmp 0x41fa80
pxor xmm6, xmm6
comiss xmm7, xmm6
ja 0x42483e
movss xmm7, dword [0x0046f15c]
movss xmm4, dword [0x0046f1e0]
movaps xmmword [rbp + 0x160], xmm4
jmp 0x41fa32
mov r11d, dword [rbp + 0x218]
mov dword [rbp + 0x248], 0
jmp 0x421f3c
mov r12d, dword [rbp + 0x15c]
test r12d, r12d
jle 0x424e41
lea eax, [rsi + 1]
cmp eax, dword [rbp + 0x1fc]
jl 0x424bae
mov esi, dword [rbp + 0x1fc]
mov rcx, qword [rbp + 0x428]
mov edx, esi
call fcn.00429150
mov byte [rbp + 0x1e0], 0
mov dword [rbp + 0x190], esi
mov dword [rbp + 0x218], 2
mov rax, qword [rbp + 0x428]
mov esi, dword [rbp + 0x1e8]
mov dword [rbp + 0x158], 1
bsr eax, dword [rax + 0x20]
mov ecx, esi
mov dword [rbp + 0x1d0], esi
xor eax, 0x1f
sub ecx, eax
mov eax, ecx
mov rcx, qword [rbp + 0x428]
add eax, 0x20
mov dword [rcx + 0x18], eax
mov rax, qword [rbp + 0x400]
mov ecx, dword [rax + 0x20]
jmp 0x41fab8
shl edx, 6
mov rdi, qword [rbp + 0x140]
mov r14, qword [rbp + 0x1b0]
mov eax, edx
mov dword [rbp + 0x90], edx
sub eax, r9d
mov dword [rdi + r8*4], eax
jmp 0x421849
movaps xmm13, xmm0
jmp 0x424012
mulss xmm7, dword [0x0046f278]
pxor xmm0, xmm0
cvtss2sd xmm0, xmm7
subsd xmm0, qword [0x0046f280]
comisd xmm10, xmm0
ja 0x4205fc
ucomisd xmm10, xmm0
sqrtsd xmm14, xmm0
jbe 0x420601
call fcn.00458570
jmp 0x420601
mov ecx, r9d
sar ecx, 2
cmp ecx, esi
cmovl ecx, esi
cmp ecx, r9d
cmovg ecx, r9d
cmp qword [rbp + 0x208], 0
sete sil
test r8d, r8d
je 0x42499e
sub ecx, eax
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x0046f2f4]
cvttss2si ecx, xmm0
add ecx, eax
test sil, sil
je 0x422244
movss xmm0, dword [0x0046f160]
comiss xmm0, xmm14
jbe 0x422244
mov r9d, 0x17700
sub r9d, dword [rbp + 0xec]
js 0x4249ea
movss xmm6, dword [0x0046f1c8]
cmp r9d, 0x7d00
jg 0x4249ea
pxor xmm6, xmm6
cvtsi2ss xmm6, r9d
mulss xmm6, dword [0x0046f2f8]
mulss xmm6, xmm15
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, xmm6
cvttss2si r9d, xmm0
add ecx, r9d
jmp 0x422244
mov ecx, r9d
mov r12d, dword [rbp + 0x210]
sar ecx, 2
cmp ecx, esi
cmovl ecx, esi
cmp r9d, ecx
cmovle ecx, r9d
cmp qword [rbp + 0x208], 0
sete sil
test r12d, r12d
jne 0x424981
test sil, sil
jne 0x424981
jmp 0x422244
xor edi, edi
cmp edx, r9d
jae 0x421ba3
jmp 0x421c89
movsxd rax, dword [rbp + 0x21c]
pxor xmm15, xmm15
mov qword [rbp + 0x1d8], rax
jmp 0x420d80
cmp r10d, 0xc8
mov dword [rbp + 0x150], 0
setg al
movzx eax, al
mov dword [rbp + 0x238], eax
jmp 0x4205d7
mov rax, qword [rbp + 0x1d8]
movss xmm0, dword [r12 + rax*4]
mulss xmm0, xmm13
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp r15d, eax
jg 0x424a95
jmp 0x4242f7
mov dword [rbp + 0x108], 1
mov dword [rbp + 0x230], 0
jmp 0x41f70a
cvttss2si ecx, xmm2
jmp 0x423dca
movss xmm13, dword [0x0046f17c]
jmp 0x424012
movss xmm0, dword [0x0046f1c4]
jmp 0x42219b
mov rax, qword [rbp + 0x400]
mov edx, 3
mov dword [rax + 0x54], 3
jmp 0x421cb9
mov eax, dword [rbp + 0x234]
lea eax, [rax + rax*4]
add eax, eax
cmp dword [rbp + 0x218], eax
jl 0x423700
mov rax, qword [rbp + 0x400]
mov r9d, dword [rax + 0x54]
mov rax, qword [rbp + 0xb0]
mov qword [rsp + 0x50], rax
mov eax, dword [rbp + 0x108]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp + 0x234]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0x210]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0xdc]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x400]
add rax, 0x68
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x400]
add rax, 0x64
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x400]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x220]
lea r8, [rax + 0x5c]
call fcn.0041ca60
mov edx, eax
mov rax, qword [rbp + 0x400]
mov dword [rax + 0x54], edx
jmp 0x421cb9
lea eax, [rsi + 2]
mov dword [rbp + 0x1fc], eax
shl eax, 3
mov dword [rbp + 0x1e8], eax
jmp 0x424887
mov rcx, qword [rbp + 0x188]
lea r8, [r9*4]
xor edx, edx
call sub.msvcrt.dll_memset
movss dword [rbp + 0x84], xmm6
movss dword [rbp + 0x8c], xmm7
jmp 0x420cd7
mov rax, qword [rbp + 0x400]
mov edi, 2
pxor xmm8, xmm8
mov r13, qword [rbp + 0x1d0]
mov r12, rdi
mov edi, esi
mov ebx, dword [rax + 0xec]
mov esi, ebx
mov rbx, qword [rbp + 0x220]
mov r8, qword [rbx + 0x20]
mov r11d, dword [rbp + 0x230]
movsx edx, word [r8 + r12 - 2]
mov ecx, r11d
movsx r8d, word [r8 + r12]
add r12, 2
mov eax, edx
sub r8d, edx
shl eax, cl
movsxd rcx, eax
mov eax, dword [rbp + 0x228]
lea r9, [r13 + rcx*4]
lea edx, [rcx + rax]
mov ecx, r11d
movsxd rdx, edx
shl r8d, cl
mov rcx, r9
lea rdx, [r13 + rdx*4]
call fcn.0040bed0
addss xmm8, xmm0
cmp r12, 0x12
jne 0x424c1c
movss xmm1, dword [0x0046f174]
mov ebx, esi
mov esi, edi
mov rdi, r12
movss xmm11, dword [0x0046f200]
mulss xmm1, xmm8
movss xmm8, dword [0x0046f1b4]
andps xmm1, xmm11
comiss xmm1, xmm8
movaps xmm12, xmm1
jbe 0x424f1c
movaps xmm10, xmm8
movaps xmm12, xmm8
cmp ebx, 8
jle 0x424d58
lea eax, [rbx - 9]
mov r12, rdi
movaps xmm12, xmm10
mov edi, esi
lea rbx, [rax + rax + 0x14]
mov r13, qword [rbp + 0x1d0]
mov rsi, rbx
mov rbx, qword [rbp + 0x220]
mov r8, qword [rbx + 0x20]
mov r11d, dword [rbp + 0x230]
movsx edx, word [r8 + r12 - 2]
mov ecx, r11d
movsx r8d, word [r8 + r12]
add r12, 2
mov eax, edx
sub r8d, edx
shl eax, cl
movsxd rcx, eax
mov eax, dword [rbp + 0x228]
lea r9, [r13 + rcx*4]
lea edx, [rcx + rax]
mov ecx, r11d
movsxd rdx, edx
shl r8d, cl
mov rcx, r9
lea rdx, [r13 + rdx*4]
call fcn.0040bed0
andps xmm0, xmm11
minss xmm12, xmm0
cmp rsi, r12
jne 0x424cdd
mov esi, edi
andps xmm11, xmm12
movaps xmm0, xmm8
movaps xmm1, xmm12
cmpnltss xmm0, xmm11
andps xmm1, xmm0
andnps xmm0, xmm8
orps xmm0, xmm1
movaps xmm12, xmm0
movss xmm11, dword [0x0046f2c8]
mulss xmm10, xmm10
movaps xmm0, xmm11
subss xmm0, xmm10
cvtss2sd xmm0, xmm0
call fcn.00459f60
movaps xmm1, xmm12
movsd xmm10, qword [0x0046f2d0]
movss xmm13, dword [0x0046f14c]
mulss xmm1, xmm12
mulsd xmm10, xmm0
subss xmm11, xmm1
cvtsd2ss xmm10, xmm10
movaps xmm2, xmm10
mulss xmm2, xmm13
cvtss2sd xmm11, xmm11
movapd xmm0, xmm11
movss dword [rbp + 0x240], xmm2
call fcn.00459f60
mulsd xmm0, qword [0x0046f2d0]
movss xmm2, dword [rbp + 0x240]
cvtsd2ss xmm0, xmm0
comiss xmm2, xmm0
jbe 0x424f32
mulss xmm10, dword [0x0046f2d8]
movss xmm0, dword [0x0046f1b8]
mulss xmm2, xmm13
mov rax, qword [rbp + 0x400]
movss xmm1, dword [0x0046f28c]
addss xmm1, dword [rax + 0xe8]
maxss xmm0, xmm10
addss xmm9, xmm0
movaps xmm0, xmm2
xorps xmm0, xmmword [rbp + 0x160]
minss xmm1, xmm0
movss dword [rax + 0xe8], xmm1
jmp 0x4245ba
movaps xmm1, xmm0
subss xmm1, dword [0x0046f1f4]
jmp 0x423d9c
cmp dword [rbp + 0x218], 3
setg byte [rbp + 0x1e0]
jmp 0x4248b2
movss xmm0, dword [0x0046f1bc]
jmp 0x42466a
cmp eax, r8d
setge al
movzx eax, al
mov dword [r12], eax
mov eax, dword [rbp + 0x120]
test eax, eax
js 0x423537
jmp 0x4234ef
mov eax, dword [rbp + 0x118]
mov edx, dword [rbp + 0x120]
test eax, eax
sete r11b
test edx, edx
setne sil
mov rax, qword [rbp + 0x400]
mov r9d, dword [rax + 0x7c]
test r9d, r9d
jne 0x42434d
jmp 0x42183f
xor ecx, ecx
jmp 0x42404d
movss dword [rbp + 0x2a0], xmm0
cmp r15d, 1
jle 0x42514e
mov rax, qword [rbp + 0x130]
mov r8d, dword [rbp + 0x240]
lea rdx, [r14 + 4]
movss xmm8, dword [0x0046f1b4]
add rax, 4
lea r8, [rax + r8*4]
jmp 0x424ef4
add rax, 4
subss xmm0, xmm8
maxss xmm0, dword [rdx]
add rdx, 4
movss dword [rax], xmm0
cmp r8, rax
jne 0x424ef0
jmp 0x4211d3
movss xmm1, dword [0x0046f1bc]
jmp 0x4246c8
movaps xmm10, xmm1
cmp ebx, 8
jg 0x424cbb
movaps xmm11, xmm1
jmp 0x424d3c
movapd xmm0, xmm11
call fcn.00459f60
movsd xmm2, qword [0x0046f2d0]
mulsd xmm2, xmm0
cvtsd2ss xmm2, xmm2
jmp 0x424ddf
mov dword [rbp + 0x208], 0
pxor xmm10, xmm10
pxor xmm7, xmm7
mov dword [rbp + 0x150], 0
jmp 0x4205e7
mov rax, qword [rbp + 0x400]
mov r9, rsi
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x400]
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x38], eax
mov r12d, dword [rbp + 0x230]
mov dword [rsp + 0x30], r12d
mov eax, dword [rbp + 0x22c]
mov dword [rsp + 0x28], eax
mov edi, dword [rbp + 0x234]
mov dword [rsp + 0x20], edi
mov r13, qword [rbp + 0x220]
mov r8, qword [rbp + 0x248]
mov edx, dword [rbp + 0x108]
mov rcx, r13
call fcn.0041f0b0
mov rax, qword [rbp + 0x400]
mov rdx, rsi
mov rcx, r13
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x30], eax
mov r12, qword [rbp + 0x1c0]
mov r9d, dword [rbp + 0x210]
mov r8, r12
call fcn.0041c1b0
mov dword [rsp + 0x28], edi
mov rcx, r13
mov r9, r12
mov rax, qword [rbp + 0x200]
mov r8d, r15d
mov qword [rsp + 0x20], rax
mov edx, dword [rbp + 0x210]
call fcn.0042d440
mov ecx, dword [rbp + 0xc4]
test ecx, ecx
jle 0x425078
pxor xmm0, xmm0
mov ecx, dword [rbp + 0xc4]
movss xmm13, dword [0x0046f14c]
cvtsi2ss xmm0, dword [rbp + 0x230]
mov rdi, qword [rbp + 0x1a8]
lea edx, [rcx - 1]
mov rax, rdi
lea rdx, [rdi + rdx*4 + 4]
mulss xmm13, xmm0
movss xmm0, dword [rax]
add rax, 4
addss xmm0, xmm13
movss dword [rax - 4], xmm0
cmp rdx, rax
jne 0x425061
mov rax, qword [rbp + 0x428]
mov byte [rbp + 0x13f], bl
mov rdi, qword [rbp + 0x428]
mov byte [rbp + 0x170], 1
movss xmm14, dword [0x0046f160]
bsr eax, dword [rax + 0x20]
mov dword [rbp + 0x19c], 1
mov edx, dword [rdi + 0x18]
mov dword [rbp + 0x238], 1
mov edi, dword [rbp + 0x108]
xor eax, 0x1f
mov dword [rbp + 0x180], edi
lea eax, [rax + rdx - 0x1e]
jmp 0x4212f7
mov dword [rbp + 0x180], 0
mov dword [rbp + 0x19c], 0
jmp 0x420917
mov r8d, 0x172
lea rdx, str..._celt_celt_encoder.c
lea rcx, str.assertion_failed:__celt_isnan_norm_
call fcn.0040b720
mov r8d, 0x171
lea rdx, str..._celt_celt_encoder.c
lea rcx, str.assertion_failed:__celt_isnan_tmp_0__
call fcn.0040b720
mov qword [rbp + 0x1a8], rcx
mov dword [rbp + 0x1b0], r9d
mov dword [rbp + 0x1c0], r10d
call fcn.00458570
mov rcx, qword [rbp + 0x1a8]
mov r9d, dword [rbp + 0x1b0]
mov r10d, dword [rbp + 0x1c0]
jmp 0x42046d
movss xmm8, dword [0x0046f1b4]
mov r8d, dword [rbp + 0x240]
test r8d, r8d
js 0x42120f
jmp 0x4211d3
mov r8d, 0x6c1
lea rdx, str..._celt_celt_encoder.c
lea rcx, str.assertion_failed:__celt_isnan_freq_0_____C1___celt_isnan_freq_N___
call fcn.0040b720
pxor xmm1, xmm1
jmp 0x420416
mulss xmm0, xmm13
jmp 0x421078
mov r8d, 0x6ea
lea rdx, str..._celt_celt_encoder.c
lea rcx, str.assertion_failed:_count_0
call fcn.0040b720
mov r8d, 0x60b
lea rdx, str..._celt_celt_encoder.c
lea rcx, str.assertion_failed:_st__signalling0
call fcn.0040b720
nop
nop dword [rax + rax]