Function at 0x14015bc40
Capabilities:
Hash data using murmur3

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x298]
sub rsp, 0x360
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0x1e0], rax
mov rsi, r8
mov qword [rsp + 0x68], r8
mov r13, rdx
mov qword [rsp + 0x40], rdx
mov rdi, rcx
vxorps xmm1, xmm1, xmm1
vcvtsi2sd xmm1, xmm1, r8
vmovsd xmm0, qword [0x14140e908]
vdivsd xmm9, xmm0, xmm1
mov rax, qword [0x141443c60]
vmovss xmm12, dword [rax + 0x3e80]
vmovss xmm11, dword [0x14140ebbc]
vmovaps xmm1, xmm11
vxorps xmm10, xmm10, xmm10
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovss dword [rsp + 0x48], xmm10
vmovss dword [rsp + 0x4c], xmm10
lea rdx, [rsp + 0x48]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x2fcf]
lea rcx, [0x1413ccf70]
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
cmp byte [rdi + 0x2fcf], 0
je 0x14015d15b
xor ebx, ebx
mov r14d, ebx
mov qword [rsp + 0x48], rbx
movabs rax, 0xc4ceb9fe1a85ec53
mov qword [rbp - 0x78], rax
lea r15, [rbp - 0x58]
mov qword [rbp - 0x70], r15
lea r10, [rbp - 0x58]
mov qword [rbp - 0x68], r10
mov qword [rbp - 0x60], rbx
mov r13d, ebx
mov qword [rbp - 0x58], rbx
mov qword [rbp - 0x50], rbx
mov esi, 0x20
mov qword [rbp - 0x48], rsi
mov r9d, 8
movabs r11, 0x28f5c28f5c28f5c
movabs r8, 0x47ae147ae147ae15
nop
mov rax, r8
cmp r9, r11
ja 0x14015bdb2
lea rcx, [r9 + r9*4]
shl rcx, 4
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
jmp 0x14015bdcd
mul r9
mov rax, r9
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
lea rcx, [rax + rax*4]
shl rcx, 4
cmp rcx, 0x80
jae 0x14015bde4
test r9, r9
je 0x14015d8ea
add r9, r9
jmp 0x14015bd90
test r9, r9
je 0x14015d8ea
cmp r9, 1
jbe 0x14015be11
xor r8d, r8d
mov rdx, r9
lea rcx, [rbp - 0x80]
call fcn.140161830
mov esi, dword [rbp - 0x48]
mov r13, qword [rbp - 0x58]
mov r10, qword [rbp - 0x68]
mov r15, qword [rbp - 0x70]
mov r12, rbx
mov rax, qword [rsp + 0x40]
cmp dword [rax + 6], ebx
jbe 0x14015c0d6
mov rdx, rbx
mov qword [rsp + 0x30], rbx
nop word [rax + rax]
movzx ecx, word [rax + 4]
shl rcx, 0x20
mov eax, dword [rax]
or rcx, rax
movzx r14d, word [rcx + rdx + 4]
shl r14, 0x20
mov eax, dword [rcx + rdx]
or r14, rax
mov rbx, qword [r14 + 0xa]
mov rax, rbx
shr rax, 8
test rbx, rbx
jns 0x14015bee7
mov rdx, r14
test al, al
js 0x14015bee4
movzx r11d, word [rdi + 0x14fc]
shl r11, 0x20
mov eax, dword [rdi + 0x14f8]
or r11, rax
nop dword [rax]
movsxd rax, dword [rdx + 8]
imul rcx, rax, 0xb
add rcx, r11
mov r8d, dword [rcx]
movzx r9d, word [rcx + 4]
mov eax, dword [rcx + 6]
dec eax
mov edx, eax
cmp byte [rcx + 0xa], 0
mov ecx, r9d
jge 0x14015beb3
shl rcx, 0x20
or rcx, r8
imul rdx, rdx, 0x16
add rdx, rcx
jmp 0x14015bed0
shl rcx, 0x20
or rcx, r8
lea rax, [rax + rax*2]
add rax, rax
movzx edx, word [rcx + rax + 4]
shl rdx, 0x20
mov eax, dword [rcx + rax]
or rdx, rax
mov rbx, qword [rdx + 0xa]
mov rax, rbx
shr rax, 8
test rbx, rbx
jns 0x14015bee7
test al, al
jns 0x14015be80
mov rbx, qword [rdx]
sar rbx, 0x10
mov r11, qword [r14]
mov rax, r11
sar rax, 0x10
sub rbx, rax
mov word [rsp + 0x38], r11w
mov r14, qword [rsp + 0x48]
add r14, rbx
mov qword [rsp + 0x48], r14
movsx rax, r11w
mov rcx, rax
shr rcx, 0x21
xor rcx, rax
movabs rax, 0xff51afd7ed558ccd
imul rcx, rax
mov rdx, rcx
shr rdx, 0x21
xor rdx, rcx
imul rdx, qword [rbp - 0x78]
mov rax, rdx
shr rax, 0x21
xor rdx, rax
mov rcx, rdx
and ecx, 0x1f
mov eax, dword [rbp - 0x44]
shrx r8, rcx, rax
add r8d, esi
shr rdx, 5
and rdx, r13
movzx r9d, byte [rdx + r10]
lea rax, [rdx + rdx*4]
lea rcx, [r15 + rax*8]
cmp r8d, r9d
jne 0x14015bf70
cmp r11w, word [rcx]
je 0x14015bfc5
inc rdx
add r8d, esi
movzx eax, byte [rdx + r10]
cmp r8d, eax
jne 0x14015bf87
cmp r11w, word [rcx + 0x28]
je 0x14015bfc5
inc rdx
add rcx, 0x50
add r8d, esi
movzx r9d, byte [rdx + r10]
cmp r8d, r9d
jbe 0x14015bf68
test r13, r13
jne 0x14015bfa4
xor edx, edx
jmp 0x14015bfc5
mov rcx, r10
sub rcx, r15
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*4]
lea rcx, [r15 + rax*8]
cmp rcx, r10
jne 0x14015c04f
mov word [rbp + 0x10], r11w
xor eax, eax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov word [rbp + 0x28], ax
mov byte [rbp + 0x2a], al
lea r9, [rbp + 0x10]
lea r8, [rsp + 0x38]
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.140161cb0
vmovups xmm0, xmmword [rax]
vmovups xmmword [rsp + 0x58], xmm0
movzx edx, byte [rbp + 0x2a]
movzx eax, dl
and al, 0x7f
cmp al, 0x7f
je 0x14015c04a
movzx ecx, word [rbp + 0x24]
shl rcx, 0x20
mov eax, dword [rbp + 0x20]
or rcx, rax
je 0x14015c04a
mov eax, edx
and eax, 0x7f
mov edx, 1
shlx edx, edx, eax
neg rdx
shl rdx, 2
lock add qword [0x141443c50], rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rcx, qword [rsp + 0x58]
add qword [rcx + 0x10], rbx
lea rbx, [rcx + 0x18]
movzx ecx, word [rbx + 4]
shl rcx, 0x20
mov eax, dword [rbx]
or rcx, rax
jne 0x14015c06a
xor eax, eax
jmp 0x14015c07b
movzx eax, byte [rbx + 0xa]
and eax, 0x7f
mov ecx, 1
shlx eax, ecx, eax
cmp dword [rbx + 6], eax
jne 0x14015c088
mov rcx, rbx
call fcn.1401617b0
movzx ecx, word [rbx + 4]
shl rcx, 0x20
mov eax, dword [rbx]
or rcx, rax
mov eax, dword [rbx + 6]
mov dword [rcx + rax*4], r12d
inc dword [rbx + 6]
inc r12
mov rdx, qword [rsp + 0x30]
add rdx, 6
mov qword [rsp + 0x30], rdx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 6]
mov r10, qword [rbp - 0x68]
mov r15, qword [rbp - 0x70]
cmp r12, rax
jae 0x14015c0d6
mov esi, dword [rbp - 0x48]
mov r13, qword [rbp - 0x58]
mov rax, qword [rsp + 0x40]
jmp 0x14015be30
mov r13, qword [rbp - 0x60]
mov qword [rbp + 0x38], r13
xor esi, esi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov word [rsp + 0x60], si
mov byte [rsp + 0x62], sil
test r13, r13
je 0x14015c1bf
lea rcx, [r13 - 1]
mov rax, rcx
shr rax, 1
or rcx, rax
mov rax, rcx
shr rax, 2
or rcx, rax
mov rax, rcx
shr rax, 4
or rcx, rax
mov rax, rcx
shr rax, 8
or rcx, rax
mov rax, rcx
shr rax, 0x10
or rax, rcx
popcnt rdx, rax
mov r8d, 1
shlx ecx, r8d, edx
shl rcx, 3
lock add qword [0x141443c50], rcx
and dl, 0x7f
movzx eax, byte [rsp + 0x62]
and al, 0x80
or dl, al
movzx eax, dl
movzx ecx, al
mov qword [rsp + 0x50], rcx
mov byte [rsp + 0x62], al
and eax, 0x7f
shlx ecx, r8d, eax
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
mov qword [rsp + 0x48], rax
mov ecx, dword [rsp + 0x5e]
test ecx, ecx
je 0x14015c1a4
mov r8d, ecx
shl r8, 3
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r12, rbx
shr r12, 0x20
mov dword [rsp + 0x58], ebx
mov word [rsp + 0x5c], r12w
mov r10, qword [rbp - 0x68]
mov r15, qword [rbp - 0x70]
jmp 0x14015c1ce
movzx r12d, word [rsp + 0x5c]
mov ebx, dword [rsp + 0x58]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x70], r12
mov dword [rsp + 0x5e], r13d
cmp qword [rbp - 0x60], 0
jne 0x14015c1e9
mov r9, r10
xor esi, esi
mov r8d, esi
jmp 0x14015c23c
mov r8, r10
mov rax, qword [r10]
test rax, rax
jne 0x14015c213
nop dword [rax]
nop dword [rax + rax]
add r8, 8
add r15, 0x140
mov rax, qword [r8]
test rax, rax
je 0x14015c200
bsf rcx, rax
mov dword [rsp + 0x38], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r8, rcx
lea rax, [rcx + rcx*4]
lea r9, [r15 + rax*8]
xor esi, esi
cmp r9, r10
je 0x14015c2af
movzx r11d, r12w
shl r11, 0x20
mov eax, ebx
or r11, rax
nop
lea rax, [r9 + 8]
mov qword [r11], rax
lea r11, [r11 + 8]
inc r8
add r9, 0x28
mov rax, qword [r8]
test rax, rax
jne 0x14015c283
nop word [rax + rax]
add r8, 8
add r9, 0x140
mov rax, qword [r8]
test rax, rax
je 0x14015c270
bsf rcx, rax
mov dword [rsp + 0x38], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r8, rcx
lea rax, [rcx + rcx*4]
lea r9, [r9 + rax*8]
cmp r9, r10
jne 0x14015c250
movzx ecx, r12w
shl rcx, 0x20
mov eax, ebx
or rcx, rax
mov eax, r13d
lea rax, [rax*8]
lea rdx, [rcx + rax]
cmp rcx, rdx
je 0x14015c2f8
mov r9d, esi
sar rax, 4
test rax, rax
je 0x14015c2e8
nop dword [rax]
inc r9d
sar rax, 1
jne 0x14015c2e0
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x38]
call fcn.140169cd0
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
je 0x14015c331
cmp dword [rcx + 0x10], 2
jne 0x14015c32c
cmp dword [rcx + 4], 0
je 0x14015c33e
call fcn.1402152f0
xor r8d, r8d
mov edx, 2
call fcn.1402149f0
mov rcx, qword [0x141443c60]
vmovss xmm0, dword [rcx + 0x3a34]
vaddss xmm1, xmm0, xmm0
vaddss xmm2, xmm1, dword [rcx + 0x3e80]
vaddss xmm3, xmm2, xmm2
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vucomiss xmm3, xmm10
jp 0x14015c383
jne 0x14015c383
vmovss xmm3, dword [rcx + 0x3a64]
vaddss xmm0, xmm3, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm0
vaddss xmm0, xmm0, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
vmovdqu xmm2, xmmword [0x14140f0a0]
vmovups xmmword [rbp - 0x18], xmm2
lea rdx, [rbp - 0x18]
xor ecx, ecx
call fcn.1401e3800
mov r15d, 1
mov r8d, r15d
xor edx, edx
lea rcx, [0x1413ca6e8]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r15d
jl 0x14015c41b
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov r8, qword [0x141443c60]
vmovss xmm0, dword [r8 + 0x3a34]
vaddss xmm1, xmm0, xmm0
vaddss xmm2, xmm1, dword [r8 + 0x3e80]
vaddss xmm3, xmm2, xmm2
mov rax, qword [r8 + 0x4150]
mov byte [rax + 0xf5], r15b
mov rax, qword [r8 + 0x4150]
vucomiss xmm3, xmm10
jp 0x14015c45c
jne 0x14015c45c
vmovss xmm3, dword [r8 + 0x3a64]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, xmm3
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
call fcn.140214ff0
mov r8, qword [rsp + 0x68]
mov rcx, r8
sub rcx, r14
vxorps xmm6, xmm6, xmm6
js 0x14015c4a2
vcvtsi2sd xmm6, xmm6, rcx
jmp 0x14015c4ba
mov rdx, rcx
shr rdx, 1
mov rax, rcx
and eax, r15d
or rdx, rax
vcvtsi2sd xmm6, xmm6, rdx
vaddsd xmm6, xmm6, xmm6
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, r8
vdivsd xmm1, xmm6, xmm0
vmovsd xmm8, qword [0x14140e9f0]
vmulsd xmm7, xmm1, xmm8
call fcn.1401c9cc0
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x14015c4e0
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x160]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x2820
mov word [rbp + rbx + 0x160], ax
lea rdx, [rbp + 0x162]
add rdx, rbx
vmovaps xmm3, xmm7
lea r8, [rbp + 0x1e0]
lea rcx, [rbp - 0x18]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vmovss dword [rsp + 0x30], xmm11
vmovss dword [rsp + 0x34], xmm12
vmulsd xmm0, xmm6, xmm9
vcvtsd2ss xmm0, xmm0, xmm0
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x30]
call fcn.140219a50
call fcn.140214ff0
mov rcx, rsi
mov qword [rsp + 0x68], rcx
test r13, r13
je 0x14015d0a3
movzx edx, r12w
shl rdx, 0x20
mov eax, dword [rsp + 0x48]
or rdx, rax
mov qword [rbp - 0x18], rdx
vmovss dword [rbp - 8], xmm11
vmovss dword [rbp - 4], xmm12
lea r13, [rdi + 0x150]
vmovss xmm7, dword [0x14140e870]
nop word [rax + rax]
xor r12b, r12b
mov rbx, qword [rdx + rcx*8]
mov qword [rsp + 0x38], rbx
movsx r8, word [rbx]
test r8w, r8w
jns 0x14015c5f8
movzx edx, word [r13 + 0xdac]
shl rdx, 0x20
mov eax, dword [r13 + 0xda8]
or rdx, rax
mov eax, r8d
not eax
cdqe
lea rcx, [rax + rax*2]
movzx esi, word [rdx + rcx*2 + 4]
shl rsi, 0x20
mov eax, dword [rdx + rcx*2]
or rsi, rax
jmp 0x14015c631
movzx ecx, word [r13 + 0xdfc]
shl rcx, 0x20
mov eax, dword [r13 + 0xdf8]
or rcx, rax
lea rdx, [rcx + r8*8]
lea rcx, [r13 + 0xd68]
call fcn.1401b58e0
lea rsi, [rax + rax*2]
shl rsi, 4
add rsi, 8
add rsi, qword [r13 + 0xd78]
movzx eax, byte [rsi + 8]
test al, 2
je 0x14015c66c
test al, 1
je 0x14015c65c
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov r14, qword [rcx + rax*8]
jmp 0x14015c6b0
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
mov r14, rax
jmp 0x14015c6b0
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x14015c694
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov r14, qword [rcx + rax*8]
jmp 0x14015c6b0
test al, 2
je 0x14015c6a9
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
mov r14, rax
jmp 0x14015c6b0
lea r14, [0x1413ca658]
cmp dword [rbx + 0x16], 1
jne 0x14015c848
movzx ecx, word [rbx + 0x14]
shl rcx, 0x20
mov eax, dword [rbx + 0x10]
or rcx, rax
mov eax, dword [rcx]
lea rdx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
movzx ecx, word [rax + 4]
shl rcx, 0x20
mov eax, dword [rax]
or rcx, rax
movzx r14d, word [rcx + rdx*2 + 4]
shl r14, 0x20
mov eax, dword [rcx + rdx*2]
or r14, rax
movzx edx, word [r14]
mov rcx, r13
call fcn.140184c20
mov r8, rax
mov rdx, r14
mov rcx, r13
call fcn.140184cb0
mov r15, rax
mov eax, dword [rsi + 0x1f]
test eax, eax
je 0x14015c724
cmp byte [rdi + 0x27bd], r12b
jne 0x14015c724
or eax, 0xff000000
jmp 0x14015c742
cmp byte [rdi + 0x27bc], r12b
jne 0x14015c734
mov eax, 0xffcc5555
jmp 0x14015c742
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14014a5a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm10
call fcn.1401f6d00
movzx edx, word [rbx + 0x14]
shl rdx, 0x20
mov eax, dword [rbx + 0x10]
or rdx, rax
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4150]
mov edx, dword [rdx]
mov rcx, rbx
call fcn.1401f34b0
mov esi, eax
add rbx, 0x130
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x14015c7ba
inc ecx
test r8d, r8d
je 0x14015c7a6
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14015c7ab
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], esi
inc dword [rbx]
mov edx, 0x108
mov rcx, r15
call fcn.140228f80
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14015c7f9
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14015c7f9
mov rdx, r14
mov rcx, rdi
call fcn.140157500
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14015c82a
mov qword [rdi + 0x2980], r14
cmp byte [0x141446be7], r12b
je 0x14015c81f
mov rdx, r14
mov rcx, rdi
call fcn.14010b500
mov rdx, r14
mov rcx, rdi
call fcn.140157690
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
mov r15, qword [rsp + 0x38]
jmp 0x14015cadf
mov eax, dword [rsi + 0x1f]
test eax, eax
je 0x14015c85f
cmp byte [rdi + 0x27bd], r12b
jne 0x14015c85f
or eax, 0xff000000
jmp 0x14015c87d
cmp byte [rdi + 0x27bc], r12b
jne 0x14015c86f
mov eax, 0xffcc5555
jmp 0x14015c87d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.14014a5a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm10
call fcn.1401f6d00
movsx edx, word [rbx]
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4150]
mov rcx, rbx
call fcn.1401f34b0
mov r15d, eax
add rbx, 0x130
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x14015c8e9
inc ecx
test r8d, r8d
je 0x14015c8d5
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14015c8da
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rdx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rdx*4], r15d
inc dword [rbx]
mov rcx, r14
call fcn.140228ee0
movzx r12d, al
mov rcx, qword [0x141443c60]
mov rdx, qword [rcx + 0x4150]
dec dword [rdx + 0x130]
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14015cab3
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
movzx ecx, byte [rsi + 8]
test cl, 2
je 0x14015c97b
test cl, 1
je 0x14015c95b
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi]
mov rax, qword [rcx + rax*8]
jmp 0x14015c966
mov rdx, qword [rsi]
mov rcx, r13
call fcn.140184990
mov r15d, 1
mov r8d, r15d
xor edx, edx
mov rcx, rax
call fcn.140215e20
jmp 0x14015c981
mov r15d, 1
movzx eax, byte [rsi + 0x11]
test al, 1
je 0x14015c9a9
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 9]
mov rax, qword [rcx + rax*8]
jmp 0x14015c9c2
test al, 2
je 0x14015c9bb
mov rdx, qword [rsi + 9]
mov rcx, r13
call fcn.140184990
jmp 0x14015c9c2
lea rax, [0x1413ca658]
mov r8d, r15d
xor edx, edx
mov rcx, rax
call fcn.140215e20
mov rax, qword [0x141443c60]
mov r8, qword [rax + 0x4150]
cmp byte [r8 + 0xf8], 0
jne 0x14015ca11
mov edx, dword [r8 + 0x1f4]
mov eax, edx
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [r8 + 0x1e8], 0
je 0x14015ca08
neg edx
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm7
call fcn.14021a1b0
mov r14d, dword [rsi + 0x1b]
movzx eax, byte [rsi + 0x1a]
test al, 1
je 0x14015ca3d
movzx ecx, word [r13 + 0xc9c]
shl rcx, 0x20
mov eax, dword [r13 + 0xc98]
or rcx, rax
mov rax, qword [rsi + 0x12]
mov rcx, qword [rcx + rax*8]
jmp 0x14015ca59
test al, 2
je 0x14015ca52
mov rdx, qword [rsi + 0x12]
mov rcx, r13
call fcn.140184990
mov rcx, rax
jmp 0x14015ca59
lea rcx, [0x1413ca658]
test r14d, r14d
je 0x14015caa4
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
lea rdx, [0x14145c6e0]
add rbx, rdx
inc eax
and eax, 0x80000007
jge 0x14015ca86
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r9d, r14d
mov r8, rcx
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov rcx, rbx
mov r8d, r15d
xor edx, edx
call fcn.140215e20
call fcn.1401f2010
vmovaps xmm1, xmm11
vmovaps xmm0, xmm10
call fcn.1401f6d00
mov r15, qword [rsp + 0x38]
mov ecx, dword [r15 + 0x16]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413cc18c]
call fcn.1402166f0
call fcn.140214ff0
mov rcx, qword [r15 + 8]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x14015caf8
vcvtsi2sd xmm0, xmm0, rcx
jmp 0x14015cb10
mov rdx, rcx
shr rdx, 1
mov rax, rcx
and eax, 1
or rdx, rax
vcvtsi2sd xmm0, xmm0, rdx
vaddsd xmm0, xmm0, xmm0
vmulsd xmm6, xmm0, xmm9
call fcn.1401c9cc0
mov rsi, 0xffffffffffffffff
mov rbx, rsi
inc rbx
cmp byte [rax + rbx], 0
jne 0x14015cb24
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x2820
mov word [rbp + rbx + 0x60], ax
vmulsd xmm3, xmm6, xmm8
lea rdx, [rbp + 0x62]
add rdx, rbx
lea r8, [rbp + 0xe0]
lea rcx, [rbp + 0x10]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vcvtsd2ss xmm0, xmm6, xmm6
lea r8, [rbp + 0x60]
lea rdx, [rbp - 8]
call fcn.140219a50
call fcn.140214ff0
test r12b, r12b
je 0x14015d07b
mov ecx, dword [r15 + 0x16]
mov eax, 8
mul rcx
cmovb rax, rsi
mov rcx, rax
call fcn.1403f4de8
mov qword [rsp + 0x30], rax
mov ecx, dword [r15 + 0x16]
mov eax, 4
mul rcx
cmovb rax, rsi
mov rcx, rax
call fcn.1403f4de8
mov rsi, rax
mov qword [rbp + 0x30], rax
xor r11d, r11d
mov ecx, dword [r15 + 0x16]
mov r14, qword [rsp + 0x40]
test ecx, ecx
je 0x14015ccf2
nop dword [rax + rax]
movzx ecx, word [r15 + 0x14]
shl rcx, 0x20
mov eax, dword [r15 + 0x10]
or rcx, rax
mov edx, dword [rcx + r11*4]
movzx ecx, word [r14 + 4]
shl rcx, 0x20
mov eax, dword [r14]
or rcx, rax
lea rax, [rdx + rdx*2]
movzx ebx, word [rcx + rax*2 + 4]
shl rbx, 0x20
mov eax, dword [rcx + rax*2]
or rbx, rax
mov rcx, qword [rbx + 0xa]
mov rax, rcx
shr rax, 8
test rcx, rcx
jns 0x14015ccc7
mov rdx, rbx
test al, al
js 0x14015ccc4
movzx r10d, word [r13 + 0x13ac]
shl r10, 0x20
mov eax, dword [r13 + 0x13a8]
or r10, rax
nop dword [rax + rax]
movsxd rax, dword [rdx + 8]
imul rcx, rax, 0xb
add rcx, r10
mov r8d, dword [rcx]
movzx r9d, word [rcx + 4]
mov eax, dword [rcx + 6]
dec eax
mov edx, eax
cmp byte [rcx + 0xa], 0
mov ecx, r9d
jge 0x14015cc93
shl rcx, 0x20
or rcx, r8
imul rdx, rdx, 0x16
add rdx, rcx
jmp 0x14015ccb0
shl rcx, 0x20
or rcx, r8
lea rax, [rax + rax*2]
add rax, rax
movzx edx, word [rcx + rax + 4]
shl rdx, 0x20
mov eax, dword [rcx + rax]
or rdx, rax
mov rcx, qword [rdx + 0xa]
mov rax, rcx
shr rax, 8
test rcx, rcx
jns 0x14015ccc7
test al, al
jns 0x14015cc60
mov rcx, qword [rdx]
sar rcx, 0x10
mov rax, qword [rbx]
sar rax, 0x10
sub rcx, rax
mov rax, qword [rsp + 0x30]
mov qword [rax + r11*8], rcx
mov dword [rsi + r11*4], r11d
inc r11
mov ecx, dword [r15 + 0x16]
cmp r11, rcx
jb 0x14015cbf0
mov eax, ecx
lea rax, [rax*4]
lea rdx, [rax + rsi]
cmp rsi, rdx
je 0x14015cd2b
xor r9d, r9d
sar rax, 3
test rax, rax
je 0x14015cd19
inc r9d
sar rax, 1
jne 0x14015cd11
mov byte [rsp + 0x20], 1
lea r8, [rsp + 0x30]
mov rcx, rsi
call fcn.14016a9d0
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp - 0x40], ymm0
mov qword [rbp - 0x20], rax
vmovaps xmm2, xmm11
mov edx, dword [r15 + 0x16]
lea rcx, [rbp - 0x40]
vzeroupper
call fcn.1401e2cf0
lea rcx, [rbp - 0x40]
call fcn.1401e3630
test al, al
je 0x14015d053
movsxd r12, dword [rbp - 0x38]
cmp r12d, dword [rbp - 0x34]
jge 0x14015d036
vmovss dword [rbp], xmm10
vmovss dword [rbp + 4], xmm10
vmovss dword [rbp + 8], xmm11
vmovss dword [rbp + 0xc], xmm12
lea r13, [rsi + r12*4]
nop word [rax + rax]
mov edx, dword [r13]
movzx ecx, word [r15 + 0x14]
shl rcx, 0x20
mov eax, dword [r15 + 0x10]
or rcx, rax
mov r8d, dword [rcx + rdx*4]
movzx ecx, word [r14 + 4]
shl rcx, 0x20
mov eax, dword [r14]
or rcx, rax
lea rax, [r8 + r8*2]
movzx esi, word [rcx + rax*2 + 4]
shl rsi, 0x20
mov eax, dword [rcx + rax*2]
or rsi, rax
movzx edx, word [rsi]
lea rcx, [rdi + 0x150]
call fcn.140184c20
mov r8, rax
mov rdx, rsi
lea rcx, [rdi + 0x150]
call fcn.140184cb0
mov r14, rax
mov rbx, qword [0x141443c60]
mov rcx, qword [rbx + 0x4150]
mov byte [rcx + 0xf5], 1
mov rcx, qword [rbx + 0x4150]
vmovss xmm0, dword [rbx + 0x3a64]
vaddss xmm1, xmm0, dword [rcx + 0x184]
vmovss dword [rcx + 0x184], xmm1
vaddss xmm0, xmm1, dword [rcx + 0x58]
vaddss xmm1, xmm0, dword [rcx + 0x188]
vmovss dword [rcx + 0x140], xmm1
mov ecx, dword [r13]
movzx edx, word [r15 + 0x14]
shl rdx, 0x20
mov eax, dword [r15 + 0x10]
or rdx, rax
mov rbx, qword [rbx + 0x4150]
mov edx, dword [rdx + rcx*4]
mov rcx, rbx
call fcn.1401f34b0
mov r15d, eax
add rbx, 0x130
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x14015ce9a
inc ecx
test r8d, r8d
je 0x14015ce86
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14015ce8b
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r15d
inc dword [rbx]
lea r9, [rbp]
xor edx, edx
mov r8d, 2
mov rcx, r14
call fcn.14022a0e0
test al, al
je 0x14015ceca
mov rdx, rsi
mov rcx, rdi
call fcn.140157500
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14015cefb
mov qword [rdi + 0x2980], rsi
cmp byte [0x141446be7], 0
je 0x14015cef0
mov rdx, rsi
mov rcx, rdi
call fcn.14010b500
mov rdx, rsi
mov rcx, rdi
call fcn.140157690
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
dec dword [rax + 0x130]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, dword [rcx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
call fcn.140214ff0
mov ecx, dword [r13]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + rcx*8]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x14015cf73
vcvtsi2sd xmm0, xmm0, rcx
jmp 0x14015cf8b
mov rdx, rcx
shr rdx, 1
mov rax, rcx
and eax, 1
or rdx, rax
vcvtsi2sd xmm0, xmm0, rdx
vaddsd xmm0, xmm0, xmm0
vmulsd xmm6, xmm0, xmm9
call fcn.1401c9cc0
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14015cfa0
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x2820
mov word [rbp + rbx + 0xe0], ax
vmulsd xmm3, xmm6, xmm8
lea rdx, [rbp + 0xe2]
add rdx, rbx
lea r8, [rbp + 0x160]
lea rcx, [rbp + 0x40]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vcvtsd2ss xmm0, xmm6, xmm6
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 8]
call fcn.140219a50
call fcn.140214ff0
inc r12d
add r13, 4
cmp r12d, dword [rbp - 0x34]
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
jl 0x14015cd90
mov rsi, qword [rbp + 0x30]
lea rcx, [rbp - 0x40]
call fcn.1401e3630
test al, al
mov r14, qword [rsp + 0x40]
jne 0x14015cd60
lea r13, [rdi + 0x150]
call fcn.140229f60
nop
lea rcx, [rbp - 0x40]
call fcn.1401e2e50
nop
mov rcx, rsi
call fcn.1403f4db4
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14015d07b
call fcn.1403f4db4
mov rcx, qword [rsp + 0x68]
inc rcx
mov qword [rsp + 0x68], rcx
cmp rcx, qword [rbp + 0x38]
mov rdx, qword [rbp - 0x18]
jb 0x14015c5b0
xor esi, esi
mov r12, qword [rsp + 0x70]
mov r15d, 1
call fcn.1402152f0
nop
mov rdx, qword [rsp + 0x50]
movzx eax, dl
and al, 0x7f
cmp al, 0x7f
je 0x14015d0f9
movzx ecx, r12w
shl rcx, 0x20
mov eax, dword [rsp + 0x48]
or rcx, rax
je 0x14015d0f9
movzx eax, dl
and eax, 0x7f
shlx ecx, r15d, eax
neg rcx
shl rcx, 3
lock add qword [0x141443c50], rcx
movzx ecx, word [rsp + 0x5c]
shl rcx, 0x20
mov eax, dword [rsp + 0x58]
or rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x14015d156
mov qword [rbp - 0x60], rsi
inc rdx
call fcn.140049f90
mov rdi, rax
test rax, rax
je 0x14015d142
mov rbx, rsi
nop dword [rax]
mov rcx, qword [rbp - 0x68]
cmp byte [rsi + rcx], 0
je 0x14015d136
mov rcx, qword [rbp - 0x70]
add rcx, rbx
call fcn.140161aa0
inc rsi
add rbx, 0x28
cmp rsi, rdi
jb 0x14015d120
lea rax, [rbp - 0x58]
mov rcx, qword [rbp - 0x70]
cmp rcx, rax
je 0x14015d156
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
jmp 0x14015d896
mov ecx, dword [r13 + 6]
mov eax, 8
mul rcx
mov r15, 0xffffffffffffffff
cmovb rax, r15
mov rcx, rax
call fcn.1403f4de8
mov qword [rsp + 0x30], rax
mov ecx, dword [r13 + 6]
mov eax, 4
mul rcx
cmovb rax, r15
mov rcx, rax
call fcn.1403f4de8
mov r12, rax
mov qword [rbp - 0x18], rax
xor r8d, r8d
mov r14d, r8d
mov ebx, r8d
mov ecx, dword [r13 + 6]
test ecx, ecx
je 0x14015d2b1
mov esi, r8d
nop word [rax + rax]
movzx ecx, word [r13 + 4]
shl rcx, 0x20
mov eax, dword [r13]
or rcx, rax
movzx r11d, word [rcx + rsi + 4]
shl r11, 0x20
mov eax, dword [rcx + rsi]
or r11, rax
mov rcx, qword [r11 + 0xa]
mov rax, rcx
shr rax, 8
test rcx, rcx
jns 0x14015d277
mov rdx, r11
test al, al
js 0x14015d274
movzx r10d, word [rdi + 0x14fc]
shl r10, 0x20
mov eax, dword [rdi + 0x14f8]
or r10, rax
movsxd rax, dword [rdx + 8]
imul rcx, rax, 0xb
add rcx, r10
mov r8d, dword [rcx]
movzx r9d, word [rcx + 4]
mov eax, dword [rcx + 6]
dec eax
mov edx, eax
cmp byte [rcx + 0xa], 0
mov ecx, r9d
jge 0x14015d243
shl rcx, 0x20
or rcx, r8
imul rdx, rdx, 0x16
add rdx, rcx
jmp 0x14015d260
shl rcx, 0x20
or rcx, r8
lea rax, [rax + rax*2]
add rax, rax
movzx edx, word [rcx + rax + 4]
shl rdx, 0x20
mov eax, dword [rcx + rax]
or rdx, rax
mov rcx, qword [rdx + 0xa]
mov rax, rcx
shr rax, 8
test rcx, rcx
jns 0x14015d277
test al, al
jns 0x14015d210
mov rcx, qword [rdx]
sar rcx, 0x10
mov rax, qword [r11]
sar rax, 0x10
sub rcx, rax
add r14, rcx
mov rax, qword [rsp + 0x30]
mov qword [rax + rbx*8], rcx
mov dword [r12 + rbx*4], ebx
inc rbx
add rsi, 6
mov ecx, dword [r13 + 6]
cmp rbx, rcx
jb 0x14015d1c0
mov rsi, qword [rsp + 0x68]
xor r8d, r8d
mov eax, ecx
lea rax, [rax*4]
lea rdx, [rax + r12]
cmp r12, rdx
je 0x14015d2ed
sar rax, 3
test rax, rax
je 0x14015d2d8
nop dword [rax]
inc r8d
sar rax, 1
jne 0x14015d2d0
mov byte [rsp + 0x20], 1
mov r9d, r8d
lea r8, [rsp + 0x30]
mov rcx, r12
call fcn.14016a9d0
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
je 0x14015d326
cmp dword [rcx + 0x10], 2
jne 0x14015d321
cmp dword [rcx + 4], 0
je 0x14015d333
call fcn.1402152f0
xor r8d, r8d
mov edx, 2
call fcn.1402149f0
mov rcx, qword [0x141443c60]
vmovss xmm0, dword [rcx + 0x3a34]
vaddss xmm1, xmm0, xmm0
vaddss xmm2, xmm1, dword [rcx + 0x3e80]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vucomiss xmm2, xmm10
jp 0x14015d374
jne 0x14015d374
vmovss xmm2, dword [rcx + 0x3a64]
vaddss xmm0, xmm2, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm0
vaddss xmm0, xmm0, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
vmovdqu xmm2, xmmword [0x14140f0a0]
vmovups xmmword [rsp + 0x58], xmm2
lea rdx, [rsp + 0x58]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413ca6e8]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14015d40b
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov r8, qword [0x141443c60]
vmovss xmm0, dword [r8 + 0x3a34]
vaddss xmm1, xmm0, xmm0
vaddss xmm2, xmm1, dword [r8 + 0x3e80]
mov rax, qword [r8 + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [r8 + 0x4150]
vucomiss xmm2, xmm10
jp 0x14015d448
jne 0x14015d448
vmovss xmm2, dword [r8 + 0x3a64]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, xmm2
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
call fcn.140214ff0
mov rcx, rsi
sub rcx, r14
vxorps xmm6, xmm6, xmm6
js 0x14015d489
vcvtsi2sd xmm6, xmm6, rcx
jmp 0x14015d4a1
mov rdx, rcx
shr rdx, 1
mov rax, rcx
and eax, 1
or rdx, rax
vcvtsi2sd xmm6, xmm6, rdx
vaddsd xmm6, xmm6, xmm6
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, rsi
vdivsd xmm1, xmm6, xmm0
vmovsd xmm8, qword [0x14140e9f0]
vmulsd xmm7, xmm1, xmm8
call fcn.1401c9cc0
mov rbx, r15
inc rbx
cmp byte [rax + rbx], 0
jne 0x14015d4c3
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x2820
mov word [rbp + rbx + 0xe0], ax
lea rdx, [rbp + 0xe2]
add rdx, rbx
vmovaps xmm3, xmm7
lea r8, [rbp + 0x160]
lea rcx, [rbp + 0x40]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vmovss dword [rsp + 0x50], xmm11
vmovss dword [rsp + 0x54], xmm12
vmulsd xmm0, xmm6, xmm9
vcvtsd2ss xmm0, xmm0, xmm0
lea r8, [rbp + 0xe0]
lea rdx, [rsp + 0x50]
call fcn.140219a50
call fcn.140214ff0
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp - 0x40], ymm0
mov qword [rbp - 0x20], rax
vmovaps xmm2, xmm11
mov edx, dword [r13 + 6]
lea rcx, [rbp - 0x40]
vzeroupper
call fcn.1401e2cf0
lea rcx, [rbp - 0x40]
call fcn.1401e3630
test al, al
je 0x14015d86e
movsxd r15, dword [rbp - 0x38]
cmp r15d, dword [rbp - 0x34]
jge 0x14015d85d
vmovss dword [rsp + 0x50], xmm10
vmovss dword [rsp + 0x54], xmm10
vmovss dword [rsp + 0x70], xmm11
vmovss dword [rsp + 0x74], xmm12
lea r12, [r12 + r15*4]
lea rbx, [rdi + 0x150]
mov ecx, dword [r12]
movzx edx, word [r13 + 4]
shl rdx, 0x20
mov eax, dword [r13]
or rdx, rax
lea rax, [rcx + rcx*2]
movzx esi, word [rdx + rax*2 + 4]
shl rsi, 0x20
mov eax, dword [rdx + rax*2]
or rsi, rax
movsx r14, word [rsi]
movzx edx, r14w
mov rcx, rbx
call fcn.140184c20
mov r8, rax
mov rdx, rsi
mov rcx, rbx
call fcn.140184cb0
mov r13, rax
test r14w, r14w
jns 0x14015d630
movzx edx, word [rdi + 0xefc]
shl rdx, 0x20
mov ecx, dword [rdi + 0xef8]
or rdx, rcx
mov eax, r14d
not eax
cdqe
lea rcx, [rax + rax*2]
movzx r9d, word [rdx + rcx*2 + 4]
shl r9, 0x20
mov eax, dword [rdx + rcx*2]
or r9, rax
jmp 0x14015d667
movzx ecx, word [rdi + 0xf4c]
shl rcx, 0x20
mov eax, dword [rdi + 0xf48]
or rcx, rax
lea rdx, [rcx + r14*8]
lea rcx, [rdi + 0xeb8]
call fcn.1401b58e0
lea r9, [rax + rax*2]
shl r9, 4
add r9, 8
add r9, qword [rdi + 0xec8]
mov eax, dword [r9 + 0x1f]
test eax, eax
je 0x14015d67f
cmp byte [rdi + 0x27bd], 0
jne 0x14015d67f
or eax, 0xff000000
jmp 0x14015d69d
cmp byte [rdi + 0x27bc], 0
jne 0x14015d68f
mov eax, 0xffcc5555
jmp 0x14015d69d
xor r8d, r8d
mov rdx, r9
mov rcx, rdi
call fcn.14014a5a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm10
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rbx, qword [rdx + 0x4150]
mov edx, r15d
mov rcx, rbx
call fcn.1401f34b0
mov r14d, eax
add rbx, 0x130
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x14015d709
inc ecx
test r8d, r8d
je 0x14015d6f5
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x14015d6fa
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r14d
inc dword [rbx]
lea r9, [rsp + 0x50]
xor edx, edx
mov r8d, 2
mov rcx, r13
call fcn.14022a0e0
test al, al
je 0x14015d73a
mov rdx, rsi
mov rcx, rdi
call fcn.140157500
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14015d76b
mov qword [rdi + 0x2980], rsi
cmp byte [0x141446be7], 0
je 0x14015d760
mov rdx, rsi
mov rcx, rdi
call fcn.14010b500
mov rdx, rsi
mov rcx, rdi
call fcn.140157690
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
call fcn.140214ff0
mov ecx, dword [r12]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + rcx*8]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x14015d7a1
vcvtsi2sd xmm0, xmm0, rcx
jmp 0x14015d7b9
mov rdx, rcx
shr rdx, 1
mov rax, rcx
and eax, 1
or rdx, rax
vcvtsi2sd xmm0, xmm0, rdx
vaddsd xmm0, xmm0, xmm0
vmulsd xmm6, xmm0, xmm9
call fcn.1401c9cc0
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rax + rbx], 0
jne 0x14015d7d0
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x60]
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x2820
mov word [rbp + rbx + 0x60], ax
vmulsd xmm3, xmm6, xmm8
lea rdx, [rbp + 0x62]
add rdx, rbx
lea r8, [rbp + 0xe0]
lea rcx, [rbp + 0x40]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
vcvtsd2ss xmm0, xmm6, xmm6
lea r8, [rbp + 0x60]
lea rdx, [rsp + 0x70]
call fcn.140219a50
call fcn.140214ff0
inc r15d
add r12, 4
cmp r15d, dword [rbp - 0x34]
lea rbx, [rdi + 0x150]
mov r13, qword [rsp + 0x40]
jl 0x14015d5b1
mov r12, qword [rbp - 0x18]
lea rcx, [rbp - 0x40]
call fcn.1401e3630
test al, al
jne 0x14015d580
call fcn.1402152f0
nop
lea rcx, [rbp - 0x40]
call fcn.1401e2e50
nop
mov rcx, r12
call fcn.1403f4db4
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14015d896
call fcn.1403f4db4
mov rcx, qword [rbp + 0x1e0]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x58]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14001c8f0
nop