Function at 0x1400352d0
Capabilities:
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2b8]
sub rsp, 0x378
vmovaps xmmword [rax - 0x58], xmm6
vmovaps xmmword [rax - 0x68], xmm7
vmovaps xmmword [rax - 0x78], xmm8
vmovaps xmmword [rax - 0x88], xmm9
vmovaps xmmword [rax - 0x98], xmm10
vmovaps xmmword [rax - 0xa8], xmm11
vmovaps xmmword [rax - 0xb8], xmm12
vmovaps xmmword [rax - 0xc8], xmm13
vmovaps xmmword [rax - 0xd8], xmm14
vmovaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0x1c8], rax
mov r15, r9
mov qword [rsp + 0x78], r9
mov r12, r8
mov qword [rsp + 0x68], r8
mov r13, rdx
mov qword [rsp + 0x70], rdx
mov rdi, rcx
mov qword [rbp + 8], rcx
mov rax, qword [0x141443c60]
vmovss xmm0, dword [rax + 0x3e80]
vdivss xmm0, xmm0, dword [0x14140ea74]
vmovss dword [rbp - 0x74], xmm0
xor r14d, r14d
vmovss xmm6, dword [0x14140e804]
vxorps xmm8, xmm8, xmm8
vmovss xmm14, dword [0x14140ebbc]
cmp byte [rbp + 0x2e0], r14b
je 0x1400353b1
cmp byte [rcx + 0x6f], r14b
jne 0x1400353b1
mov rax, qword [rdx + 0x18]
add rax, qword [rdx + 0x10]
jne 0x140035401
cmp byte [r9 + 0x18], r14b
je 0x140035514
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [r8 + 0x11e0]
call fcn.14004b5c0
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x11f0]
lea rdx, [rax + rcx*8]
lea rax, [rdx + 8]
mov rcx, r14
cmp rdx, qword [r12 + 0x11f8]
cmovne rcx, rax
test rcx, rcx
je 0x140035514
movzx ebx, byte [r12 + 0x12a5]
test bl, bl
jne 0x14003542e
mov ecx, 4
call fcn.1401f29a0
mov rax, qword [0x141443c60]
vmulss xmm1, xmm6, dword [rax + 0x39f8]
xor ecx, ecx
call fcn.1401e38e0
vmovss dword [rsp + 0x50], xmm8
vmovss dword [rsp + 0x54], xmm8
lea rdx, [rsp + 0x50]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [rdi + 0x8c]
lea rcx, [0x1413c5e78]
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
test bl, bl
jne 0x1400354b9
mov ecx, 1
call fcn.1401e39f0
mov rdx, qword [0x141443c60]
movsxd rcx, dword [rdx + 0x4c40]
lea eax, [rcx - 1]
mov dword [rdx + 0x4c40], eax
mov rax, qword [rdx + 0x4c48]
mov ecx, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4ad4], ecx
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1400354e6
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
lea rcx, [0x1413c5d28]
jmp 0x1400354d4
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1400354e6
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
lea rcx, [0x1413c5e90]
mov r8d, 1
xor edx, edx
call fcn.140215e20
call fcn.1401f2010
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovss xmm1, dword [0x14140e870]
mov ecx, 2
call fcn.14021a1b0
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovss xmm12, dword [0x14140eb90]
vmovss xmm13, dword [0x14140e864]
vmovss xmm9, dword [0x14140ead8]
mov rax, qword [rdi + 0xb0]
lea rdx, [rbp + 0x20]
xor ecx, ecx
cmp qword [rdi + 0x268], r14
jne 0x140035735
cmp qword [rdi + 0xa8], rax
je 0x1400355dd
vmovdqu xmm0, xmmword [0x14140f090]
vmovups xmmword [rbp + 0x20], xmm0
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b28]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1400355b6
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]
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b30]
call fcn.140215e20
jmp 0x140036a5c
vmovdqu xmm0, xmmword [0x14140f050]
vmovups xmmword [rbp + 0x20], xmm0
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413a2c9c]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140035640
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]
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovdqu xmm0, xmmword [0x14140f080]
vmovups xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b80]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1400356b7
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]
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovdqu xmm0, xmmword [0x14140f050]
vmovups xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413a2c9c]
call fcn.140215e20
mov rbx, qword [0x141443c60]
movsxd rax, dword [rbx + 0x4c00]
cmp eax, 1
jl 0x140036a63
lea rdx, [rax + rax*4]
mov rcx, qword [rbx + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [rbx + rax*8 + 0x3ae8], xmm0
dec dword [rbx + 0x4c00]
jmp 0x140036a63
cmp qword [rdi + 0xa8], rax
je 0x1400357d6
vmovdqu xmm0, xmmword [0x14140f090]
vmovups xmmword [rbp + 0x20], xmm0
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b28]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1400357a5
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]
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1400359ad
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b30]
call fcn.140215e20
jmp 0x1400359a8
vmovdqu xmm0, xmmword [0x14140f050]
vmovups xmmword [rbp + 0x20], xmm0
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413a2c9c]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140035839
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]
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1400359ad
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
vmovdqu xmm0, xmmword [0x14140f050]
vmovups xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413a2c9c]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1400358ba
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]
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovdqu xmm0, xmmword [0x14140f080]
vmovups xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b80]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140035931
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]
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovdqu xmm0, xmmword [0x14140f050]
vmovups xmmword [rbp + 0x20], xmm0
lea rdx, [rbp + 0x20]
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413a2c9c]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1400359a8
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]
call fcn.1401f2010
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5b60]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140035a21
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]
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov ecx, dword [rdi + 0xa0]
xor edx, edx
call fcn.1400271a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm14
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
or dword [rdx + 0x4ae0], 1
mov dword [rdx + 0x4af0], 0xbf800000
vmovss dword [rsp + 0x50], xmm8
vmovss dword [rsp + 0x54], xmm8
lea rdx, [rsp + 0x50]
mov ecx, 0xb
call fcn.1401e3960
mov r8d, 8
mov rdx, qword [rdi + 0x98]
lea rcx, [0x1413c5e58]
call fcn.14021af00
test al, al
je 0x140036a52
mov rcx, qword [rdi + 0x120]
mov qword [rsp + 0x58], rcx
mov rax, qword [rdi + 0x118]
mov qword [rbp + 0x1b8], rax
cmp rax, rcx
jne 0x140035d7d
mov rsi, qword [rdi + 0x260]
cmp qword [rdi + 0x268], r14
je 0x140036a33
mov r8, qword [rdi + 0x258]
mov rax, qword [rsi]
mov r13, rsi
test rax, rax
jne 0x140035b07
nop
add rsi, 8
add r8, 0x40
mov rax, qword [rsi]
test rax, rax
je 0x140035af0
mov r13, qword [rdi + 0x260]
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rsi, rcx
lea r14, [r8 + rcx*8]
cmp r14, r13
je 0x140036a33
nop
mov ecx, dword [r14]
xor edx, edx
call fcn.1400271a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
mov edx, dword [r14]
inc edx
mov dword [rbp + 0x1b8], edx
mov dword [rsp + 0x40], 0
mov word [rsp + 0x40], dx
movzx eax, byte [rbp + 0x1ba]
mov byte [rsp + 0x42], al
movzx edx, word [r12 + 0xc9c]
shl rdx, 0x20
mov eax, dword [r12 + 0xc98]
or rdx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov r15, qword [rdx + rax*8]
mov r9, r12
mov r8, qword [rsp + 0x78]
mov rdx, qword [r12 + 0xe8]
mov rcx, r15
call fcn.140027490
test al, al
je 0x140035cc7
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4150]
mov edx, dword [r14]
mov rcx, rbx
call fcn.1401f34b0
mov r12d, eax
add rbx, 0x130
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x140035c0c
inc r8d
test ecx, ecx
je 0x140035bf5
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x140035bfa
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r12d
inc dword [rbx]
vmovss dword [rsp + 0x50], xmm8
vmovss dword [rsp + 0x54], xmm8
cmp r15, qword [rdi + 0x98]
sete dl
lea r9, [rsp + 0x50]
xor r8d, r8d
mov rcx, r15
call fcn.14022a0e0
test al, al
je 0x140035cac
mov rbx, qword [rsp + 0x68]
cmp qword [rdi + 0x98], r15
je 0x140035c72
mov dword [rdi + 0x3f0], 0
mov r9, qword [rsp + 0x78]
mov r8, rbx
mov rdx, r15
lea rcx, [rdi + 0x98]
call fcn.140028370
mov eax, dword [r14 + 4]
mov dword [rdi + 0x30], eax
mov r8d, dword [r14 + 4]
mov dword [rdi + 0x34], r8d
cmp qword [rdi + 0x18], 0
je 0x140035cac
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov r9, rbx
mov edx, dword [rdi + 0xa0]
mov rcx, rdi
call fcn.140045480
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
mov r12, qword [rsp + 0x68]
jmp 0x140035d29
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
mov rcx, r15
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140035d29
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]
inc rsi
add r14, 8
mov rax, qword [rsi]
test rax, rax
jne 0x140035d50
nop dword [rax + rax]
add rsi, 8
add r14, 0x40
mov rax, qword [rsi]
test rax, rax
je 0x140035d40
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rsi, rcx
lea r14, [r14 + rcx*8]
cmp r14, r13
jne 0x140035b30
jmp 0x140036a2e
mov qword [rbp - 0x80], r14
mov r13, r14
mov qword [rsp + 0x50], r14
movabs r15, 0xc4ceb9fe1a85ec53
mov qword [rbp - 0x58], r15
lea rcx, [rbp - 0x38]
mov qword [rbp - 0x50], rcx
lea r14, [rbp - 0x38]
mov qword [rbp - 0x48], r14
xor ecx, ecx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x30], rcx
mov esi, 0x20
mov qword [rbp - 0x28], rsi
mov r12d, ecx
mov rbx, qword [rsp + 0x68]
add rbx, 0xee8
mov qword [rbp - 0x68], rbx
movabs rcx, 0x3fffffffffffffff
mov rax, qword [rax]
and rax, rcx
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.1401b54d0
shl rax, 4
add rax, qword [rbx + 0x10]
mov rcx, qword [rsp + 0x68]
cmp rax, qword [rcx + 0xf00]
je 0x14003603b
mov rax, qword [rax + 8]
test rax, rax
je 0x14003603b
movzx ecx, word [rax + 4]
shl rcx, 0x20
mov eax, dword [rax]
or rcx, rax
vmovups xmm7, xmmword [rcx]
vmovups xmmword [rbp - 0x20], xmm7
movzx eax, word [rcx + 0x10]
mov word [rbp - 0x10], ax
cmp dword [rbp - 0x1a], 0
je 0x14003603b
xor r13d, r13d
mov qword [rbp - 8], r13
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rbp], rax
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x1b8]
lea rcx, [rbx + 0xa0]
call fcn.14004b5c0
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0xb0]
lea rdx, [rax + rcx*8]
cmp rdx, qword [rbx + 0xb8]
je 0x140035e99
vmovups xmm6, xmmword [rdx + 8]
vmovups xmmword [rbp - 8], xmm6
mov rbx, qword [rdx + 0x10]
vmovq r13, xmm6
jmp 0x140035ea3
vmovups xmm6, xmmword [rbp - 8]
mov rbx, qword [rsp + 0x48]
mov dword [rsp + 0x40], 0
movzx eax, word [rbp - 0x1d]
mov word [rsp + 0x40], ax
vpextrb byte [rsp + 0x42], xmm7, 5
mov r11d, dword [rsp + 0x40]
dec r11d
mov eax, r11d
mov ecx, r11d
shr rcx, 0x21
xor rcx, rax
movabs rax, 0xff51afd7ed558ccd
imul rcx, rax
mov rdx, rcx
shr rdx, 0x21
xor rdx, rcx
imul rdx, r15
mov rax, rdx
shr rax, 0x21
xor rdx, rax
mov rcx, rdx
and ecx, 0x1f
mov eax, r12d
shrx r8, rcx, rax
add r8d, esi
shr rdx, 5
and rdx, qword [rbp - 0x38]
movzx r10d, byte [r14 + rdx]
lea rcx, [rdx + rdx*2]
mov rax, qword [rbp - 0x50]
lea r9, [rax + rcx*8]
cmp r8d, r10d
jne 0x140035f2b
cmp r11d, dword [r9]
je 0x140035f82
inc rdx
add r8d, esi
movzx eax, byte [r14 + rdx]
cmp r8d, eax
jne 0x140035f41
cmp r11d, dword [r9 + 0x18]
je 0x140035f82
inc rdx
add r9, 0x30
add r8d, esi
movzx r10d, byte [r14 + rdx]
cmp r8d, r10d
jbe 0x140035f24
cmp qword [rbp - 0x38], 0
jne 0x140035f60
xor edx, edx
jmp 0x140035f82
mov rcx, r14
sub rcx, qword [rbp - 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rcx, [rdx + rdx*2]
mov rax, qword [rbp - 0x50]
lea rdx, [rax + rcx*8]
cmp rdx, r14
jne 0x14003600f
mov dword [rsp + 0x40], 0
movzx eax, word [rbp - 0x1d]
mov word [rsp + 0x40], ax
vpextrb byte [rsp + 0x42], xmm7, 5
mov eax, dword [rsp + 0x40]
dec eax
mov dword [rbp + 0x190], eax
vmovups xmmword [rbp + 0x198], xmm6
lea r8, [rbp + 0x190]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.14004fc10
mov ecx, dword [rbp + 0x28]
test ecx, ecx
je 0x1400381e9
sub ecx, 1
je 0x140036017
sub ecx, 1
je 0x140035fee
cmp ecx, 1
jne 0x140036017
mov rax, qword [rbp + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x50]
vmovups xmm0, xmmword [rbp + 0x190]
vmovups xmmword [rax + rcx*8], xmm0
vmovhpd qword [rax + rcx*8 + 0x10], xmm6
jmp 0x140036017
add qword [rdx + 8], r13
add qword [rdx + 0x10], rbx
add qword [rbp - 0x80], r13
mov r13, qword [rsp + 0x50]
add r13, rbx
mov qword [rsp + 0x50], r13
mov r12d, dword [rbp - 0x24]
mov esi, dword [rbp - 0x28]
mov r14, qword [rbp - 0x48]
mov r15, qword [rbp - 0x58]
mov rbx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x1b8]
add rax, 0xd0
mov qword [rbp + 0x1b8], rax
cmp rax, qword [rsp + 0x58]
jne 0x140035dd1
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x190], xmm0
xor r10d, r10d
mov qword [rsp + 0x50], r10
mov qword [rbp + 0x1a0], r10
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400360c0
movabs rcx, 0xaaaaaaaaaaaaaaa
cmp rax, rcx
ja 0x1400381e3
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x190]
call fcn.14004ad20
mov rax, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
mov r10, qword [rbp + 0x1a0]
mov qword [rsp + 0x50], r10
test rax, rax
jne 0x1400360c7
mov rsi, r14
xor ebx, ebx
jmp 0x140036116
mov r8, qword [rbp - 0x50]
mov rbx, r14
mov rax, qword [r14]
test rax, rax
jne 0x1400360f3
nop word [rax + rax]
add rbx, 8
add r8, 0xc0
mov rax, qword [rbx]
test rax, rax
je 0x1400360e0
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rax, [rcx + rcx*2]
lea rsi, [r8 + rax*8]
mov r15, qword [rbp + 0x198]
cmp rsi, r14
je 0x1400361c4
lea r9, [rsi + 8]
cmp r15, r10
je 0x14003614c
mov eax, dword [rsi]
mov dword [r15], eax
vmovups xmm0, xmmword [r9]
vmovups xmmword [r15 + 8], xmm0
add r15, 0x18
mov qword [rbp + 0x198], r15
jmp 0x14003616c
mov r8, rsi
mov rdx, r15
lea rcx, [rbp + 0x190]
call fcn.14004fe30
mov r10, qword [rbp + 0x1a0]
mov r15, qword [rbp + 0x198]
inc rbx
add rsi, 0x18
mov rax, qword [rbx]
test rax, rax
jne 0x140036193
nop dword [rax + rax]
add rbx, 8
add rsi, 0xc0
mov rax, qword [rbx]
test rax, rax
je 0x140036180
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rax, [rcx + rcx*2]
lea rsi, [rsi + rax*8]
cmp rsi, r14
jne 0x140036126
mov qword [rsp + 0x50], r10
mov rsi, qword [rbp + 0x190]
cmp byte [rdi + 0x8a], 0
je 0x140036225
cmp rsi, r15
je 0x140036270
xor r9d, r9d
mov rcx, r15
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sar rdx, 1
je 0x14003620e
inc r9d
sar rdx, 1
jne 0x140036206
mov byte [rsp + 0x20], 1
mov r8, qword [rsp + 0x68]
mov rdx, r15
mov rcx, rsi
call fcn.140050040
jmp 0x140036270
cmp rsi, r15
je 0x140036270
xor r9d, r9d
mov rcx, r15
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sar rdx, 1
je 0x14003625b
inc r9d
sar rdx, 1
jne 0x140036253
mov byte [rsp + 0x20], 1
mov r8, qword [rsp + 0x68]
mov rdx, r15
mov rcx, rsi
call fcn.1400526e0
mov r14, qword [rbp - 0x80]
lea r12, [r14 + r13]
test r12, r12
je 0x1400363bf
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 0x1400362ba
cmp dword [rcx + 0x10], 2
jne 0x1400362b5
cmp dword [rcx + 4], 0
je 0x1400362c7
call fcn.1402152f0
xor r8d, r8d
mov edx, 2
call fcn.1402149f0
cmp byte [0x1414471d2], 0
jne 0x1400363bf
mov byte [0x1414471d2], 1
mov rbx, qword [0x141443c60]
mov rax, qword [rbx + 0x4150]
vmovss xmm7, dword [rax + 0x60]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
lea rax, [0x1413c5c70]
mov qword [rsp + 0x28], rax
vmovss dword [rsp + 0x20], xmm14
vmovaps xmm3, xmm12
vmovss xmm2, dword [rbx + 0x3e80]
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x3e78]
call fcn.1401dc100
vaddss xmm1, xmm13, dword [rsp + 0x58]
vcvttss2si eax, xmm1
vxorps xmm6, xmm6, xmm6
vcvtsi2ss xmm6, xmm6, eax
mov rax, qword [rbx + 0x4150]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
jne 0x140036356
vmovaps xmm0, xmm8
jmp 0x14003636d
mov rax, qword [rcx + 0x68]
vmovss xmm0, dword [rcx + 0x18]
vsubss xmm1, xmm0, dword [rcx + 0x14]
vmulss xmm2, xmm1, dword [rax]
vaddss xmm0, xmm2, dword [rcx + 0x14]
vaddss xmm1, xmm0, xmm6
mov ecx, 1
call fcn.140214460
mov rax, qword [rbx + 0x4150]
mov rcx, qword [rax + 0x1e8]
test rcx, rcx
jne 0x140036395
vmovaps xmm1, xmm8
jmp 0x1400363ad
mov rax, qword [rcx + 0x68]
vmovss xmm0, dword [rcx + 0x18]
vsubss xmm1, xmm0, dword [rcx + 0x14]
vmulss xmm2, xmm1, dword [rax + 0x1c]
vaddss xmm1, xmm2, dword [rcx + 0x14]
vsubss xmm0, xmm7, xmm6
vaddss xmm1, xmm0, xmm1
mov ecx, 2
call fcn.140214460
mov r13, rsi
cmp rsi, r15
je 0x140036997
nop dword [rax + rax]
test r12, r12
je 0x1400366ae
mov r8, r13
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x60]
call fcn.140048900
mov rsi, qword [rbp + 0x20]
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
add rcx, rdx
je 0x1400366a9
cmp dword [rdi + 0x90], 0
jne 0x140036556
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx + 0x120]
cmp byte [rdi + 0x8a], 0
jne 0x140036423
mov rcx, rdx
imul rcx, rax
call fcn.1401c9cc0
mov rcx, rax
xor edx, edx
mov r8d, 1
call fcn.140215e20
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14003656e
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400364d4
imul rcx, qword [rbx + 0x120]
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413c5e68]
call fcn.140011540
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rcx, qword [rsi + 8]
call fcn.14004a750
mov rbx, rax
lea rcx, [0x1413c5ee0]
call fcn.140011540
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14003654f
imul rcx, qword [rbx + 0x120]
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413c5ef0]
call fcn.140011540
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov rcx, qword [rsi + 0x10]
call fcn.14004a750
mov rbx, rax
lea rcx, [0x1413c5ec0]
call fcn.140011540
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
call fcn.1401f2010
jmp 0x14003656e
mov rcx, rdx
call fcn.14004a750
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
cmp byte [rdi + 0x8a], 0
je 0x1400365cd
mov rcx, qword [rsi + 0x10]
add rcx, qword [rsi + 8]
vxorps xmm0, xmm0, xmm0
js 0x14003659b
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1400365b0
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vmulss xmm1, xmm0, xmm9
vxorps xmm0, xmm0, xmm0
test r12, r12
js 0x1400365c5
vcvtsi2ss xmm0, xmm0, r12
jmp 0x140036628
mov rcx, r12
mov rax, r12
jmp 0x140036616
test r14, r14
je 0x140036643
mov rcx, qword [rsi + 8]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x1400365e6
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1400365fb
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vmulss xmm1, xmm0, xmm9
vxorps xmm0, xmm0, xmm0
test r14, r14
js 0x140036610
vcvtsi2ss xmm0, xmm0, r14
jmp 0x140036628
mov rcx, r14
mov rax, r14
shr rcx, 1
and eax, 1
or rcx, rax
vcvtsi2ss xmm0, xmm0, rcx
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vcvtss2sd xmm1, xmm0, xmm0
vmovq rdx, xmm1
lea rcx, [0x1413c5c88]
call fcn.1402166f0
jmp 0x1400366a9
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
lea rcx, [0x1413c5ed0]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x1400366a9
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]
call fcn.140214ff0
mov ecx, dword [r13]
xor edx, edx
call fcn.1400271a0
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm14
vmovaps xmm0, xmm8
call fcn.1401f6d00
mov edx, dword [r13]
inc edx
mov dword [rbp + 0x1b8], edx
mov dword [rsp + 0x40], 0
mov word [rsp + 0x40], dx
movzx eax, byte [rbp + 0x1ba]
mov byte [rsp + 0x42], al
mov r10, qword [rsp + 0x68]
movzx edx, word [r10 + 0xc9c]
shl rdx, 0x20
mov eax, dword [r10 + 0xc98]
or rdx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov r14, qword [rdx + rax*8]
mov r9, r10
mov r8, qword [rsp + 0x78]
mov rdx, qword [r10 + 0xe8]
mov rcx, r14
call fcn.140027490
test al, al
je 0x140036913
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4150]
mov edx, dword [r13]
mov rcx, rbx
call fcn.1401f34b0
mov esi, eax
add rbx, 0x130
mov ecx, dword [rbx + 4]
mov r8d, dword [rbx]
cmp r8d, ecx
jne 0x14003678e
inc r8d
test ecx, ecx
je 0x140036777
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14003677c
mov eax, 8
cmp eax, r8d
cmovg r8d, eax
mov edx, r8d
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], esi
inc dword [rbx]
vmovss dword [rsp + 0x48], xmm8
vmovss dword [rsp + 0x4c], xmm8
cmp r14, qword [rdi + 0x98]
sete dl
lea r9, [rsp + 0x48]
mov r8d, 2
mov rcx, r14
call fcn.14022a0e0
test al, al
je 0x1400368fd
xor ebx, ebx
mov r8, qword [rdi + 0x260]
cmp qword [rdi + 0x268], rbx
je 0x14003689a
mov r9, qword [rdi + 0x258]
mov rax, qword [r8]
mov r10, r8
test rax, rax
jne 0x140036817
nop dword [rax]
nop word [rax + rax]
add r8, 8
add r9, 0x40
mov rax, qword [r8]
test rax, rax
je 0x140036800
mov r10, qword [rdi + 0x260]
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r8, rcx
lea r9, [r9 + rcx*8]
cmp r9, r10
je 0x14003689a
mov r11d, dword [r13]
nop
cmp dword [r9], r11d
je 0x140036896
inc r8
add r9, 8
mov rax, qword [r8]
test rax, rax
jne 0x140036870
nop dword [rax]
nop dword [rax + rax]
add r8, 8
add r9, 0x40
mov rax, qword [r8]
test rax, rax
je 0x140036860
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r8, rcx
lea r9, [r9 + rcx*8]
cmp r9, r10
jne 0x140036840
jmp 0x14003689a
mov ebx, dword [r9 + 4]
mov rsi, qword [rsp + 0x68]
cmp qword [rdi + 0x98], r14
je 0x1400368c9
mov dword [rdi + 0x3f0], 0
mov r9, qword [rsp + 0x78]
mov r8, rsi
mov rdx, r14
lea rcx, [rdi + 0x98]
call fcn.140028370
mov dword [rdi + 0x30], ebx
mov dword [rdi + 0x34], ebx
cmp qword [rdi + 0x18], 0
je 0x1400368fd
mov byte [rsp + 0x30], 1
mov qword [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov r9, rsi
mov r8d, ebx
mov edx, dword [rdi + 0xa0]
mov rcx, rdi
call fcn.140045480
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
jmp 0x140036975
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
mov rcx, r14
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140036975
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]
test r12, r12
je 0x14003697f
call fcn.140214ff0
add r13, 0x18
cmp r13, r15
mov r14, qword [rbp - 0x80]
jne 0x1400363d0
mov rsi, qword [rbp + 0x190]
test r12, r12
je 0x1400369a2
call fcn.1402152f0
nop
test rsi, rsi
je 0x140036a03
mov rcx, qword [rsp + 0x50]
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400369fa
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400369fa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.1403f4db4
nop
cmp qword [rbp - 0x38], 0
je 0x140036a26
mov qword [rbp - 0x40], 0
lea rax, [rbp - 0x38]
mov rcx, qword [rbp - 0x50]
cmp rcx, rax
je 0x140036a26
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
vmovss xmm6, dword [0x14140e804]
mov r15, qword [rsp + 0x78]
mov rbx, qword [0x141443c60]
call fcn.1401f8990
dec dword [rbx + 0x5ff8]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
xor r14d, r14d
mov ecx, 1
call fcn.1401e39f0
mov rbx, qword [0x141443c60]
cmp qword [rdi + 0x3c8], 0
jne 0x140036a74
vmovaps xmm1, xmm8
jmp 0x140036a88
vmovss xmm0, dword [rbx + 0x3a38]
vaddss xmm1, xmm0, xmm0
vaddss xmm1, xmm1, dword [rbx + 0x3e80]
vmovss xmm0, dword [rdi + 0x3f0]
or dword [rbx + 0x4b58], 4
vcvttss2si eax, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vmovss dword [rbx + 0x4b84], xmm0
mov dword [rbx + 0x4b88], r14d
vmovss dword [rsp + 0x48], xmm8
vmovss xmm15, dword [0x14140f210]
vxorps xmm0, xmm1, xmm15
vmovss dword [rsp + 0x4c], xmm0
mov rax, qword [rbx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rbx + 0x4150]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413c5bc8]
call fcn.1401e1830
mov esi, eax
mov rdx, qword [rbx]
cmp dword [rdx + 0x419c], eax
jne 0x140036b21
lea r8, [0x1413c5bc8]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov dword [rsp + 0x20], 0x804
mov r9d, 1
lea r8, [rsp + 0x48]
mov edx, esi
lea rcx, [0x1413c5bc8]
call fcn.1401eb850
mov rcx, qword [rdi]
mov qword [rsp + 0x48], rcx
mov rbx, qword [0x141443c60]
mov rsi, rcx
test rcx, rcx
jne 0x140036b75
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x140036b6d
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
mov rsi, rcx
call fcn.1401f2850
lea rcx, [rbx + 0x4c20]
lea rdx, [rsp + 0x48]
call fcn.1401de7f0
mov rax, qword [rbx + 0x4150]
mov rdx, qword [rsi + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
vmovss dword [rsp + 0x48], xmm8
vmovss dword [rsp + 0x4c], xmm8
lea rdx, [rsp + 0x48]
mov ecx, recv
call fcn.1401e3960
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
mov rbx, qword [rax + 0x2e0]
vmovss xmm1, dword [rax + 0x58]
vmovss xmm0, dword [rax + 0x5c]
vsubss xmm0, xmm0, xmm8
vaddss xmm9, xmm0, xmm6
vsubss xmm1, xmm1, dword [rax + 0xc0]
vaddss xmm10, xmm1, xmm6
vmovss xmm11, dword [rax + 0x64]
vmovss xmm8, dword [rcx + 0x3e80]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
lea rax, [0x1413c5b6c]
mov qword [rsp + 0x28], rax
vmovss dword [rsp + 0x20], xmm14
vmovaps xmm3, xmm12
vmovaps xmm2, xmm8
lea rdx, [rsp + 0x58]
mov rcx, qword [rcx + 0x3e78]
call fcn.1401dc100
vaddss xmm1, xmm13, dword [rsp + 0x58]
vcvttss2si eax, xmm1
vxorps xmm7, xmm7, xmm7
vcvtsi2ss xmm7, xmm7, eax
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
movabs rsi, 0x6666666666666667
mov rax, rsi
imul rcx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, [0x1413c5f0c]
lea rcx, [rbp + 0x190]
call fcn.140005590
lea rax, [rbp + 0x190]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], 0
jne 0x140036ca6
vmovss xmm12, dword [0x14140e7e8]
vmulss xmm0, xmm7, xmm12
vmovaps xmm3, xmm15
vmovaps xmm2, xmm3
vandnps xmm3, xmm3, xmm0
vandps xmm2, xmm2, xmm0
vroundps xmm1, xmm3, 0
vsubss xmm3, xmm3, xmm1
vmovss xmm13, dword [0x14140ee60]
vcmpeqss xmm3, xmm3, xmm13
vmovss xmm14, dword [0x14140f1a0]
vandps xmm3, xmm3, xmm14
vaddss xmm3, xmm3, xmm1
vorps xmm3, xmm3, xmm2
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x140036d0a
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x140036d1f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, xmm7
vaddss xmm1, xmm0, xmm8
vaddss xmm6, xmm3, xmm1
mov rax, qword [r13 + 8]
add rax, qword [r13]
je 0x140036d47
vmulss xmm0, xmm7, dword [0x14140ea54]
vaddss xmm1, xmm0, xmm8
vaddss xmm6, xmm6, xmm1
mov rcx, qword [rdi + 0x120]
mov rax, qword [rdi + 0x118]
cmp rax, rcx
je 0x140036ddc
sub rcx, rax
movabs rax, 0x4ec4ec4ec4ec4ec5
imul rcx
sar rdx, 6
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, [0x1413c5f0c]
lea rcx, [rbp + 0x190]
call fcn.140005590
lea rax, [rbp + 0x190]
mov rcx, 0xffffffffffffffff
nop dword [rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x140036da0
add rcx, 1
vxorps xmm0, xmm0, xmm0
js 0x140036dba
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x140036dcf
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, xmm7
vaddss xmm1, xmm0, xmm8
vaddss xmm6, xmm6, xmm1
cmp byte [rdi + 0x88], 0
je 0x140036e01
cmp qword [r12 + 0x21b0], 0
je 0x140036e01
vmulss xmm0, xmm7, dword [0x14140ea74]
vaddss xmm1, xmm0, xmm8
vaddss xmm6, xmm6, xmm1
vaddss xmm2, xmm11, xmm9
vaddss xmm1, xmm6, xmm10
vxorps xmm7, xmm7, xmm7
vaddss xmm0, xmm9, xmm7
vmovss dword [rsp + 0x58], xmm1
vmovss dword [rsp + 0x5c], xmm0
vmovss dword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x64], xmm2
vmovss xmm0, dword [0x14140e870]
vmovss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], r14d
mov r9d, 0x8ffffff
mov r8d, 2
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.1401d6950
lea rcx, [rbp + 0x30]
call fcn.140031a80
nop
cmp qword [rdi + 0x2e8], 0
je 0x140036eb2
mov qword [rdi + 0x2e8], r14
mov rdx, qword [rdi + 0x2f0]
inc rdx
call fcn.140049f90
mov rbx, rax
mov rcx, qword [rdi + 0x2e0]
lea r8, [rcx + 8]
add r8, rax
sub r8, rcx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rdi + 0x2e0]
mov byte [rbx + rcx], 1
mov qword [rdi + 0x300], 0x20
cmp dword [rdi + 0x30], 0
je 0x140036fd9
mov esi, 1
mov r14, qword [rdi + 0xc8]
mov rbx, qword [rdi + 0xc0]
cmp rbx, r14
je 0x140036fae
vmovss xmm8, dword [0x14140e804]
cmp dword [rdi + 0x30], esi
jne 0x140036f7e
mov dword [rdi + 0x30], 0
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
vmovss xmm6, dword [rcx + 0x8c]
vmaxss xmm5, xmm6, dword [rax + 0x3a48]
vmovss xmm0, dword [rcx + 0x14c]
vsubss xmm4, xmm0, xmm5
vaddss xmm0, xmm0, dword [rcx + 0x174]
vaddss xmm1, xmm0, xmm5
vsubss xmm2, xmm1, xmm4
vmulss xmm3, xmm2, xmm8
vaddss xmm0, xmm3, xmm4
vsubss xmm1, xmm0, dword [rcx + 0x5c]
vsubss xmm2, xmm1, dword [rcx + 0x9c]
vsubss xmm3, xmm2, dword [rcx + 0xac]
vaddss xmm0, xmm3, dword [rcx + 0xc4]
vcvttss2si eax, xmm0
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, eax
vmovss dword [rcx + 0xd4], xmm1
mov dword [rcx + 0xdc], 0x3f000000
vsubss xmm0, xmm6, xmm5
vmaxss xmm0, xmm7, xmm0
vmovss dword [rcx + 0xe4], xmm0
mov r8d, esi
inc esi
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x60]
mov rdx, rbx
mov rcx, rdi
call fcn.14003da30
add rbx, 0x28
cmp rbx, r14
jne 0x140036ee0
mov rbx, qword [0x141443c60]
mov rax, qword [rbx + 0x4150]
vmovss xmm0, dword [rax + 0x158]
vsubss xmm1, xmm0, dword [rax + 0x150]
vmovss dword [rdi + 0x3f0], xmm1
jmp 0x140037160
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp + 0x190], ymm0
mov qword [rbp + 0x1b0], rax
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
mov rax, rsi
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
vmovss xmm2, dword [0x14140ebbc]
lea rcx, [rbp + 0x190]
vzeroupper
call fcn.1401e2cf0
lea rcx, [rbp + 0x190]
call fcn.1401e3630
test al, al
je 0x14003714c
nop dword [rax + rax]
mov rax, qword [r13 + 8]
add rax, qword [r13]
jne 0x1400370a5
mov eax, dword [rbp + 0x198]
cmp eax, dword [rbp + 0x19c]
jge 0x140037138
nop dword [rax]
lea ebx, [rax + 1]
cdqe
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 0xc0]
lea rdx, [rax + rcx*8]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x60]
mov r8d, ebx
mov rcx, rdi
call fcn.14003da30
mov eax, ebx
cmp ebx, dword [rbp + 0x19c]
jl 0x140037060
jmp 0x140037138
mov ebx, dword [rbp + 0x198]
cmp ebx, dword [rbp + 0x19c]
jge 0x140037138
nop word [rax + rax]
lea esi, [rbx + 1]
movsxd rax, esi
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
lea rcx, [r13 + 0x60]
call fcn.14004b5c0
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x70]
lea rax, [rax + rcx*8]
cmp rax, qword [r13 + 0x78]
jne 0x1400370f1
lea rax, [rbp + 0x60]
jmp 0x1400370f5
add rax, 8
vmovups xmm0, xmmword [rax]
vmovups xmmword [rbp + 0x20], xmm0
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [rdi + 0xc0]
lea rdx, [rax + rcx*8]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x20]
mov r8d, esi
mov rcx, rdi
call fcn.14003da30
mov ebx, esi
cmp esi, dword [rbp + 0x19c]
jl 0x1400370c0
lea rcx, [rbp + 0x190]
call fcn.1401e3630
test al, al
jne 0x140037040
lea rcx, [rbp + 0x190]
call fcn.1401e2e50
nop
mov rbx, qword [0x141443c60]
mov rcx, qword [rbx + 0x4150]
cmp byte [rcx + 0xf1], 0
je 0x140037a77
mov rax, rcx
mov byte [rcx + 0xf5], 1
mov rax, qword [rbx + 0x4150]
mov r13, qword [rax + 0x2e0]
mov qword [rbp - 0x68], r13
vmovss xmm2, dword [rcx + 0x58]
vmovups xmm4, xmmword [rcx + 0x238]
vmovss xmm3, dword [rcx + 0x94]
vaddss xmm0, xmm2, dword [rcx + 0x60]
vsubss xmm8, xmm0, xmm3
vsubss xmm1, xmm8, dword [rcx + 0xe8]
vmaxss xmm6, xmm2, xmm1
vmovss dword [rsp + 0x58], xmm6
vshufps xmm11, xmm4, xmm4, 0x55
vmovss dword [rsp + 0x5c], xmm11
vmovss dword [rsp + 0x60], xmm8
vshufps xmm4, xmm4, xmm4, 0xff
vsubss xmm7, xmm4, xmm3
vmovss dword [rsp + 0x64], xmm7
mov byte [rax + 0xf5], 1
mov rbx, qword [rbx + 0x4150]
xor r9d, r9d
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x58]
mov rcx, qword [rbx + 0x2e0]
call fcn.1401d6520
mov rax, qword [rbx + 0x2e0]
movsxd rcx, dword [rax + 0x98]
add rcx, rcx
mov rax, qword [rax + 0xa0]
vmovss xmm0, dword [rax + rcx*8 - 0xc]
vmovss xmm1, dword [rax + rcx*8 - 8]
vmovss xmm2, dword [rax + rcx*8 - 4]
mov eax, dword [rax + rcx*8 - 0x10]
mov dword [rbx + 0x278], eax
vmovss dword [rbx + 0x27c], xmm0
vmovss dword [rbx + 0x280], xmm1
vmovss dword [rbx + 0x284], xmm2
mov eax, dword [rdi + 0x34]
vmovss xmm9, dword [0x14140e9e4]
vmovss xmm10, dword [0x14140e804]
movabs rbx, 0x6666666666666667
test eax, eax
je 0x140037357
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vsubss xmm1, xmm0, xmm10
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
mov rax, rbx
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
vxorps xmm0, xmm0, xmm0
js 0x1400372b4
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1400372c9
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm1, xmm1, xmm0
vsubss xmm0, xmm7, xmm11
vmulss xmm1, xmm1, xmm0
vaddss xmm2, xmm1, xmm11
vmovaps xmm4, xmm15
vmovaps xmm3, xmm4
vandnps xmm4, xmm4, xmm2
vandps xmm3, xmm3, xmm2
vroundps xmm0, xmm4, 0
vsubss xmm4, xmm4, xmm0
vcmpeqss xmm4, xmm4, xmm13
vandps xmm4, xmm4, xmm14
vaddss xmm4, xmm4, xmm0
vorps xmm4, xmm4, xmm3
vaddss xmm1, xmm8, xmm10
vaddss xmm2, xmm4, xmm10
vaddss xmm0, xmm6, xmm10
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x5c], xmm2
vmovss dword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x64], xmm2
vmovss dword [rsp + 0x28], xmm9
mov dword [rsp + 0x20], 0
mov r9d, 0x8899994c
mov r8d, 2
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.1401d6950
mov eax, dword [rdi + 0x44]
cmp dword [rdi + 0xa0], eax
jne 0x140037450
mov eax, dword [rdi + 0x3c]
test eax, eax
je 0x140037450
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vsubss xmm1, xmm0, xmm10
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
mov rax, rbx
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
vxorps xmm0, xmm0, xmm0
js 0x1400373ad
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1400373c2
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm1, xmm1, xmm0
vsubss xmm0, xmm7, xmm11
vmulss xmm1, xmm1, xmm0
vaddss xmm2, xmm1, xmm11
vmovaps xmm4, xmm15
vmovaps xmm3, xmm4
vandnps xmm4, xmm4, xmm2
vandps xmm3, xmm3, xmm2
vroundps xmm0, xmm4, 0
vsubss xmm4, xmm4, xmm0
vcmpeqss xmm4, xmm4, xmm13
vandps xmm4, xmm4, xmm14
vaddss xmm4, xmm4, xmm0
vorps xmm4, xmm4, xmm3
vaddss xmm1, xmm8, xmm10
vaddss xmm2, xmm4, xmm10
vaddss xmm0, xmm6, xmm10
vmovss dword [rsp + 0x58], xmm0
vmovss dword [rsp + 0x5c], xmm2
vmovss dword [rsp + 0x60], xmm1
vmovss dword [rsp + 0x64], xmm2
vmovss dword [rsp + 0x28], xmm9
mov dword [rsp + 0x20], 0
mov r9d, 0x88888888
mov r8d, 2
lea rdx, [rsp + 0x58]
mov rcx, r13
call fcn.1401d6950
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbp + 0x190], xmm0
xor r12d, r12d
mov qword [rbp - 0x80], r12
mov qword [rbp + 0x1a0], r12
mov r9, qword [rsp + 0x70]
mov rax, qword [r9 + 0x80]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400374b4
movabs rcx, 0xaaaaaaaaaaaaaaa
cmp rax, rcx
ja 0x1400381dd
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x190]
call fcn.14004ad20
mov r12, qword [rbp + 0x1a0]
mov qword [rbp - 0x80], r12
mov r9, qword [rsp + 0x70]
cmp qword [r9 + 0x80], 0
je 0x1400375da
mov r8, qword [r9 + 0x70]
mov rbx, qword [r9 + 0x78]
mov rax, qword [rbx]
mov r15, rbx
test rax, rax
jne 0x1400374f7
nop word [rax + rax]
add rbx, 8
add r8, 0xc0
mov rax, qword [rbx]
test rax, rax
je 0x1400374e0
mov r15, qword [r9 + 0x78]
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rax, [rcx + rcx*2]
lea rsi, [r8 + rax*8]
cmp rsi, r15
je 0x1400375da
mov r14, qword [rbp + 0x198]
nop word [rax + rax]
lea r9, [rsi + 8]
cmp r14, r12
je 0x140037557
mov rax, qword [rsi]
mov qword [r14], rax
vmovups xmm0, xmmword [r9]
vmovups xmmword [r14 + 8], xmm0
add r14, 0x18
mov qword [rbp + 0x198], r14
jmp 0x140037577
mov r8, rsi
mov rdx, r14
lea rcx, [rbp + 0x190]
call fcn.140054ab0
mov r12, qword [rbp + 0x1a0]
mov r14, qword [rbp + 0x198]
inc rbx
add rsi, 0x18
mov rax, qword [rbx]
test rax, rax
jne 0x1400375a3
nop word [rax + rax]
add rbx, 8
add rsi, 0xc0
mov rax, qword [rbx]
test rax, rax
je 0x140037590
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rax, [rcx + rcx*2]
lea rsi, [rsi + rax*8]
cmp rsi, r15
jne 0x140037530
mov qword [rbp - 0x80], r12
mov r9, qword [rsp + 0x70]
jmp 0x1400375e1
mov r14, qword [rbp + 0x198]
mov ebx, 1
mov dword [rsp + 0x40], ebx
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
movabs r15, 0x6666666666666667
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, rbx
jb 0x14003772a
mov r8d, ebx
lea rsi, [r9 + 0x60]
mov r13, qword [rsp + 0x68]
nop dword [rax + rax]
mov eax, r8d
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov rcx, rsi
call fcn.14004b5c0
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x10]
lea rcx, [rax + rcx*8]
cmp rcx, qword [rsi + 0x18]
jne 0x1400376ee
mov r9, r13
mov r8d, ebx
mov edx, dword [rdi + 0xa0]
mov rcx, rdi
call fcn.1400480a0
test rax, rax
je 0x1400376ee
mov rcx, qword [rax]
mov r9, qword [rax + 8]
cmp rcx, r9
je 0x1400376ee
mov r8, qword [rdi + 0x20]
mov rdx, qword [rcx]
cmp rdx, r8
jb 0x140037697
mov eax, dword [rdi + 0x50]
add rax, r8
cmp rdx, rax
jb 0x1400376a2
add rcx, 8
cmp rcx, r9
jne 0x140037684
jmp 0x1400376ee
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x20], xmm0
cmp r14, r12
je 0x1400376c8
vmovups xmmword [r14 + 8], xmm0
mov eax, ebx
mov qword [r14], rax
add r14, 0x18
mov qword [rbp + 0x198], r14
jmp 0x1400376ee
lea r9, [rbp + 0x20]
lea r8, [rsp + 0x40]
mov rdx, r14
lea rcx, [rbp + 0x190]
call fcn.140054cc0
mov r12, qword [rbp + 0x1a0]
mov r14, qword [rbp + 0x198]
inc ebx
mov r8d, ebx
mov dword [rsp + 0x40], ebx
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x140037630
mov qword [rbp - 0x80], r12
mov r13, qword [rbp - 0x68]
mov rsi, qword [rbp + 0x190]
cmp rsi, r14
je 0x14003777d
xor r9d, r9d
mov rcx, r14
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sar rdx, 1
je 0x140037768
nop
inc r9d
sar rdx, 1
jne 0x140037760
mov byte [rsp + 0x20], 1
movzx r8d, byte [rbp - 0x78]
mov rdx, r14
mov rcx, rsi
call fcn.140054ed0
vsubss xmm10, xmm7, xmm11
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
mov rax, r15
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add rdx, rdx
vxorps xmm0, xmm0, xmm0
js 0x1400377b4
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x1400377c9
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, xmm10
vcvttss2si r15, xmm0
vsubss xmm4, xmm8, xmm6
vmulss xmm0, xmm4, xmm12
vaddss xmm1, xmm0, xmm6
vmovaps xmm7, xmm15
vmovaps xmm3, xmm7
vandnps xmm7, xmm7, xmm1
vandps xmm3, xmm3, xmm1
vroundps xmm0, xmm7, 0
vsubss xmm7, xmm7, xmm0
vcmpeqss xmm7, xmm7, xmm13
vandps xmm7, xmm7, xmm14
vaddss xmm7, xmm7, xmm0
vorps xmm7, xmm7, xmm3
vmulss xmm0, xmm4, dword [0x14140e810]
vaddss xmm1, xmm0, xmm6
vandnps xmm8, xmm15, xmm1
vandps xmm3, xmm15, xmm1
vroundps xmm0, xmm8, 0
vsubss xmm8, xmm8, xmm0
vcmpeqss xmm8, xmm8, xmm13
vandps xmm8, xmm8, xmm14
vaddss xmm8, xmm8, xmm0
vorps xmm8, xmm8, xmm3
mov rbx, rsi
cmp rsi, r14
je 0x140037a12
vmulss xmm9, xmm9, dword [rbp - 0x74]
vxorps xmm12, xmm12, xmm12
mov rsi, qword [rsp + 0x70]
movabs r12, 0x6666666666666667
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbx]
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x20], xmm0
xor r8d, r8d
xor r9d, r9d
mov r10, qword [rbp + 0x20]
cmp rbx, r14
je 0x1400378b4
mov r11d, r15d
add r11, rcx
mov rdx, qword [rbp + 0x28]
cmp qword [rbx], r11
ja 0x1400378b4
add r10, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
add r8, rdx
mov rdx, r8
mov r9d, r8d
add rbx, 0x18
cmp rbx, r14
jne 0x140037895
vxorps xmm1, xmm1, xmm1
test rcx, rcx
js 0x1400378c4
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x1400378d9
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm1, xmm1, rax
vaddss xmm1, xmm1, xmm1
mov rcx, qword [rdi + 0xc8]
sub rcx, qword [rdi + 0xc0]
mov rax, r12
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
vxorps xmm0, xmm0, xmm0
js 0x140037908
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x14003791d
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm1, xmm0
vmulss xmm1, xmm0, xmm10
vaddss xmm2, xmm1, xmm11
vmovaps xmm6, xmm15
vmovaps xmm1, xmm6
vandnps xmm6, xmm6, xmm2
vandps xmm1, xmm1, xmm2
vroundps xmm0, xmm6, 0
vsubss xmm6, xmm6, xmm0
vcmpeqss xmm6, xmm6, xmm13
vandps xmm6, xmm6, xmm14
vaddss xmm6, xmm6, xmm0
vorps xmm6, xmm6, xmm1
cmp byte [rdi + 0x8a], 0
je 0x1400379aa
lea rax, [r8 + r10]
test rax, rax
jne 0x140037972
mov eax, 0x22ffffff
jmp 0x140037981
mov edx, dword [rsi + 0x28]
add edx, dword [rsi + 0x20]
lea ecx, [r9 + r10]
call fcn.140035220
vmovss dword [rsp + 0x48], xmm8
vaddss xmm0, xmm6, xmm9
vmovss dword [rsp + 0x4c], xmm0
vmovss dword [rsp + 0x50], xmm7
vmovss dword [rsp + 0x54], xmm6
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
jmp 0x1400379e5
test r10, r10
jne 0x1400379b6
mov eax, 0x22ffffff
jmp 0x1400379c1
mov edx, dword [rsi + 0x20]
mov ecx, r10d
call fcn.140035220
vmovss dword [rsp + 0x78], xmm8
vaddss xmm0, xmm6, xmm9
vmovss dword [rsp + 0x7c], xmm0
vmovss dword [rbp - 0x74], xmm7
vmovss dword [rbp - 0x70], xmm6
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x74]
mov dword [rsp + 0x28], 0
vmovss dword [rsp + 0x20], xmm12
mov r9d, eax
mov rcx, r13
call fcn.1401d8d50
cmp rbx, r14
jne 0x140037870
mov rsi, qword [rbp + 0x190]
mov r12, qword [rbp - 0x80]
call fcn.1401e9e50
nop
test rsi, rsi
je 0x140037a73
sub r12, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul r12
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rsi
cmp rdx, 0x1000
jb 0x140037a6b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140037a6b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.1403f4db4
vxorps xmm7, xmm7, xmm7
mov ecx, 1
call fcn.1401e39f0
call fcn.1401f2900
call fcn.1401ebba0
cmp qword [rdi + 0x3c8], 0
je 0x1400380c4
xor r14d, r14d
xor r15d, r15d
xor r12d, r12d
mov rbx, qword [rdi + 0x3c0]
mov r8, qword [rdi + 0x3b8]
mov rax, qword [rbx]
mov r13, rbx
test rax, rax
jne 0x140037ad7
nop dword [rax + rax]
add rbx, 8
add r8, 0x20
mov rax, qword [rbx]
test rax, rax
je 0x140037ac0
mov r13, qword [rdi + 0x3c0]
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rsi, [r8 + rcx*4]
cmp rsi, r13
je 0x140037b9c
mov rdi, qword [rsp + 0x70]
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rsi]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
lea rcx, [rdi + 0x60]
call fcn.14004b5c0
lea rax, [rax + rax*2]
mov rcx, qword [rdi + 0x70]
lea rcx, [rcx + rax*8]
cmp rcx, qword [rdi + 0x78]
je 0x140037b42
add r14, qword [rcx + 8]
add r15, qword [rcx + 0x10]
inc r12d
inc rbx
add rsi, 4
mov rax, qword [rbx]
test rax, rax
jne 0x140037b70
nop dword [rax]
nop word [rax + rax]
add rbx, 8
add rsi, 0x20
mov rax, qword [rbx]
test rax, rax
je 0x140037b60
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
lea rsi, [rsi + rcx*4]
cmp rsi, r13
jne 0x140037b10
mov rdi, qword [rbp + 8]
vmovss dword [rsp + 0x48], xmm7
vmovss dword [rsp + 0x4c], xmm7
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413c5f10]
call fcn.1401e1830
mov esi, eax
mov r8, qword [rbx]
cmp dword [r8 + 0x419c], eax
jne 0x140037c06
lea r8, [0x1413c5f10]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r13d, r13d
mov dword [rsp + 0x20], r13d
xor r9d, r9d
lea r8, [rsp + 0x48]
mov edx, esi
lea rcx, [0x1413c5f10]
call fcn.1401eb850
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rsp + 0x48], xmm7
vmovss dword [rsp + 0x4c], xmm7
mov r8d, 0x8000
lea rdx, [rsp + 0x48]
lea rcx, [0x1413c5efc]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140037cc3
cmp qword [rdi + 0x3c8], r13
je 0x140037cb9
mov qword [rdi + 0x3c8], r13
mov rdx, qword [rdi + 0x3d0]
inc rdx
call fcn.140049f90
mov rbx, rax
mov rcx, qword [rdi + 0x3c0]
lea r8, [rax + 8]
add r8, rcx
sub r8, rcx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rdi + 0x3c0]
mov byte [rbx + rcx], 1
mov qword [rdi + 0x3e0], 0x20
mov dword [rdi + 0x3ec], 0xffffffff
vmovss xmm8, dword [0x14140ebbc]
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
cmp byte [rdi + 0x8a], r13b
je 0x140037d71
lea rcx, [r15 + r14]
vxorps xmm0, xmm0, xmm0
test rcx, rcx
js 0x140037cfa
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x140037d0f
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vmovss xmm6, dword [0x14140ead8]
vmulss xmm1, xmm0, xmm6
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 8]
add rcx, qword [rax]
vxorps xmm0, xmm0, xmm0
js 0x140037d34
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x140037d49
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm3, xmm1, xmm0
mov dword [rsp + 0x28], 2
lea r8, [rbp + 0x1c8]
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp - 8]
call fcn.14002e010
jmp 0x140037e27
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
test rdx, rdx
je 0x140037dfc
vxorps xmm0, xmm0, xmm0
test r14, r14
js 0x140037d8e
vcvtsi2ss xmm0, xmm0, r14
jmp 0x140037da6
mov rcx, r14
shr rcx, 1
mov rax, r14
and eax, 1
or rcx, rax
vcvtsi2ss xmm0, xmm0, rcx
vaddss xmm0, xmm0, xmm0
vmovss xmm6, dword [0x14140ead8]
vmulss xmm1, xmm0, xmm6
vxorps xmm0, xmm0, xmm0
test rdx, rdx
js 0x140037dc2
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x140037dd7
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm3, xmm1, xmm0
mov dword [rsp + 0x28], 2
lea r8, [rbp + 0x1c8]
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x10]
call fcn.14002e010
jmp 0x140037e27
mov dword [rsp + 0x28], 2
vmovaps xmm3, xmm7
lea r8, [rbp + 0x1c8]
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp - 0x20]
call fcn.14002e010
vmovss xmm6, dword [0x14140ead8]
mov rax, qword [rax]
mov word [rax], 0x25
lea rcx, [0x1413c5f00]
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
lea rcx, [rbp + 0x1b8]
call fcn.140215e20
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], r13b
jne 0x140037eab
vmovss dword [rsp + 0x48], xmm7
vmovss dword [rsp + 0x4c], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
cmp dword [rdi + 0x90], r13d
jne 0x140037ff8
mov r13, qword [rsp + 0x68]
mov rax, qword [r13 + 0x120]
cmp byte [rdi + 0x8a], 0
je 0x140037ee7
add r15, r14
mov rsi, r15
imul rsi, rax
jmp 0x140037ef1
mov rsi, r14
imul rsi, rax
add r15, r14
mov rcx, rsi
call fcn.1401c9cc0
mov rbx, rax
lea rcx, [0x1413c5f40]
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, rsi
vmulss xmm2, xmm0, xmm6
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, qword [r13 + 0xc30]
vdivss xmm6, xmm2, xmm1
vcomiss xmm6, dword [0x14140e760]
jb 0x140037f71
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
vcvtss2sd xmm1, xmm6, xmm6
vmovq rdx, xmm1
lea rcx, [0x1413c5f48]
call fcn.1402166f0
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x140037fbf
vmovss dword [rsp + 0x48], xmm7
vmovss dword [rsp + 0x4c], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
cmp byte [rdi + 0x8a], 0
je 0x140037fe7
mov rcx, r15
call fcn.14004a750
lea rcx, [0x1413c5cd0]
jmp 0x140038007
mov rcx, r14
call fcn.14004a750
lea rcx, [0x1413c5cd0]
jmp 0x140038007
mov rcx, r14
call fcn.14004a750
lea rcx, [0x1413c5dc0]
mov rbx, rax
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14003807b
vmovss dword [rsp + 0x48], xmm7
vmovss dword [rsp + 0x4c], xmm7
vmovaps xmm1, xmm8
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov ecx, r12d
call fcn.14004a890
mov rbx, rax
lea rcx, [0x1413c5f1c]
call fcn.140011540
vmovaps xmm1, xmm8
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
call fcn.1401ebba0
nop
xor ebx, ebx
cmp qword [rbp + 0x178], rbx
je 0x1400380f0
mov qword [rbp + 0x170], rbx
lea rax, [rbp + 0x178]
mov rcx, qword [rbp + 0x160]
cmp rcx, rax
je 0x1400380f0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
cmp qword [rbp + 0x138], 0
je 0x14003811b
mov qword [rbp + 0x130], rbx
lea rax, [rbp + 0x138]
mov rcx, qword [rbp + 0x120]
cmp rcx, rax
je 0x14003811b
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
cmp qword [rbp + 0xf8], 0
je 0x140038146
mov qword [rbp + 0xf0], rbx
lea rax, [rbp + 0xf8]
mov rcx, qword [rbp + 0xe0]
cmp rcx, rax
je 0x140038146
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
cmp qword [rbp + 0xb8], 0
je 0x140038171
mov qword [rbp + 0xb0], rbx
lea rax, [rbp + 0xb8]
mov rcx, qword [rbp + 0xa0]
cmp rcx, rax
je 0x140038171
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov rcx, qword [rbp + 0x1c8]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0x378]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
vmovaps xmm9, xmmword [r11 - 0x48]
vmovaps xmm10, xmmword [r11 - 0x58]
vmovaps xmm11, xmmword [r11 - 0x68]
vmovaps xmm12, xmmword [r11 - 0x78]
vmovaps xmm13, xmmword [r11 - 0x88]
vmovaps xmm14, xmmword [r11 - 0x98]
vmovaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400033c0
nop
call fcn.1400033c0
nop
call fcn.14001c8f0
int3