Function at 0x1400b4580
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x348
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2b0], xmm15
movaps xmmword [rbp + 0x2a0], xmm14
movaps xmmword [rbp + 0x290], xmm13
movaps xmmword [rbp + 0x280], xmm12
movaps xmmword [rbp + 0x270], xmm11
movaps xmmword [rbp + 0x260], xmm10
movaps xmmword [rbp + 0x250], xmm9
movaps xmmword [rbp + 0x240], xmm8
movaps xmmword [rbp + 0x230], xmm7
movaps xmmword [rbp + 0x220], xmm6
mov qword [rbp + 0x218], 0xfffffffffffffffe
mov dword [rbp + 0x1e0], r8d
mov rsi, rdx
mov qword [rbp + 0x1c8], rcx
mov rcx, rdx
call fcn.1400885f0
xorps xmm6, xmm6
movups xmmword [rsi + 0x30], xmm6
mov qword [rsi + 0x40], 0
mov rcx, rsi
call fcn.14007cee0
movaps xmmword [rbp + 0x1b0], xmm6
movaps xmmword [rbp + 0x190], xmm6
mov qword [rbp + 0x208], rsi
movsxd rsi, dword [rsi + 0x68]
test rsi, rsi
jle 0x1400b466f
cmp esi, 9
mov ebx, 8
cmovge ebx, esi
mov rax, rbx
shl rax, 4
lea rcx, [rax + rax*4]
call fcn.140069290
mov rdi, rax
mov qword [rbp + 0x1b8], rax
mov dword [rbp + 0x1b4], ebx
jmp 0x1400b4671
xor edi, edi
mov dword [rbp + 0x1b0], esi
mov rax, qword [rbp + 0x208]
movsxd r15, dword [rax + 0x48]
test r15, r15
jle 0x1400b46b2
cmp r15d, 9
mov ebx, 8
cmovge ebx, r15d
mov rcx, rbx
shl rcx, 5
call fcn.140069290
mov r12, rax
mov qword [rbp + 0x198], rax
mov dword [rbp + 0x194], ebx
jmp 0x1400b46b5
xor r12d, r12d
mov rax, qword [rbp + 0x208]
add rax, 0x30
mov qword [rbp + 0x178], rax
mov dword [rbp + 0x190], r15d
shl rsi, 4
lea r8, [rsi + rsi*4]
mov rcx, rdi
xor edx, edx
call fcn.140358b50
shl r15, 5
mov rcx, r12
xor edx, edx
mov r8, r15
call fcn.140358b50
xor eax, eax
mov qword [rbp + 0x1f0], rax
xor eax, eax
mov qword [rbp + 0x180], rax
xor eax, eax
jmp 0x1400b475b
or r13b, byte [rbp + 0x180]
mov rax, qword [rbp + 0x1f8]
inc dword [rax]
mov rax, qword [rbp + 0x210]
mov eax, dword [rax + rsi + 0x24]
mov rdx, qword [rbp + 0x200]
mov ecx, dword [rdx + r15 + 4]
cmp ecx, eax
cmovg eax, ecx
mov dword [rdx + r15 + 4], eax
mov rax, qword [rbp + 0x110]
inc eax
inc qword [rbp + 0x1f0]
mov ecx, r13d
mov qword [rbp + 0x180], rcx
mov rdx, qword [rbp + 0x208]
mov r15d, dword [rdx + 0x68]
cmp eax, r15d
mov qword [rbp + 0x110], rax
jge 0x1400b4beb
mov r8, qword [rbp + 0x1b8]
mov ecx, eax
lea rsi, [rcx + rcx*4]
shl rsi, 4
mov rdi, qword [rdx + 0x70]
mov qword [rbp + 0x210], r8
mov dword [r8 + rsi + 0x20], 0xffffffff
mov eax, dword [rdx + 0x48]
test eax, eax
jle 0x1400b65bd
mov rdx, qword [rbp + 0x1f0]
lea rdx, [rdx + rdx*4]
shl rdx, 4
add rdx, 0x28
mov qword [rbp + 0x1e8], rdx
mov r8, qword [rbp + 0x210]
lea r10, [r8 + rsi]
mov rdx, rcx
shl rdx, 7
lea r14, [rdx + rcx*8]
lea r11, [rdi + r14]
lea r12, [r8 + rsi]
add r12, 0x20
lea rbx, [rdi + r14]
add rbx, 0x78
xor ecx, ecx
nop dword [rax]
mov r8, qword [rbx]
mov rdx, qword [rbp + 0x208]
mov r9, qword [rdx + 0x50]
mov edx, 0xffffffff
cmp r8, qword [r9 + rcx*8]
jne 0x1400b4819
mov dword [r12], ecx
mov rax, qword [rbp + 0x208]
mov eax, dword [rax + 0x48]
mov edx, ecx
inc rcx
movsxd r8, eax
cmp rcx, r8
jge 0x1400b4829
cmp edx, 0xffffffff
je 0x1400b47f0
cmp edx, 0xffffffff
je 0x1400b65bd
mov qword [rbp + 0x1f8], r11
mov qword [rbp + 0x200], r10
mov r13, qword [rdi + r14 + 0x48]
test r13, r13
jne 0x1400b48f0
mov ecx, 0xb8
call fcn.140069290
mov r13, rax
lea rcx, [rax + 0x30]
movups xmmword [rax + 0xa0], xmm6
movups xmmword [rax + 0x90], xmm6
movups xmmword [rax + 0x80], xmm6
movups xmmword [rax + 0x70], xmm6
movups xmmword [rax + 0x60], xmm6
movups xmmword [rax + 0x50], xmm6
movups xmmword [rax + 0x40], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0xb0], 0
mov dword [rbp - 0x10], 0
mov qword [rbp + 0x1a8], rcx
lea rdx, [rbp - 0x10]
lea r8, [rbp + 0x130]
call fcn.1400b7d50
mov rcx, r13
add rcx, 0x70
mov dword [rbp - 0x10], 0
lea rdx, [rbp - 0x10]
lea r8, [rbp + 0x130]
call fcn.1400b7d50
lea rax, [rdi + r14]
add rax, 0x48
mov dword [r13 + 0xb0], 0x3f800000
mov qword [rax], r13
mov rax, qword [rbp + 0x200]
mov qword [rax], r13
mov rcx, r13
mov rdx, qword [rbp + 0x1c8]
mov r8, qword [rbp + 0x1f8]
mov r9d, dword [rbp + 0x1e0]
call fcn.1400b43a0
test al, al
je 0x1400b65bd
mov r13d, dword [rdi + r14 + 0x38]
movsxd r15, dword [r12]
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x200], rax
mov rdi, qword [rbx]
lea rcx, [rdi + 0xb0]
call fcn.140171b08
test eax, eax
jne 0x1400b664e
cmp dword [rdi + 0xfc], 0x7fffffff
je 0x1400b6658
mov rdx, qword [rbx]
mov rax, qword [rbp + 0x210]
lea rdi, [rax + rsi]
add rdi, 0x10
mov rcx, qword [rax + rsi + 0x18]
test rcx, rcx
je 0x1400b4993
mov r14, rdx
mov qword [rdi], 0
call fcn.140078900
mov qword [rdi + 8], 0
mov rdx, r14
mov r14d, dword [rdx + 0xa0]
mov rax, qword [rbp + 0x210]
mov eax, dword [rax + rsi + 0x14]
cmp eax, r14d
jge 0x1400b49d0
mov qword [rbp + 0x1f8], r15
test eax, eax
je 0x1400b49d8
mov r15d, eax
shr r15d, 0x1f
add r15d, eax
sar r15d, 1
add r15d, eax
jmp 0x1400b49de
xor r12d, r12d
jmp 0x1400b4a5a
mov r15d, 8
cmp r15d, r14d
cmovle r15d, r14d
cmp eax, r15d
jge 0x1400b4a50
mov qword [rbp + 0x1a8], rdx
movsxd rcx, r15d
shl rcx, 2
call fcn.140069290
mov r12, rax
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x1400b4a21
movsxd r8, dword [rdi]
shl r8, 2
mov rcx, r12
call fcn.1403584b0
mov rcx, qword [rdi + 8]
call fcn.140078900
mov rax, qword [rbp + 0x210]
add rax, rsi
add rax, 0x14
mov qword [rdi + 8], r12
mov dword [rax], r15d
mov r15, qword [rbp + 0x1f8]
mov rdx, qword [rbp + 0x1a8]
jmp 0x1400b4a5a
xor r12d, r12d
mov r15, qword [rbp + 0x1f8]
shr r13d, 0xa
and r13b, 1
shl r15, 5
mov rax, qword [rbp + 0x200]
add rax, r15
mov qword [rbp + 0x1f8], rax
movsxd r8, r14d
mov dword [rdi], r14d
mov rdx, qword [rdx + 0xa8]
shl r8, 2
mov rcx, r12
call fcn.1403584b0
mov rcx, qword [rbx]
mov eax, 0xb0
add rcx, rax
call fcn.140171b10
movsxd r8, dword [rdi]
test r8, r8
je 0x1400b4710
mov r10, qword [rdi + 8]
lea rax, [r10 + r8*4]
mov rdx, qword [rbp + 0x210]
lea rcx, [rdx + rsi]
add rcx, 0x24
mov r11d, dword [rdx + rsi + 0x24]
dec r8
movabs rdx, 0x3fffffffffffffff
and r8, rdx
cmp r8, 0x17
jae 0x1400b4af0
mov rdx, r10
jmp 0x1400b4bd0
cmp rcx, rax
jae 0x1400b4b10
mov rdx, qword [rbp + 0x1e8]
add rdx, qword [rbp + 0x210]
cmp r10, rdx
jae 0x1400b4b10
mov rdx, r10
jmp 0x1400b4bd0
inc r8
mov r9, r8
and r9, 0xfffffffffffffff8
lea rdx, [r10 + r9*4]
movd xmm0, r11d
pshufd xmm0, xmm0, 0
xor r11d, r11d
movdqa xmm1, xmm0
nop
movdqu xmm2, xmmword [r10 + r11*4]
movdqu xmm3, xmmword [r10 + r11*4 + 0x10]
movdqa xmm4, xmm0
pcmpgtd xmm0, xmm2
pand xmm4, xmm0
pandn xmm0, xmm2
por xmm0, xmm4
movdqa xmm2, xmm1
pcmpgtd xmm1, xmm3
pand xmm2, xmm1
pandn xmm1, xmm3
por xmm1, xmm2
add r11, 8
cmp r9, r11
jne 0x1400b4b30
movdqa xmm2, xmm0
pcmpgtd xmm2, xmm1
pand xmm0, xmm2
pandn xmm2, xmm1
por xmm2, xmm0
pshufd xmm0, xmm2, 0xee
movdqa xmm1, xmm2
pcmpgtd xmm1, xmm0
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
pshufd xmm2, xmm1, 0x55
movdqa xmm0, xmm1
pcmpgtd xmm0, xmm2
pand xmm1, xmm0
pandn xmm0, xmm2
por xmm0, xmm1
movd dword [rcx], xmm0
cmp r8, r9
je 0x1400b4710
movd r11d, xmm0
nop word cs:[rax + rax]
mov r8d, dword [rdx]
cmp r11d, r8d
cmovle r11d, r8d
mov dword [rcx], r11d
add rdx, 4
cmp rdx, rax
jne 0x1400b4bd0
jmp 0x1400b4710
mov dword [rbp + 0x16c], r15d
xor edi, edi
mov dword [rbp + 0x1f8], 0
jmp 0x1400b4c08
mov edi, dword [rbp + 0x200]
inc edi
mov eax, dword [rbp + 0x1b0]
cmp edi, eax
jge 0x1400b4e6e
mov r15, qword [rbp + 0x1b8]
mov eax, edi
lea r12, [rax + rax*4]
shl r12, 4
movsxd r13, dword [r15 + r12 + 0x20]
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x200], rax
lea rax, [r15 + r12]
add rax, 0x30
mov qword [rbp + 0x210], rax
mov r14d, dword [r15 + r12 + 0x24]
mov eax, dword [r15 + r12 + 0x34]
add r14d, 0x20
sar r14d, 5
cmp eax, r14d
jge 0x1400b4cdc
test eax, eax
je 0x1400b4c71
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
add esi, eax
jmp 0x1400b4c76
mov esi, 8
cmp esi, r14d
cmovle esi, r14d
cmp eax, esi
jge 0x1400b4cdc
movsxd rcx, esi
shl rcx, 2
call fcn.140069290
mov rbx, rax
mov rax, qword [rbp + 0x210]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400b4cce
mov qword [rbp + 0x1f0], r13
mov r13, qword [rbp + 0x210]
movsxd r8, dword [r13]
shl r8, 2
mov rcx, rbx
call fcn.1403584b0
mov rcx, qword [r13 + 8]
mov r13, qword [rbp + 0x1f0]
call fcn.140078900
mov rax, qword [rbp + 0x210]
mov qword [rax + 8], rbx
mov dword [rax + 4], esi
mov rax, qword [rbp + 0x210]
mov dword [rax], r14d
mov rcx, qword [rax + 8]
movsxd r8, r14d
shl r8, 2
xor edx, edx
call fcn.140358b50
shl r13, 5
mov rcx, qword [rbp + 0x200]
lea rbx, [rcx + r13]
add rbx, 0x10
cmp dword [rcx + r13 + 0x10], 0
jne 0x1400b4dab
mov r14d, dword [rcx + r13 + 4]
add r14d, 0x20
sar r14d, 5
mov eax, dword [rbx + 4]
cmp eax, r14d
jge 0x1400b4d8f
test eax, eax
je 0x1400b4d3d
mov esi, eax
shr esi, 0x1f
add esi, eax
sar esi, 1
add esi, eax
jmp 0x1400b4d42
mov esi, 8
cmp esi, r14d
cmovle esi, r14d
cmp eax, esi
jge 0x1400b4d8f
movsxd rcx, esi
shl rcx, 2
call fcn.140069290
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1400b4d88
movsxd r8, dword [rbx]
shl r8, 2
mov rcx, rax
mov qword [rbp + 0x1f0], rax
call fcn.1403584b0
mov rcx, qword [rbx + 8]
call fcn.140078900
mov rax, qword [rbp + 0x1f0]
mov qword [rbx + 8], rax
mov dword [rbx + 4], esi
mov dword [rbx], r14d
mov rcx, qword [rbx + 8]
movsxd r8, r14d
shl r8, 2
xor edx, edx
call fcn.140358b50
mov rcx, qword [rbp + 0x200]
mov dword [rbp + 0x200], edi
movsxd r14, dword [r15 + r12 + 0x10]
test r14, r14
je 0x1400b4c00
lea rsi, [r15 + r12]
mov rax, r13
mov r13, qword [r15 + r12 + 0x18]
add r15, r12
add r15, 0x28
lea r12, [rcx + rax]
add r12, 8
shl r14, 2
xor edi, edi
jmp 0x1400b4dfd
add rdi, 4
cmp r14, rdi
je 0x1400b4c00
mov edx, dword [r13 + rdi]
mov rax, qword [rbx + 8]
mov ecx, edx
sar ecx, 5
movsxd rcx, ecx
mov eax, dword [rax + rcx*4]
bt eax, edx
jb 0x1400b4df0
mov rax, qword [rsi]
mov rcx, qword [rax + 0x18]
call fcn.1401c2d40
test eax, eax
je 0x1400b4df0
inc dword [r15]
inc dword [r12]
mov ecx, dword [r13 + rdi]
mov rax, qword [rbp + 0x210]
mov rax, qword [rax + 8]
mov edx, 1
shl edx, cl
sar ecx, 5
movsxd rcx, ecx
or dword [rax + rcx*4], edx
mov ecx, dword [r13 + rdi]
mov eax, 1
shl eax, cl
mov rdx, qword [rbx + 8]
sar ecx, 5
movsxd rcx, ecx
or dword [rdx + rcx*4], eax
inc dword [rbp + 0x1f8]
jmp 0x1400b4df0
xor ecx, ecx
xorps xmm6, xmm6
jmp 0x1400b4e8e
mov ecx, dword [rbp + 0x1e8]
inc ecx
mov eax, dword [rbp + 0x1b0]
cmp ecx, eax
jge 0x1400b5066
mov rsi, qword [rbp + 0x1b8]
mov dword [rbp + 0x1e8], ecx
mov eax, ecx
lea r14, [rax + rax*4]
shl r14, 4
lea rdi, [rsi + r14]
add rdi, 0x40
mov r15d, dword [rsi + r14 + 0x28]
cmp dword [rsi + r14 + 0x44], r15d
jge 0x1400b4f0a
movsxd rax, r15d
shl rax, 4
lea rcx, [rax + rax*2]
call fcn.140069290
mov rbx, rax
lea r12, [rsi + r14]
add r12, 0x48
mov rdx, qword [rsi + r14 + 0x48]
test rdx, rdx
je 0x1400b4f02
movsxd rax, dword [rdi]
shl rax, 4
lea r8, [rax + rax*2]
mov rcx, rbx
call fcn.1403584b0
mov rcx, qword [r12]
call fcn.140078900
mov qword [r12], rbx
mov dword [rdi + 4], r15d
lea r15, [rsi + r14]
add r15, 0x30
mov rcx, qword [rsi + r14 + 0x38]
movsxd rax, dword [rsi + r14 + 0x30]
lea rax, [rcx + rax*4]
mov qword [rbp + 0x200], rax
mov rax, rcx
mov qword [rbp + 0x1f0], rcx
jmp 0x1400b4f4b
mov rcx, qword [rbp + 0x210]
add rcx, 4
cmp rcx, qword [rbp + 0x200]
jae 0x1400b5040
mov qword [rbp + 0x210], rcx
mov esi, dword [rcx]
test esi, esi
je 0x1400b4f40
mov r12, qword [rbp + 0x210]
sub r12d, dword [rbp + 0x1f0]
shl r12d, 3
xor r13d, r13d
jmp 0x1400b4fbb
mov qword [r15 + 0x18], rbx
mov dword [rdi + 4], r14d
mov eax, dword [rdi]
lea ecx, [r12 + r13]
mov rdx, qword [r15 + 0x18]
cdqe
lea rax, [rax + rax*2]
shl rax, 4
movups xmmword [rdx + rax + 0x10], xmm6
movups xmmword [rdx + rax], xmm6
mov dword [rdx + rax + 0x20], ecx
mov qword [rdx + rax + 0x24], 0
mov dword [rdx + rax + 0x2c], 0
inc dword [rdi]
inc r13d
cmp r13d, 0x1f
ja 0x1400b4f40
bt esi, r13d
jae 0x1400b4fb8
mov eax, dword [rdi]
cmp eax, dword [rdi + 4]
jne 0x1400b4f86
lea r14d, [rax + 1]
test eax, eax
je 0x1400b4fe7
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1400b4fec
mov ecx, 8
cmp ecx, r14d
cmovg r14d, ecx
cmp eax, r14d
jge 0x1400b4f86
movsxd rax, r14d
shl rax, 4
lea rcx, [rax + rax*2]
call fcn.140069290
mov rbx, rax
mov rdx, qword [r15 + 0x18]
test rdx, rdx
je 0x1400b4f7c
movsxd rax, dword [rdi]
shl rax, 4
lea r8, [rax + rax*2]
mov rcx, rbx
call fcn.1403584b0
mov rcx, qword [r15 + 0x18]
call fcn.140078900
jmp 0x1400b4f7c
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400b4e80
mov qword [r15], 0
call fcn.140078900
mov qword [r15 + 8], 0
jmp 0x1400b4e80
xor esi, esi
jmp 0x1400b5072
inc esi
mov rcx, qword [rbp + 0x198]
cmp esi, dword [rbp + 0x190]
jge 0x1400b50b2
mov edx, esi
shl rdx, 5
mov rax, qword [rcx + rdx + 0x18]
test rax, rax
je 0x1400b5070
lea rdi, [rcx + rdx]
add rdi, 0x10
mov qword [rdi], 0
mov rcx, rax
call fcn.140078900
mov qword [rdi + 8], 0
jmp 0x1400b5070
test rcx, rcx
je 0x1400b50d2
mov qword [rbp + 0x190], 0
call fcn.140078900
mov qword [rbp + 0x198], 0
xorps xmm6, xmm6
movaps xmmword [rbp + 0x150], xmm6
mov eax, dword [rbp + 0x1f8]
test eax, eax
jle 0x1400b5115
cmp eax, 9
mov esi, 8
cmovge esi, eax
mov rcx, rsi
shl rcx, 4
call fcn.140069290
mov rcx, rax
mov qword [rbp + 0x158], rax
mov dword [rbp + 0x154], esi
mov eax, dword [rbp + 0x1f8]
jmp 0x1400b5117
xor ecx, ecx
mov dword [rbp + 0x150], eax
shl eax, 4
movsxd r8, eax
xor edx, edx
call fcn.140358b50
movaps xmmword [rbp + 0x1d0], xmm6
mov ecx, 0x40000
call fcn.140069290
mov rbx, rax
mov r8d, 0x40000
mov rcx, rax
xor edx, edx
call fcn.140358b50
mov ecx, 0x40
call fcn.140069290
mov qword [rbp + 0x1d8], rax
mov dword [rbp + 0x1d4], 8
mov qword [rax], rbx
inc dword [rbp + 0x1d0]
movss xmm6, dword [0x14039a014]
xor eax, eax
xor esi, esi
mov dword [rbp + 0x1a8], 0
xor r12d, r12d
mov rcx, qword [rbp + 0x208]
cmp eax, dword [rbp + 0x1b0]
jl 0x1400b5274
mov dword [rcx + 0x34], 0
mov esi, dword [rcx + 0x10]
test esi, esi
jg 0x1400b51eb
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rbp + 0x1a8]
sqrtss xmm0, xmm0
cvttss2si eax, xmm0
mov esi, 0x1000
cmp eax, 0xb32
jg 0x1400b51eb
mov esi, 0x800
cmp eax, 0x598
jg 0x1400b51eb
xor esi, esi
cmp eax, 0x2cc
setge sil
shl esi, 9
add esi, 0x200
mov dword [rcx + 0x30], esi
sub esi, dword [rcx + 0x14]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x130], xmm0
cmp esi, 9
mov edi, 8
cmovge edi, esi
mov rcx, rdi
shl rcx, 4
call fcn.140069290
mov rcx, qword [rbp + 0x178]
mov r8d, dword [rcx]
mov qword [rbp + 0x138], rax
mov dword [rbp + 0x134], edi
mov dword [rbp + 0x130], esi
cmp esi, 2
jb 0x1400b57df
lea r14d, [rsi - 1]
mov edx, r14d
lea r10, [rdx - 1]
mov r9d, edx
and r9d, 3
cmp r10, 3
jae 0x1400b57e6
xor r10d, r10d
jmp 0x1400b5829
mov esi, dword [rbp + 0x188]
inc eax
cmp eax, dword [rbp + 0x1b0]
jge 0x1400b519e
mov rdi, qword [rbp + 0x1b8]
mov dword [rbp + 0x1f8], eax
mov eax, eax
lea rbx, [rax + rax*4]
shl rbx, 4
mov ecx, dword [rdi + rbx + 0x28]
mov dword [rbp + 0x188], ecx
test ecx, ecx
je 0x1400b52f0
movsxd rcx, esi
shl rcx, 4
add rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x208]
mov rdx, qword [rdx + 0x70]
mov qword [rdi + rbx + 8], rcx
mov rcx, rax
shl rcx, 7
lea rax, [rcx + rax*8]
movss xmm1, dword [rdx + rax + 0x3c]
ucomiss xmm6, xmm1
je 0x1400b5310
lea r14, [rbp - 0x10]
mov rcx, r14
call fcn.140082da0
mov qword [rbp + 0x1e8], r14
jmp 0x1400b5319
mov rcx, qword [rbp + 0x208]
mov eax, dword [rbp + 0x1f8]
inc eax
cmp eax, dword [rbp + 0x1b0]
jl 0x1400b5274
jmp 0x1400b519e
xor eax, eax
mov qword [rbp + 0x1e8], rax
lea rax, [rdi + rbx]
mov qword [rbp + 0x210], rax
lea rax, [rdi + rbx]
add rax, 8
add dword [rbp + 0x188], esi
mov rsi, rax
mov rcx, qword [rbp + 0x208]
mov eax, dword [rcx + 0x14]
mov dword [rbp + 0x1c8], eax
xor edx, edx
mov eax, dword [rbp + 0x1f8]
mov qword [rbp + 0x1e0], rsi
jmp 0x1400b53be
shl r14d, 2
add r12d, r14d
mov eax, dword [r15]
mov edx, dword [rbp + 0x1c8]
add eax, edx
mov rsi, qword [rbp + 0x1e0]
mov rcx, qword [rsi]
shl rdi, 4
mov word [rcx + rdi + 4], ax
mov eax, dword [r15 + 4]
add eax, edx
mov rcx, qword [rsi]
mov word [rcx + rdi + 6], ax
mov rax, qword [rsi]
movzx ecx, word [rax + rdi + 4]
movzx eax, word [rax + rdi + 6]
imul eax, ecx
add dword [rbp + 0x1a8], eax
mov edx, dword [rbp + 0x200]
inc edx
mov rcx, qword [rbp + 0x208]
mov eax, dword [rbp + 0x1f8]
cmp edx, dword [rsi + 0x38]
jge 0x1400b5260
mov rbx, qword [rsi + 0x40]
mov dword [rbp + 0x200], edx
mov edi, edx
lea r13, [rdi + rdi*2]
shl r13, 4
lea r15, [rbx + r13]
mov rax, qword [rbp + 0x210]
mov r14, qword [rax]
movzx eax, byte [r14 + 0x2c]
lea rcx, [rbx + r13 + 0x20]
mov qword [rbp + 0x1f0], rcx
mov edx, dword [rbx + r13 + 0x20]
movzx ecx, dh
mov r8d, edx
shr r8d, 0x10
movzx r9d, r8b
movzx r8d, dl
movabs r10, 0xcbf29ce484222325
xor r8, r10
movabs r10, 0x100000001b3
imul r8, r10
xor r8, rcx
mov rcx, rdx
shr rcx, 0x18
shl rax, 6
imul r8, r10
xor r8, r9
imul r8, r10
xor r8, rcx
imul r8, r10
and r8, qword [rax + r14 + 0x60]
mov rcx, qword [rax + r14 + 0x38]
mov r9, qword [rax + r14 + 0x48]
mov rax, r8
shl rax, 4
mov rax, qword [r9 + rax + 8]
cmp rax, rcx
je 0x1400b54d0
cmp dword [rax + 0x10], edx
je 0x1400b548e
add r8, r8
mov r8, qword [r9 + r8*8]
nop dword [rax + rax]
cmp rax, r8
je 0x1400b54d0
mov rax, qword [rax + 8]
cmp dword [rax + 0x10], edx
jne 0x1400b5480
mov qword [rbp + 0x1a0], 0
cmp rax, rcx
je 0x1400b54db
lea rcx, [rax + 0x18]
mov qword [rbp + 0x1a0], rcx
movdqu xmm0, xmmword [rax + 0x40]
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x10], xmm1
movdqu xmmword [r15], xmm0
jmp 0x1400b555b
mov qword [rbp + 0x1a0], 0
mov rcx, qword [r14 + 0x18]
call fcn.1401c2d40
test eax, eax
je 0x1400b53a9
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 0x18]
mov edx, eax
call fcn.1401c2490
test eax, eax
jne 0x1400b53a9
mov rsi, r12
mov rax, qword [r14 + 0x18]
mov r12, qword [rax + 0x78]
mov eax, dword [r14 + 0x20]
test al, 0x20
je 0x1400b5522
mov rcx, r12
call fcn.1401cda30
mov eax, dword [r14 + 0x20]
test al, 0x40
je 0x1400b552e
mov rcx, r12
call fcn.1401cdb40
mov rax, qword [rbp + 0x210]
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x2c]
mov rdx, qword [rbp + 0x1f0]
mov edx, dword [rdx]
mov byte [rsp + 0x20], al
lea r8, [rbp + 0x1a0]
mov r9, r15
call fcn.1400b7f30
mov r12, rsi
mov r9d, dword [r15]
mov r14d, dword [r15 + 4]
imul r14d, r9d
lea eax, [r12 + r14*4]
cmp eax, 0x40000
jle 0x1400b55c0
mov ecx, 0x40000
call fcn.140069290
mov r12, rax
mov r8d, 0x40000
mov rcx, rax
xor edx, edx
call fcn.140358b50
mov esi, dword [rbp + 0x1d0]
cmp esi, dword [rbp + 0x1d4]
jne 0x1400b5631
lea ecx, [rsi + 1]
test esi, esi
je 0x1400b55cb
mov eax, esi
shr eax, 0x1f
add eax, esi
sar eax, 1
add eax, esi
jmp 0x1400b55d0
mov eax, dword [rbp + 0x1d0]
jmp 0x1400b5653
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
cmp esi, ecx
jge 0x1400b5631
mov dword [rbp + 0x170], ecx
movsxd rcx, ecx
shl rcx, 3
call fcn.140069290
mov rdx, qword [rbp + 0x1d8]
test rdx, rdx
je 0x1400b561e
movsxd r8, esi
shl r8, 3
mov rcx, rax
mov rsi, rax
call fcn.1403584b0
mov rcx, qword [rbp + 0x1d8]
call fcn.140078900
mov rax, rsi
mov esi, dword [rbp + 0x1d0]
mov qword [rbp + 0x1d8], rax
mov eax, dword [rbp + 0x170]
mov dword [rbp + 0x1d4], eax
mov rax, qword [rbp + 0x1d8]
movsxd rcx, esi
mov qword [rax + rcx*8], r12
mov eax, dword [rbp + 0x1d0]
inc eax
mov dword [rbp + 0x1d0], eax
mov r9d, dword [r15]
xor r12d, r12d
mov rcx, qword [rbp + 0x1d8]
cdqe
movsxd r8, r12d
add r8, qword [rcx + rax*8 - 8]
mov qword [rbx + r13 + 0x28], r8
mov rax, qword [rbp + 0x210]
mov rax, qword [rax]
cmp byte [rax + 0x2c], 1
mov eax, 0
sbb eax, eax
or eax, 0xff000000
mov rdx, qword [rbp + 0x1a0]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x1e8]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
call fcn.1400b6fe0
mov rax, qword [rbp + 0x210]
mov rcx, qword [rax]
cmp byte [rcx + 0x2c], 0
je 0x1400b5360
mov rax, qword [rbp + 0x1f0]
mov edx, dword [rax]
movzx eax, dh
mov r8d, edx
shr r8d, 0x10
movzx r9d, r8b
mov r10, rdx
shr r10, 0x18
movzx r8d, dl
movabs r11, 0xcbf29ce484222325
xor r8, r11
movabs r11, 0x100000001b3
imul r8, r11
xor r8, rax
imul r8, r11
xor r8, r9
imul r8, r11
xor r8, r10
imul r8, r11
and r8, qword [rcx + 0x60]
mov r9, qword [rcx + 0x38]
mov r10, qword [rcx + 0x48]
mov rax, r8
shl rax, 4
mov rax, qword [r10 + rax + 8]
cmp rax, r9
je 0x1400b5778
cmp dword [rax + 0x10], edx
je 0x1400b574e
add r8, r8
mov r8, qword [r10 + r8*8]
nop word cs:[rax + rax]
cmp rax, r8
je 0x1400b5778
mov rax, qword [rax + 8]
cmp dword [rax + 0x10], edx
jne 0x1400b5740
cmp rax, r9
je 0x1400b5778
lea rcx, [rax + 0x18]
mov qword [rbp + 0x1a0], rcx
movdqu xmm0, xmmword [rax + 0x40]
movups xmm1, xmmword [rax + 0x50]
movdqa xmmword [rbp + 0x130], xmm0
movaps xmmword [rbp + 0x140], xmm1
jmp 0x1400b5790
mov byte [rsp + 0x20], 0
lea r8, [rbp + 0x1a0]
lea r9, [rbp + 0x130]
call fcn.1400b7f30
cmp byte [rbp + 0x14c], 0
je 0x1400b579e
mov byte [r15 + 0x1c], 1
lea rax, [rbx + r13]
add rax, 0x28
mov r9d, dword [r15]
mov r8, qword [rax]
mov rdx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x1e8]
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x28], 0xffffffff
call fcn.1400b6fe0
mov al, 1
mov qword [rbp + 0x180], rax
jmp 0x1400b5360
xor r14d, r14d
xor edx, edx
jmp 0x1400b584f
mov r11d, edx
and r11d, 0xfffffffc
lea rdi, [rax + 0x20]
xor r10d, r10d
nop word cs:[rax + rax]
lea rbx, [rdi - 0x10]
mov qword [rdi - 0x18], rbx
mov qword [rdi - 8], rdi
lea rbx, [rdi + 0x10]
mov qword [rdi + 8], rbx
add r10, 4
lea rbx, [rdi + 0x20]
mov qword [rdi + 0x18], rbx
add rdi, 0x40
cmp r11, r10
jne 0x1400b5800
test r9, r9
je 0x1400b584f
shl r10, 4
add r10, rax
add r10, 0x10
mov rcx, qword [rbp + 0x208]
mov qword [r10 - 8], r10
add r10, 0x10
dec r9
jne 0x1400b5840
jmp 0x1400b5856
mov rcx, qword [rbp + 0x208]
shl rdx, 4
mov qword [rax + rdx + 8], 0
mov qword [rbp - 4], 1
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x18]
mov qword [rbp + 8], rax
mov dword [rbp - 0x10], r8d
mov dword [rbp - 0xc], 0x8000
mov dword [rbp + 4], esi
add r14d, r8d
mov eax, r14d
cdq
idiv esi
mov dword [rbp - 8], eax
mov dword [rbp + 0x18], 0
lea rax, [rbp + 0x28]
mov qword [rbp + 0x20], rax
mov word [rbp + 0x28], r8w
mov word [rbp + 0x2a], 0xffff
mov qword [rbp + 0x30], 0
lea rdx, [rbp - 0x10]
call fcn.140089c40
cmp dword [rbp + 0x1b0], 0
mov rsi, qword [rbp + 0x208]
jle 0x1400b60bc
xor r11d, r11d
jmp 0x1400b58f3
inc r11
movsxd rax, dword [rbp + 0x1b0]
cmp r11, rax
jge 0x1400b60bc
mov r10, qword [rbp + 0x1b8]
lea rax, [r11 + r11*4]
shl rax, 4
mov ebx, dword [r10 + rax + 0x28]
test rbx, rbx
je 0x1400b58e0
movsxd rdx, ebx
mov rdi, qword [r10 + rax + 8]
test edx, edx
mov qword [rbp + 0x100], rax
jle 0x1400b5930
mov eax, ebx
and eax, 3
cmp ebx, 4
jae 0x1400b5974
xor ecx, ecx
jmp 0x1400b59bb
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rdi
mov r15, rdx
lea r9, [0x1400848d0]
mov r14, rdi
mov rdi, r11
mov rbx, r10
call fcn.140378760
mov r8d, reloc.WS2_32.dll_recv
mov rcx, r14
mov rdx, r15
lea r9, [0x140087c80]
call fcn.140378760
mov r10, rbx
mov r11, rdi
jmp 0x1400b5fda
mov r14, rdx
mov edx, ebx
and edx, 0xfffffffc
lea r8, [rdi + 0x3c]
xor ecx, ecx
nop word cs:[rax + rax]
mov dword [r8 - 0x30], ecx
lea r9d, [rcx + 1]
mov dword [r8 - 0x20], r9d
lea r9d, [rcx + 2]
mov dword [r8 - 0x10], r9d
lea r9d, [rcx + 3]
mov dword [r8], r9d
add rcx, 4
add r8, 0x40
cmp rcx, rdx
jne 0x1400b5990
mov rdx, r14
mov qword [rbp + 0x128], r10
mov qword [rbp + 0x120], r11
test rax, rax
je 0x1400b59ff
mov r8, rcx
shl r8, 4
lea r9, [rdi + r8]
add r9, 0xc
shl rax, 4
xor r8d, r8d
nop word cs:[rax + rax]
mov dword [r9 + r8], ecx
inc ecx
add r8, 0x10
cmp rax, r8
jne 0x1400b59f0
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rdi
mov qword [rbp + 0x108], rdx
lea r9, [0x1400848d0]
call fcn.140378760
xor r11d, r11d
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xf8], rbx
jmp 0x1400b5a45
mov dword [rdi + r14 + 8], 0
inc r11
cmp r11, rbx
je 0x1400b5f80
mov r14, r11
shl r14, 4
movzx r9d, word [rdi + r14 + 4]
test r9d, r9d
je 0x1400b5a30
movzx ecx, word [rdi + r14 + 6]
mov rax, rcx
mov qword [rbp + 0x200], rcx
test ecx, ecx
je 0x1400b5a30
mov r10d, dword [rbp - 0x10]
mov r8d, dword [rbp - 8]
lea ecx, [r9 + r8]
dec ecx
mov eax, ecx
cdq
idiv r8d
sub ecx, edx
mov dword [rbp + 0x1e0], r10d
cmp ecx, r10d
jg 0x1400b5f40
mov eax, dword [rbp - 0xc]
mov dword [rbp + 0x1f8], eax
cmp eax, dword [rbp + 0x200]
jl 0x1400b5f40
mov rdi, qword [rbp + 8]
movzx r10d, word [rdi]
lea ebx, [rcx + r10]
cmp ebx, dword [rbp + 0x1e0]
mov qword [rbp + 0x188], r11
mov qword [rbp + 0x170], r14
mov qword [rbp + 0x178], r9
jle 0x1400b5af0
xor edx, edx
mov dword [rbp + 0x1c8], 0x40000000
mov r8d, dword [rbp]
mov dword [rbp + 0x210], 0x40000000
xor eax, eax
jmp 0x1400b5ca6
mov dword [rbp + 0x1c8], 0x40000000
mov r8d, dword [rbp]
mov qword [rbp + 0x118], r10
xor eax, eax
mov qword [rbp + 0x1e8], rax
mov rax, rdi
lea rdx, [rbp + 8]
mov dword [rbp + 0x210], 0x40000000
mov dword [rbp + 0x1a8], r8d
jmp 0x1400b5b79
mov eax, dword [rbp + 0x210]
cmp esi, eax
cmovl eax, esi
mov dword [rbp + 0x210], eax
mov rax, qword [rbp + 0x1e8]
cmovl rax, rdx
mov qword [rbp + 0x1e8], rax
mov r9, qword [rbp + 0x1f0]
mov rdx, r9
mov rax, qword [r9 + 8]
add rdx, 8
movzx r10d, word [rax]
lea ebx, [rcx + r10]
cmp ebx, dword [rbp + 0x1e0]
jg 0x1400b5c87
test ecx, ecx
mov qword [rbp + 0x1f0], rax
jle 0x1400b5c20
xor r15d, r15d
mov r9d, r10d
xor r12d, r12d
xor r8d, r8d
mov r14, rax
jmp 0x1400b5bd7
mov r14, qword [r14 + 8]
movzx r11d, word [r14]
mov esi, r11d
sub esi, r9d
lea r9d, [rsi + r12]
mov r13d, ecx
sub r13d, r12d
cmp r9d, ecx
cmovle r13d, esi
imul eax, r13d
mov esi, r8d
add r15d, eax
add r12d, r13d
mov r9d, r11d
mov r8d, esi
cmp ebx, r11d
jle 0x1400b5c25
movzx esi, word [r14 + 2]
mov eax, r8d
sub eax, esi
jge 0x1400b5ba0
mov eax, esi
sub eax, r8d
imul eax, r12d
mov r14, qword [r14 + 8]
movzx r11d, word [r14]
mov r13d, r11d
cmp r9d, r10d
jae 0x1400b5c10
sub r13d, r10d
jmp 0x1400b5bc6
sub r13d, r9d
jmp 0x1400b5bc6
xor esi, esi
xor r15d, r15d
mov r8d, dword [rbp + 0x1a8]
test r8d, r8d
je 0x1400b5b30
mov rax, qword [rbp + 0x200]
add eax, esi
cmp eax, dword [rbp + 0x1f8]
mov r9, qword [rbp + 0x1f0]
jg 0x1400b5b5a
cmp esi, dword [rbp + 0x210]
jl 0x1400b5c6c
jne 0x1400b5b5a
cmp r15d, dword [rbp + 0x1c8]
jge 0x1400b5b5a
mov eax, esi
mov dword [rbp + 0x210], esi
mov qword [rbp + 0x1e8], rdx
mov dword [rbp + 0x1c8], r15d
jmp 0x1400b5b5a
mov rdx, qword [rbp + 0x1e8]
test rdx, rdx
je 0x1400b5c9b
mov rax, qword [rdx]
movzx eax, word [rax]
jmp 0x1400b5c9f
xor edx, edx
xor eax, eax
mov r10, qword [rbp + 0x118]
cmp r8d, 1
mov qword [rbp + 0x1e8], rdx
mov dword [rbp + 0x1e0], eax
jne 0x1400b5e5c
mov r8, rdi
cmp ecx, r10d
jle 0x1400b5cdc
mov r8, rdi
nop dword [rax + rax]
mov r8, qword [r8 + 8]
movzx eax, word [r8]
cmp ecx, eax
jg 0x1400b5cd0
lea rdx, [rbp + 8]
jmp 0x1400b5d1b
mov eax, r15d
mov dword [rbp + 0x210], r15d
mov qword [rbp + 0x1e8], rdx
mov dword [rbp + 0x1e0], r14d
mov dword [rbp + 0x1c8], ebx
mov r8, qword [r8 + 8]
test r8, r8
je 0x1400b5e5c
mov qword [rbp + 0x1f0], r8
movzx eax, word [r8]
movzx r10d, ax
mov r14d, r10d
sub r14d, ecx
mov r8, rdx
mov r9, rdi
nop word cs:[rax + rax]
mov rdi, r9
mov rdx, r8
lea r8, [r9 + 8]
mov r9, qword [r9 + 8]
movzx r11d, word [r9]
cmp r14d, r11d
jge 0x1400b5d40
movzx r9d, word [rdi]
xor r15d, r15d
mov ebx, 0
cmp ax, r9w
jbe 0x1400b5e00
xor ebx, ebx
xor esi, esi
xor r8d, r8d
mov r11, rdi
jmp 0x1400b5db6
mov r11, qword [r11 + 8]
movzx r12d, word [r11]
mov r15d, r12d
sub r15d, r9d
lea r9d, [r15 + rsi]
mov r13d, ecx
sub r13d, esi
cmp r9d, ecx
cmovle r13d, r15d
imul eax, r13d
mov r15d, r8d
add ebx, eax
add esi, r13d
mov r9d, r12d
mov r8d, r15d
cmp r12d, r10d
jae 0x1400b5e00
movzx r15d, word [r11 + 2]
mov eax, r8d
sub eax, r15d
jge 0x1400b5d80
mov eax, r15d
sub eax, r8d
imul eax, esi
mov r11, qword [r11 + 8]
movzx r12d, word [r11]
mov r13d, r12d
cmp r9d, r14d
jge 0x1400b5df0
sub r13d, r14d
jmp 0x1400b5da6
sub r13d, r9d
jmp 0x1400b5da6
mov rax, qword [rbp + 0x200]
add eax, r15d
cmp eax, dword [rbp + 0x1f8]
jg 0x1400b5e50
cmp r15d, dword [rbp + 0x210]
mov r8, qword [rbp + 0x1f0]
jg 0x1400b5d0e
jl 0x1400b5cf0
cmp ebx, dword [rbp + 0x1c8]
jl 0x1400b5cf0
jne 0x1400b5d0e
cmp r14d, dword [rbp + 0x1e0]
jl 0x1400b5cf0
jmp 0x1400b5d0e
mov r8, qword [rbp + 0x1f0]
jmp 0x1400b5d0e
mov r10, qword [rbp + 0x1e8]
test r10, r10
mov rsi, qword [rbp + 0x208]
mov rdi, qword [rbp + 0xf0]
mov rbx, qword [rbp + 0xf8]
mov r11, qword [rbp + 0x188]
mov r14, qword [rbp + 0x170]
mov r9, qword [rbp + 0x178]
je 0x1400b5f40
mov rcx, qword [rbp + 0x200]
add ecx, dword [rbp + 0x210]
cmp ecx, dword [rbp + 0x1f8]
jg 0x1400b5f40
mov rdx, qword [rbp + 0x10]
test rdx, rdx
je 0x1400b5f40
mov rax, rcx
mov r15d, dword [rbp + 0x1e0]
mov ecx, r15d
mov word [rdx], r15w
mov word [rdx + 2], ax
mov rax, qword [rdx + 8]
mov qword [rbp + 0x10], rax
mov rax, qword [r10]
movzx r8d, word [rax]
cmp r15d, r8d
jle 0x1400b5ef3
mov r8, qword [rax + 8]
add rax, 8
mov r10, rax
mov rax, r8
mov qword [r10], rdx
mov r10, qword [rax + 8]
add r15d, r9d
test r10, r10
je 0x1400b5f4e
lea r9, [rax + 8]
nop word cs:[rax + rax]
mov r8, r10
movzx r10d, word [r10]
cmp r15d, r10d
jl 0x1400b5f4e
mov r10, qword [rbp + 0x10]
mov qword [r9], r10
mov qword [rbp + 0x10], rax
lea r9, [r8 + 8]
mov r10, qword [r8 + 8]
mov rax, r8
test r10, r10
jne 0x1400b5f10
jmp 0x1400b5f51
mov dword [rdi + r14 + 8], 0xffffffff
jmp 0x1400b5a39
mov r8, rax
mov qword [rdx + 8], r8
movzx eax, word [r8]
cmp r15d, eax
jle 0x1400b5f62
mov word [r8], r15w
mov word [rdi + r14 + 8], cx
mov eax, dword [rbp + 0x210]
mov word [rdi + r14 + 0xa], ax
jmp 0x1400b5a39
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rdi
mov rdx, qword [rbp + 0x108]
lea r9, [0x140087c80]
call fcn.140378760
cmp ebx, 1
jne 0x1400b6050
xor eax, eax
mov r11, qword [rbp + 0x120]
mov r10, qword [rbp + 0x128]
test bl, 1
je 0x1400b5fda
shl rax, 4
mov ecx, 1
cmp word [rdi + rax + 8], 0xffff
jne 0x1400b5fd6
xor ecx, ecx
cmp word [rdi + rax + 0xa], 0xffff
setne cl
mov dword [rdi + rax + 0xc], ecx
mov rcx, qword [rbp + 0x100]
lea rax, [r10 + rcx]
add rax, 0x28
mov r9d, dword [rax]
test r9d, r9d
jle 0x1400b58e0
add rcx, r10
add rcx, 8
mov edx, ntohs
xor r8d, r8d
jmp 0x1400b6023
inc r8
movsxd r10, r9d
add rdx, 0x10
cmp r8, r10
jge 0x1400b58e0
mov r10, qword [rcx]
cmp dword [r10 + rdx], 0
je 0x1400b6010
movzx r9d, word [r10 + rdx - 2]
movzx r10d, word [r10 + rdx - 6]
add r10d, r9d
mov r9d, dword [rsi + 0x34]
cmp r9d, r10d
cmovg r10d, r9d
mov dword [rsi + 0x34], r10d
mov r9d, dword [rax]
jmp 0x1400b6010
mov ecx, ebx
and ecx, 0xfffffffe
lea rdx, [rdi + 0x1c]
xor eax, eax
mov r11, qword [rbp + 0x120]
mov r10, qword [rbp + 0x128]
jmp 0x1400b6084
mov dword [rdx], r8d
add rax, 2
add rdx, 0x20
cmp rcx, rax
je 0x1400b5fb5
mov r8d, 1
cmp word [rdx - 0x14], 0xffff
mov r9d, 1
jne 0x1400b60a3
xor r9d, r9d
cmp word [rdx - 0x12], 0xffff
setne r9b
mov dword [rdx - 0x10], r9d
cmp word [rdx - 4], 0xffff
jne 0x1400b6070
xor r8d, r8d
cmp word [rdx - 2], 0xffff
setne r8b
jmp 0x1400b6070
test byte [rsi + 4], 1
mov eax, dword [rsi + 0x34]
jne 0x1400b60e9
dec eax
mov ecx, eax
sar ecx, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or eax, ecx
mov ecx, eax
sar ecx, 4
or ecx, eax
mov edx, ecx
sar edx, 8
or edx, ecx
mov eax, edx
sar eax, 0x10
or eax, edx
inc eax
mov dword [rsi + 0x34], eax
movsxd r14, dword [rsi + 0x30]
movd xmm0, eax
movd xmm1, r14d
punpckldq xmm1, xmm0
cvtdq2ps xmm0, xmm1
rcpps xmm1, xmm0
mulps xmm0, xmm1
movaps xmm2, xmmword [0x14039a5a0]
subps xmm2, xmm0
mulps xmm2, xmm1
addps xmm2, xmm1
movlps qword [rsi + 0x38], xmm2
movsxd rbx, eax
test byte [rbp + 0x180], 1
jne 0x1400b6149
imul r14, rbx
mov rcx, r14
call fcn.140069290
mov rcx, qword [rbp + 0x208]
mov qword [rcx + 0x20], rax
mov rcx, rax
xor edx, edx
mov r8, r14
jmp 0x1400b616c
imul rbx, r14
shl rbx, 2
mov rcx, rbx
call fcn.140069290
mov rcx, qword [rbp + 0x208]
mov qword [rcx + 0x28], rax
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.140358b50
xor eax, eax
mov qword [rbp + 0x1f8], rax
movss xmm7, dword [0x14039a010]
movss xmm8, dword [0x14039a5d4]
xor ecx, ecx
jmp 0x1400b61a0
mov qword [r15 - 0x20], 0
mov ecx, dword [rbp + 0x1e8]
inc ecx
mov edi, dword [rbp + 0x1b0]
cmp ecx, edi
jge 0x1400b64e5
mov rsi, qword [rbp + 0x1b8]
mov eax, ecx
lea rdi, [rax + rax*4]
shl rdi, 4
cmp dword [rsi + rdi + 0x28], 0
je 0x1400b619e
mov dword [rbp + 0x1e8], ecx
lea rbx, [rsi + rdi]
mov rcx, qword [rbp + 0x208]
mov r14, qword [rcx + 0x70]
mov rdx, rax
shl rdx, 7
lea r15, [rdx + rax*8]
lea r8, [r14 + r15]
mov rdx, qword [r14 + r15 + 0x78]
mov rax, qword [rbx]
movd xmm3, dword [rax + 4]
movd xmm0, dword [rax + 8]
movd dword [rsp + 0x20], xmm0
mov qword [rbp + 0x210], rdx
mov qword [rbp + 0x200], r8
call fcn.1400818a0
mov rax, qword [rbp + 0x210]
movss xmm0, dword [rax + 0x6c]
addss xmm0, xmm7
cvttps2dq xmm0, xmm0
cvtdq2ps xmm9, xmm0
addss xmm9, dword [r14 + r15 + 0x28]
movss xmm10, dword [r14 + r15 + 0x24]
mov rax, qword [rbx]
movzx eax, byte [rax + 0x2c]
test al, al
je 0x1400b6250
addss xmm10, xmm8
addss xmm9, xmm8
lea r15, [rsi + rdi]
add r15, 0x28
mov rcx, qword [rbp + 0x210]
mov byte [rcx + 0x9a], al
mov rax, qword [rbx]
movzx eax, byte [rax + 0x2d]
mov byte [rcx + 0x9b], al
mov rax, qword [rbp + 0x208]
movsxd rax, dword [rax + 0x14]
mov qword [rbp + 0x1f0], rax
xor r13d, r13d
jmp 0x1400b6293
inc r13d
cmp r13d, dword [r15]
jge 0x1400b6190
mov rdi, qword [r15 + 0x20]
mov edx, r13d
mov rax, qword [r15 - 0x20]
mov rcx, rdx
shl rcx, 4
cmp word [rax + rcx + 4], 0
jne 0x1400b62be
cmp word [rax + rcx + 6], 0
je 0x1400b6290
lea rbx, [rdx + rdx*2]
shl rbx, 4
lea r14, [rdi + rbx]
movzx esi, word [rax + rcx + 8]
mov rdx, qword [rbp + 0x1f0]
add rsi, rdx
movzx r12d, word [rax + rcx + 0xa]
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [r14 + 8]
add r12, rdx
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [r14 + 0xc]
mov eax, dword [r14]
cvtsi2ss xmm1, eax
mov ecx, dword [r14 + 4]
cvtsi2ss xmm2, ecx
addss xmm3, xmm10
cvtsi2ss xmm4, esi
addss xmm0, xmm9
mov rdx, qword [rbp + 0x208]
cvtsi2ss xmm5, dword [rdx + 0x30]
addss xmm1, xmm3
addss xmm2, xmm0
movaps xmm11, xmm6
divss xmm11, xmm5
mulss xmm4, xmm11
xorps xmm5, xmm5
cvtsi2ss xmm5, r12d
cvtsi2ss xmm12, dword [rdx + 0x34]
movaps xmm13, xmm6
add eax, esi
cvtsi2ss xmm14, eax
divss xmm13, xmm12
mulss xmm5, xmm13
mulss xmm14, xmm11
add ecx, r12d
xorps xmm11, xmm11
cvtsi2ss xmm11, ecx
mulss xmm11, xmm13
movss xmm12, dword [r14 + 0x18]
movss xmm13, dword [r14 + 0x14]
movss xmm15, dword [r14 + 0x10]
mov r8d, dword [rdi + rbx + 0x20]
movss dword [rsp + 0x68], xmm12
movss dword [rsp + 0x60], xmm13
movss dword [rsp + 0x58], xmm15
movss dword [rsp + 0x50], xmm11
movss dword [rsp + 0x48], xmm14
movss dword [rsp + 0x40], xmm5
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x30], xmm2
movss dword [rsp + 0x28], xmm1
movss dword [rsp + 0x20], xmm0
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x200]
call fcn.1400819c0
cmp byte [r14 + 0x1c], 0
je 0x1400b6403
mov rcx, qword [rbp + 0x210]
mov rax, qword [rcx + 0x30]
movsxd rcx, dword [rcx + 0x28]
lea rcx, [rcx + rcx*2]
shl rcx, 4
or dword [rcx + rax - 0x30], 1
mov al, 1
mov qword [rbp + 0x1f8], rax
mov r8d, dword [r14]
mov r9d, dword [r14 + 4]
movsxd rax, r8d
mov r11, qword [rbp + 0x208]
movsxd rcx, dword [r11 + 0x30]
mov rdx, qword [rdi + rbx + 0x28]
mov r10, qword [r11 + 0x20]
test r10, r10
je 0x1400b6480
test r9d, r9d
jle 0x1400b6290
imul r12, rcx
add r10, rsi
add r10, r12
xor r11d, r11d
jmp 0x1400b6457
mov r9d, dword [r14 + 4]
inc r11d
add r10, rcx
lea rdx, [rdx + rax*4]
cmp r11d, r9d
jge 0x1400b6290
test r8d, r8d
jle 0x1400b6444
xor r9d, r9d
nop
movzx r8d, byte [rdx + r9*4 + 3]
mov byte [r10 + r9], r8b
inc r9
movsxd r8, dword [r14]
cmp r9, r8
jl 0x1400b6460
jmp 0x1400b6440
test r9d, r9d
jle 0x1400b6290
movsxd r10, r12d
imul r10, rcx
shl r10, 2
add r10, qword [r11 + 0x28]
movsxd r11, esi
lea r10, [r10 + r11*4]
xor r11d, r11d
jmp 0x1400b64c8
mov r9d, dword [r14 + 4]
inc r11d
lea r10, [r10 + rcx*4]
lea rdx, [rdx + rax*4]
cmp r11d, r9d
jge 0x1400b6290
test r8d, r8d
jle 0x1400b64b4
xor r9d, r9d
mov r8d, dword [rdx + r9*4]
mov dword [r10 + r9*4], r8d
inc r9
movsxd r8, dword [r14]
cmp r9, r8
jl 0x1400b64d0
jmp 0x1400b64b0
movsxd rsi, edi
mov rcx, qword [rbp + 0x1f8]
and cl, 1
mov rax, qword [rbp + 0x208]
mov byte [rax + 0x18], cl
xor ebx, ebx
mov r14d, dword [rbp + 0x1d0]
cmp ebx, r14d
jge 0x1400b6529
nop word [rax + rax]
mov rax, qword [rbp + 0x1d8]
mov ecx, ebx
mov rcx, qword [rax + rcx*8]
call fcn.140078900
inc ebx
cmp ebx, r14d
jl 0x1400b6510
test edi, edi
jle 0x1400b6577
mov rdi, qword [rbp + 0x1b8]
add rdi, 0x48
xor ebx, ebx
jmp 0x1400b654c
inc rbx
add rdi, 0x50
cmp rbx, rsi
jge 0x1400b6577
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400b6559
call fcn.140078900
mov rcx, qword [rdi - 0x10]
test rcx, rcx
je 0x1400b6567
call fcn.140078900
mov rcx, qword [rdi - 0x30]
test rcx, rcx
je 0x1400b6540
call fcn.140078900
jmp 0x1400b6540
mov rcx, qword [rbp + 0x208]
call fcn.14008bcc0
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x1400b6594
call fcn.140078900
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
mov r15d, dword [rbp + 0x16c]
je 0x1400b65ac
call fcn.140078900
mov rcx, qword [rbp + 0x158]
test rcx, rcx
je 0x1400b65bd
call fcn.140078900
mov rcx, qword [rbp + 0x198]
test rcx, rcx
je 0x1400b65ce
call fcn.140078900
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
mov rsi, qword [rbp + 0x110]
je 0x1400b65e6
call fcn.140078900
cmp esi, r15d
setge al
movaps xmm6, xmmword [rbp + 0x220]
movaps xmm7, xmmword [rbp + 0x230]
movaps xmm8, xmmword [rbp + 0x240]
movaps xmm9, xmmword [rbp + 0x250]
movaps xmm10, xmmword [rbp + 0x260]
movaps xmm11, xmmword [rbp + 0x270]
movaps xmm12, xmmword [rbp + 0x280]
movaps xmm13, xmmword [rbp + 0x290]
movaps xmm14, xmmword [rbp + 0x2a0]
movaps xmm15, xmmword [rbp + 0x2b0]
add rsp, 0x348
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov ecx, 5
call fcn.140170e94
mov dword [rdi + 0xfc], 0x7ffffffe
mov ecx, 6
call fcn.140170e94
int3