Function at 0x14011afd0
Capabilities:
Hash data using murmur3

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x240
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
vmovaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0xe0], rax
mov r12, rcx
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x51], 1
mov rax, qword [0x141443c60]
vmovss xmm0, dword [rax + 0x3e80]
vdivss xmm10, xmm0, dword [0x14140ea74]
vmulss xmm1, xmm10, dword [0x14140eb60]
vmulss xmm0, xmm10, dword [0x14140eb24]
or dword [rax + 0x4b58], 2
vmovss dword [rax + 0x4b7c], xmm1
vmovss dword [rax + 0x4b80], xmm0
mov dword [rax + 0x4b60], 4
mov esi, 0x18
mov r8d, esi
lea rdx, [rsp + 0x51]
lea rcx, [0x1413cc198]
call fcn.1401ef0a0
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
xor r13d, r13d
cmp byte [rcx + 0xf8], r13b
jne 0x14011dc74
lea r13, [r12 + 0x150]
mov rax, qword [r12 + 0x43b0]
mov qword [rbp - 0x68], rax
lea r14, [r12 + 0x10f8]
mov qword [rbp - 0x78], r14
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.14012a3e0
lea rbx, [rax + rax*8]
shl rbx, 4
add rbx, qword [r14 + 0x10]
mov rdi, qword [r14 + 0x18]
lea rax, [rbx + 0xc]
mov ecx, 4
cmp rbx, rdi
cmovne rcx, rax
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
movabs rcx, 0xc4ceb9fe1a85ec53
mov qword [rbp - 0x58], rcx
lea rax, [rbp - 0x38]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x38]
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x20
lea rax, [rbx + 0x30]
mov r15d, 0x28
cmp rbx, rdi
cmovne r15, rax
cmp qword [r15], 0
je 0x14011b281
lea rax, [rbx + 0x38]
mov r14d, 0x30
cmp rbx, rdi
cmovne r14, rax
mov rdx, qword [r14]
inc rdx
call fcn.140049f90
mov r12, rax
lea rcx, [rax + 1]
lea rcx, [rax + rcx*8]
lea rdx, [rbx + 0x18]
mov r8d, reloc.WS2_32.dll_recv
cmp rbx, rdi
cmovne r8, rdx
mov rdx, qword [r8]
mov qword [rbp - 0x58], rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
test rax, rax
je 0x14011dcdc
mov qword [rbp - 0x50], rax
lea rax, [rax + r12*8]
mov qword [rbp - 0x48], rax
mov rax, qword [r15]
mov qword [rbp - 0x40], rax
mov rdx, qword [r14]
mov qword [rbp - 0x38], rdx
lea rax, [rbx + 0x40]
mov ecx, 0x38
cmp rbx, rdi
cmovne rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x30], rax
lea rax, [rbx + 0x48]
mov ecx, 0x40
cmovne rcx, rax
mov eax, dword [rcx]
mov dword [rbp - 0x28], eax
lea rax, [rbx + 0x4c]
mov ecx, 0x44
cmovne rcx, rax
mov eax, dword [rcx]
mov dword [rbp - 0x24], eax
lea rax, [rbx + 0x20]
cmovne rsi, rax
mov r10, qword [rsi]
lea r8, [rdx + 1]
movabs rax, 0x28f5c28f5c28f5c
cmp r8, rax
movabs rax, 0x47ae147ae147ae15
ja 0x14011b235
lea rcx, [r8 + r8*4]
shl rcx, 4
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
jmp 0x14011b250
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 6
lea rcx, [rax + rax*4]
shl rcx, 4
mov eax, 0xff
cmp rcx, rax
cmova rcx, rax
add rcx, r8
lea r8, [r10 + 8]
lea r8, [r8 + rcx*8]
add r8, rcx
sub r8, r10
mov rdx, r10
mov rcx, r9
call sub.VCRUNTIME140.dll_memmove
mov r14, qword [rbp - 0x78]
mov r12, qword [rsp + 0x58]
mov rdi, qword [r12 + 0x43b0]
mov qword [rbp - 0x68], rdi
lea rdx, [rbp - 0x68]
lea rcx, [r12 + 0x10b8]
call fcn.1400cb460
shl rax, 5
mov rdx, qword [r12 + 0x10c8]
add rdx, rax
lea rax, [rdx + 8]
xor esi, esi
mov r15d, esi
cmp rdx, qword [r12 + 0x10d0]
cmovne r15, rax
mov qword [rsp + 0x78], r15
cmp byte [r15 + 0x14], sil
jne 0x14011b67c
cmp byte [r12 + 0x43bc], sil
je 0x14011b67c
movzx ebx, byte [r15 + 0x17]
shl ebx, 0x10
movzx eax, word [r15 + 0x15]
or ebx, eax
mov r8d, ebx
mov rdx, rdi
mov rcx, r13
call fcn.140184790
test rax, rax
je 0x14011b67c
mov edx, ebx
add rdx, qword [r12 + 0x43b0]
mov qword [rbp - 0x20], rdx
mov rcx, qword [rax]
cmp rcx, rdx
jae 0x14011b67c
movabs r13, 0xff51afd7ed558ccd
mov edi, dword [rbp - 0x28]
mov rbx, qword [rbp - 0x48]
xor r12d, r12d
mov qword [rbp - 0x68], rcx
add rax, 8
mov qword [rsp + 0x48], rax
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.14012a3e0
lea rdx, [rax + rax*8]
shl rdx, 4
add rdx, qword [r14 + 0x10]
lea rax, [rdx + 8]
mov rcx, r12
cmp rdx, qword [r14 + 0x18]
cmovne rcx, rax
test rcx, rcx
je 0x14011b660
mov eax, dword [rsp + 0x40]
add eax, dword [rcx + 4]
mov dword [rsp + 0x40], eax
mov r14, qword [rcx + 0x60]
cmp qword [rcx + 0x68], 0
je 0x14011b65c
mov r8, qword [rcx + 0x58]
mov rax, qword [r14]
mov rsi, r14
mov qword [rbp - 0x80], r14
test rax, rax
jne 0x14011b3b8
nop dword [rax]
add r14, 8
add r8, 0x40
mov rax, qword [r14]
test rax, rax
je 0x14011b3a0
mov rsi, qword [rcx + 0x60]
mov qword [rbp - 0x80], rsi
bsf rcx, rax
mov dword [rsp + 0x60], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r14, rcx
lea r15, [r8 + rcx*8]
cmp r15, rsi
je 0x14011b65c
mov r8, r15
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x60]
call fcn.1400494c0
mov rdx, qword [rsp + 0x68]
cmp rdx, rbx
jne 0x14011b5ed
mov esi, dword [r15]
mov dword [rbp - 0x70], esi
mov eax, dword [r15 + 4]
mov dword [rbp - 0x6c], eax
mov eax, esi
shr rax, 0x21
xor rax, rsi
imul rax, r13
mov r13, rax
shr r13, 0x21
xor r13, rax
nop word [rax + rax]
mov rdx, qword [rbp - 0x58]
imul rdx, r13
mov rax, rdx
shr rax, 0x21
xor rdx, rax
mov rcx, rdx
and ecx, 0x1f
mov eax, dword [rbp - 0x24]
shrx r8, rcx, rax
add r8d, edi
shr rdx, 5
and rdx, qword [rbp - 0x38]
movzx eax, byte [rbx + rdx]
cmp r8d, eax
jae 0x14011b47f
nop dword [rax]
nop dword [rax + rax]
inc rdx
add r8d, edi
movzx eax, byte [rbx + rdx]
cmp r8d, eax
jb 0x14011b470
movzx eax, byte [rbx + rdx]
cmp r8d, eax
jne 0x14011b4ac
nop dword [rax + rax]
mov rax, qword [rbp - 0x50]
cmp esi, dword [rax + rdx*8]
je 0x14011b5fd
inc rdx
add r8d, edi
movzx eax, byte [rbx + rdx]
cmp r8d, eax
je 0x14011b490
mov rcx, qword [rbp - 0x30]
cmp qword [rbp - 0x40], rcx
jb 0x14011b4e3
lea rcx, [rbp - 0x60]
call fcn.140058770
test al, al
je 0x14011dcd6
inc r12d
cmp r12d, 0x100
jge 0x14011dcd6
mov edi, dword [rbp - 0x28]
mov rbx, qword [rbp - 0x48]
jmp 0x14011b430
mov r10, rdx
lea eax, [r8 + rdi]
mov r11d, 0xff
cmp eax, r11d
mov r12d, 0
cmova rcx, r12
mov qword [rbp - 0x30], rcx
cmp byte [rbx + rdx], r12b
je 0x14011b596
nop dword [rax + rax]
mov r9, rdx
inc rdx
cmp byte [rbx + rdx], r12b
jne 0x14011b510
cmp rdx, r10
je 0x14011b596
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx + rdx*8 - 8]
mov qword [rcx + rdx*8], rax
cmp r9, r10
je 0x14011b555
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx + r9*8 - 8]
mov qword [rcx + r9*8], rax
dec r9
cmp r9, r10
jne 0x14011b540
mov r9, rdx
mov rbx, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x80]
movzx eax, byte [rbp - 0x28]
add al, byte [rbx + r9 - 1]
mov byte [rbx + r9], al
mov rbx, qword [rbp - 0x48]
movzx eax, byte [rbx + r9]
add eax, dword [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
cmp eax, r11d
cmova rcx, r12
mov qword [rbp - 0x30], rcx
dec r9
cmp r9, r10
jne 0x14011b560
mov qword [rbp - 0x80], rsi
jmp 0x14011b59a
mov rsi, qword [rbp - 0x80]
mov byte [rbx + r10], r8b
inc qword [rbp - 0x40]
mov ecx, r12d
cmp rdx, r10
setne cl
add ecx, 2
je 0x14011dcd6
sub ecx, 1
je 0x14011b5cf
sub ecx, 1
je 0x14011b5d8
cmp ecx, 1
jne 0x14011b5cf
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x50]
mov qword [rax + r10*8], rcx
mov edi, dword [rbp - 0x28]
mov rbx, qword [rbp - 0x48]
jmp 0x14011b604
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x70]
mov qword [rcx + r10*8], rax
mov edi, dword [rbp - 0x28]
mov rbx, qword [rbp - 0x48]
jmp 0x14011b604
mov ecx, dword [r15 + 4]
add dword [rdx + 4], ecx
mov edi, dword [rbp - 0x28]
mov rbx, qword [rbp - 0x48]
jmp 0x14011b60e
mov rsi, qword [rbp - 0x80]
xor r12d, r12d
movabs r13, 0xff51afd7ed558ccd
inc r14
add r15, 8
mov rax, qword [r14]
test rax, rax
jne 0x14011b630
nop dword [rax]
add r14, 8
add r15, 0x40
mov rax, qword [r14]
test rax, rax
je 0x14011b620
bsf rcx, rax
mov dword [rsp + 0x60], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r14, rcx
lea r15, [r15 + rcx*8]
cmp r15, rsi
jne 0x14011b3e4
mov r14, qword [rbp - 0x78]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
cmp rcx, qword [rbp - 0x20]
jb 0x14011b333
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x58]
xor r13d, r13d
mov dword [rsp + 0x44], r13d
movzx eax, word [r15]
mov word [rsp + 0x44], ax
movzx eax, byte [r15 + 2]
mov byte [rsp + 0x46], al
movzx edx, word [r12 + 0xdec]
shl rdx, 0x20
mov eax, dword [r12 + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x44]
dec eax
mov rsi, qword [rdx + rax*8]
vxorps xmm9, xmm9, xmm9
cmp byte [r12 + 0x27bf], r13b
je 0x14011b6eb
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
vxorps xmm3, xmm3, xmm3
lea r8, [rsp + 0x48]
mov rdx, rsi
mov cl, 2
call fcn.1400773f0
mov rbx, rax
jmp 0x14011b6ee
mov rbx, r13
mov rcx, qword [r12 + 0x3100]
mov qword [rsp + 0x48], rcx
mov rdi, qword [0x141443c60]
mov r14, rcx
test rcx, rcx
jne 0x14011b726
mov rcx, qword [rdi + 0x48]
test rcx, rcx
jne 0x14011b71e
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
mov r14, rcx
call fcn.1401f2850
lea rcx, [rdi + 0x4c20]
lea rdx, [rsp + 0x48]
call fcn.1401de7f0
mov rax, qword [rdi + 0x4150]
mov rdx, qword [r14 + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
lea rcx, [0x1413c6458]
call fcn.140011540
vmovss xmm7, dword [0x14140ebbc]
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rcx, rsi
test rbx, rbx
cmovne rcx, rbx
mov r14d, 1
mov r8d, r14d
xor edx, edx
call fcn.140215e20
test rbx, rbx
je 0x14011b810
call fcn.1401f2900
mov rdx, rbx
mov rcx, rsi
call fcn.140077810
mov rcx, qword [r12 + 0x3100]
mov qword [rsp + 0x48], rcx
mov rbx, qword [0x141443c60]
mov rdi, rcx
test rcx, rcx
jne 0x14011b7df
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x14011b7d7
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
mov rdi, rcx
call fcn.1401f2850
lea rcx, [rbx + 0x4c20]
lea rdx, [rsp + 0x48]
call fcn.1401de7f0
mov rax, qword [rbx + 0x4150]
mov rdx, qword [rdi + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
cmp byte [r15 + 0x14], r13b
je 0x14011b841
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
lea rcx, [0x1413cc1b8]
jmp 0x14011b874
cmp byte [r12 + 0x43bc], r13b
jne 0x14011b8bb
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
lea rcx, [0x1413cc1c8]
mov r8d, r14d
xor edx, edx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r14d
jl 0x14011b8bb
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.1401f2900
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r14d
xor edx, edx
lea rcx, [0x1413c8550]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r14d
jl 0x14011b923
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, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov dword [rsp + 0x44], r13d
movzx eax, word [r15 + 0xd]
mov word [rsp + 0x44], ax
movzx eax, byte [r15 + 0xf]
mov byte [rsp + 0x46], al
movzx edx, word [r12 + 0xdec]
shl rdx, 0x20
mov eax, dword [r12 + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x44]
dec eax
mov rdi, qword [rdx + rax*8]
mov r9d, dword [r15 + 0x10]
lea rsi, [0x14145c6e0]
test r9d, r9d
jne 0x14011b97f
mov rbx, rdi
jmp 0x14011b9b8
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
add rbx, rsi
inc eax
and eax, 0x80000007
jge 0x14011b9a0
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r8, rdi
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call fcn.140215e20
xor r8d, r8d
xor edx, edx
mov ecx, r14d
call fcn.1401f4650
test al, al
je 0x14011b9f8
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011b9f8
mov r9, qword [r12 + 0x43b0]
mov r8d, dword [r15 + 0x10]
mov rdx, rdi
mov rcx, r12
call fcn.14007b220
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r14d
xor edx, edx
lea rcx, [0x1413cc140]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r14d
jl 0x14011ba5b
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, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov dword [rsp + 0x44], r13d
movzx eax, word [r15 + 3]
mov word [rsp + 0x44], ax
movzx eax, byte [r15 + 5]
mov byte [rsp + 0x46], al
movzx edx, word [r12 + 0xdec]
shl rdx, 0x20
mov eax, dword [r12 + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x44]
dec eax
mov rdi, qword [rdx + rax*8]
mov r9d, dword [r15 + 6]
test r9d, r9d
jne 0x14011bab0
mov rbx, rdi
jmp 0x14011bae9
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
add rbx, rsi
inc eax
and eax, 0x80000007
jge 0x14011bad1
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r8, rdi
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call fcn.140215e20
xor r8d, r8d
xor edx, edx
mov ecx, r14d
call fcn.1401f4650
test al, al
je 0x14011bb29
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011bb29
mov r9, qword [r12 + 0x43b0]
mov r8d, dword [r15 + 6]
mov rdx, rdi
mov rcx, r12
call fcn.14007b220
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], r14b
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], r13b
jne 0x14011bb75
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov dword [rsp + 0x44], r13d
movzx eax, word [r15 + 0xa]
mov word [rsp + 0x44], ax
movzx eax, byte [r15 + 0xc]
mov byte [rsp + 0x46], al
movzx ebx, word [r12 + 0xdec]
shl rbx, 0x20
mov eax, dword [r12 + 0xde8]
or rbx, rax
mov eax, dword [rsp + 0x44]
dec eax
mov rbx, qword [rbx + rax*8]
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r14d
xor edx, edx
mov rcx, rbx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r14d
jl 0x14011bc22
lea rdx, [rax + rax*4]
mov rcx, qword [r8 + 0x4c08]
movsxd rax, dword [rcx + rdx*4 - 0x14]
add rax, rax
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
mov r8, qword [0x141443c60]
mov rdx, qword [r8 + 0x4150]
vmovss xmm8, dword [0x14140e870]
cmp byte [rdx + 0xf8], r13b
jne 0x14011bc66
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], r13
je 0x14011bc5c
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm8
call fcn.14021a1b0
vmovss xmm0, dword [0x14140e940]
vmovss dword [rsp + 0x48], xmm0
vmovss dword [rsp + 0x4c], xmm0
lea rdx, [rsp + 0x48]
mov ecx, 0xb
call fcn.1401e3960
cmp dword [r12 + 0x43c0], r13d
sete dl
lea rcx, [0x1413ca3a0]
call fcn.1402193c0
test al, al
je 0x14011bcac
mov dword [r12 + 0x43c0], r13d
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], r14b
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], r13b
jne 0x14011bcf8
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
cmp dword [r12 + 0x43c0], r14d
sete dl
lea rcx, [0x1413ca388]
call fcn.1402193c0
test al, al
je 0x14011bd28
mov dword [r12 + 0x43c0], r14d
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], r14b
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], r13b
jne 0x14011bd74
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
cmp dword [r12 + 0x43c0], 2
sete dl
lea rcx, [0x1413ca370]
call fcn.1402193c0
test al, al
je 0x14011bda9
mov dword [r12 + 0x43c0], 2
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], r14b
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], r13b
jne 0x14011bdf5
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
vmovaps xmm1, xmm8
mov ecx, 2
call fcn.14021a1b0
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], r14b
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], r13b
jne 0x14011be5d
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x48]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
lea rdx, [r12 + 0x2fb4]
lea rcx, [0x1413caa20]
call fcn.140218f00
mov ecx, r14d
call fcn.1401e39f0
mov rax, qword [0x141443c60]
mov r8, qword [rax + 0x4150]
cmp byte [r8 + 0xf8], r13b
jne 0x14011bec7
mov edx, dword [r8 + 0x1f4]
mov eax, edx
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [r8 + 0x1e8], r13
je 0x14011bebd
neg edx
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm8
call fcn.14021a1b0
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [0x1413cc150]
call fcn.1401eb7a0
mov edx, dword [r12 + 0x43c0]
test edx, edx
je 0x14011c0d0
sub edx, r14d
je 0x14011bfee
cmp edx, r14d
jne 0x14011dc4f
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
lea rdx, [rsp + 0x48]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [r12 + 0x43c5]
lea rcx, [0x1413ca478]
call fcn.140218f00
mov ecx, r14d
call fcn.1401e39f0
movzx r9d, byte [r12 + 0x43c5]
lea r8, [rbp - 0x60]
lea rdx, [rbp]
mov rcx, r12
call fcn.1400ebd80
nop
cmp qword [rbp + 0x20], 0
je 0x14011bf7c
mov dword [rsp + 0x78], r13d
lea r8, [rsp + 0x78]
lea rdx, [rbp]
mov rcx, r12
call fcn.1400edc20
jmp 0x14011bfdf
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r14d
xor edx, edx
lea rcx, [0x1413ca460]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14011bfdf
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]
lea rcx, [rbp]
call fcn.14009d280
nop
jmp 0x14011dc4f
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
lea rdx, [rsp + 0x48]
mov ecx, 0xb
call fcn.1401e3960
lea rdx, [r12 + 0x43c4]
lea rcx, [0x1413ca478]
call fcn.140218f00
mov ecx, r14d
call fcn.1401e39f0
movzx r9d, byte [r12 + 0x43c4]
lea r8, [rbp - 0x60]
lea rdx, [rbp]
mov rcx, r12
call fcn.1400ea580
nop
cmp qword [rbp + 0x20], 0
je 0x14011c05e
mov dword [rsp + 0x78], r13d
lea r8, [rsp + 0x78]
lea rdx, [rbp]
mov rcx, r12
call fcn.1400edc20
jmp 0x14011c0c1
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r14d
xor edx, edx
lea rcx, [0x1413ca460]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14011c0c1
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]
lea rcx, [rbp]
call fcn.14009d280
nop
jmp 0x14011dc4f
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, r14d
xor edx, edx
lea rcx, [0x1413cc160]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, r14d
jl 0x14011c133
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, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
mov r8d, 0x8000
lea rdx, [rsp + 0x48]
lea rcx, [0x1413c5b70]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14011c19c
mov eax, dword [r12 + 0x43b8]
sub eax, r14d
cmovs eax, r13d
mov dword [r12 + 0x43b8], eax
vmovaps xmm1, xmm7
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
movsxd rdx, dword [0x1414476d4]
mov r13, rdx
shl r13, 6
lea rax, [0x14145c4e0]
add r13, rax
lea r15d, [rdx + 1]
and r15d, 0x80000007
jge 0x14011c1d8
dec r15d
or r15d, 0xfffffff8
inc r15d
lea rdi, [r13 + 0x40]
lea r9, [rbp + 0xe0]
mov r8, qword [rbp - 0x40]
movabs r10, 0xcccccccccccccccd
nop dword [rax]
nop word [rax + rax]
dec r9
mov rax, r10
mul r8
shr rdx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8, rdx
test rdx, rdx
jne 0x14011c200
lea rbx, [rbp + 0xe0]
sub rbx, r9
cmp rbx, 0x40
jg 0x14011c24c
mov r8, rbx
mov rdx, r9
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [rbx + r13]
mov byte [rdi], 0
mov r14, r13
cmp byte [r13], 0x2d
jne 0x14011c25d
lea r14, [r13 + 1]
mov rax, rdi
sub rax, r14
cmp rax, 3
jle 0x14011c298
mov esi, 4
nop
sub rdi, 3
mov rbx, rdi
sub rbx, r14
movsxd r8, esi
lea rcx, [rbx + 1]
add rcx, r14
mov rdx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi], 0x2c
add esi, 4
cmp rbx, 3
jg 0x14011c270
mov r9d, dword [r12 + 0x43b8]
inc r9d
movsxd rsi, r15d
shl rsi, 6
lea rax, [0x14145c4e0]
add rsi, rax
lea eax, [r15 + 1]
and eax, 0x80000007
jge 0x14011c2c6
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d4], eax
lea r8, [rsi + 0x40]
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.14002de40
mov rbx, qword [rax]
mov byte [rbx], 0
lea r14, [rsi + 1]
cmp byte [rsi], 0x2d
cmovne r14, rsi
mov rax, rbx
sub rax, r14
cmp rax, 3
jle 0x14011c325
mov edi, 4
nop
sub rbx, 3
movsxd r8, edi
lea rcx, [rbx + 1]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx], 0x2c
add edi, 4
mov rax, rbx
sub rax, r14
cmp rax, 3
jg 0x14011c300
mov r8, r13
mov rdx, rsi
lea rcx, [0x1413c95f8]
call fcn.1402165c0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14011c3cd
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011c3cd
mov rsi, qword [0x141443c60]
mov rbx, qword [rsi + 0x4150]
movsxd r8, dword [rbx + 0x130]
mov rax, qword [rbx + 0x138]
mov r8d, dword [rax + r8*4 - 4]
xor edx, edx
lea rcx, [0x1413cc178]
call fcn.1401e1830
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14011c3a5
lea r8, [0x1413cc178]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
test byte [rsi + 0x627c], 4
je 0x14011c3c4
mov r8d, edi
lea rdx, [0x1413cc178]
lea rcx, [0x1413cf570]
call fcn.14020a550
xor edx, edx
mov ecx, edi
call fcn.1401f8130
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
vmovss xmm6, dword [rbx + 0x3a38]
xor esi, esi
mov dword [rbx + 0x3a38], esi
vmovss dword [rsp + 0x48], xmm9
vmovss dword [rsp + 0x4c], xmm9
mov r8d, 0x8000
lea rdx, [rsp + 0x48]
lea rcx, [0x1413c5bf8]
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14011c43d
mov ecx, dword [rbp - 0x40]
dec ecx
mov eax, dword [r12 + 0x43b8]
inc eax
cmp ecx, eax
cmovl eax, ecx
mov dword [r12 + 0x43b8], eax
mov rbx, qword [0x141443c60]
mov eax, dword [rbx + 0x4c70]
cmp dword [rbx + 0x4c60], eax
jg 0x14011c5a2
mov dword [rbx + 0x4b58], esi
mov ebx, 1
xor r13d, r13d
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x68], r13
mov word [rsp + 0x70], r13w
mov byte [rsp + 0x72], r13b
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x14011c695
lea rcx, [rax - 1]
mov rax, rcx
shr rax, 1
or rcx, rax
mov rax, rcx
shr rax, 2
or rcx, rax
mov rax, rcx
shr rax, 4
or rcx, rax
mov rax, rcx
shr rax, 8
or rcx, rax
mov rax, rcx
shr rax, 0x10
or rax, rcx
popcnt rdx, rax
shlx ecx, ebx, edx
shl rcx, 4
lock add qword [0x141443c50], rcx
and dl, 0x7f
movzx eax, dl
movzx r13d, al
mov qword [rsp + 0x48], r13
mov byte [rsp + 0x72], al
shlx ecx, ebx, eax
shl rcx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
mov qword [rbp - 0x70], rax
mov esi, dword [rsp + 0x6e]
test esi, esi
je 0x14011c51b
mov r8d, esi
shl r8, 4
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, r15
shr r14, 0x20
mov dword [rsp + 0x68], r15d
mov word [rsp + 0x6c], r14w
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x20], r14
test rax, rax
je 0x14011c6ac
mov r8, qword [rbp - 0x50]
mov r9, qword [rbp - 0x48]
mov rbx, r9
mov rax, qword [r9]
test rax, rax
jne 0x14011c570
nop dword [rax]
nop word [rax + rax]
add rbx, 8
add r8, 0x40
mov rax, qword [rbx]
test rax, rax
je 0x14011c560
bsf rcx, rax
mov dword [rsp + 0x60], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
mov qword [rbp - 0x10], rbx
lea rdi, [r8 + rcx*8]
mov qword [rbp - 0x18], rdi
xor edx, edx
jmp 0x14011c6bf
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, [0x1413cc178]
call fcn.1401e1830
mov edi, eax
mov rcx, qword [rbx]
cmp dword [rcx + 0x419c], eax
jne 0x14011c5ea
lea r8, [0x1413cc178]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
mov edx, 0x141
mov ecx, edi
call fcn.1401f86a0
test al, al
je 0x14011c45c
mov eax, dword [r12 + 0x43b8]
inc eax
mov dword [rsp + 0x44], eax
mov rax, qword [0x141443c60]
or dword [rax + 0x4ae0], 1
vmulss xmm0, xmm10, dword [0x14140eae0]
vmovss dword [rax + 0x4af0], xmm0
mov dword [rsp + 0x78], 0x64
mov ebx, 1
mov dword [rbp - 0x80], ebx
mov dword [rsp + 0x30], 0x20
lea rax, [0x1413a1d4c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x80]
lea r8, [rsp + 0x44]
lea rcx, [0x1413cc1e0]
call fcn.14021da50
test al, al
je 0x14011c68b
mov ecx, dword [rsp + 0x44]
cmp ecx, ebx
cmovl ecx, ebx
cmp dword [rbp - 0x40], ecx
cmovl ecx, dword [rbp - 0x40]
dec ecx
mov dword [r12 + 0x43b8], ecx
call fcn.1401f8990
jmp 0x14011c461
mov esi, dword [rsp + 0x6e]
movzx r14d, word [rsp + 0x6c]
mov qword [rbp - 0x20], r14
mov r15d, dword [rsp + 0x68]
mov qword [rbp - 0x70], r15
mov r9, qword [rbp - 0x48]
mov rdi, r9
mov qword [rbp - 0x18], r9
xor edx, edx
mov ebx, edx
mov qword [rbp - 0x10], rdx
cmp rdi, r9
je 0x14011c7ac
mov r12d, 1
nop
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
jne 0x14011c6e4
mov eax, edx
jmp 0x14011c6f0
movzx eax, r13b
and eax, 0x7f
shlx eax, r12d, eax
cmp esi, eax
jne 0x14011c713
lea rcx, [rsp + 0x68]
call fcn.140049e90
movzx r13d, byte [rsp + 0x72]
mov esi, dword [rsp + 0x6e]
movzx r14d, word [rsp + 0x6c]
mov r15d, dword [rsp + 0x68]
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
mov eax, esi
add rax, rax
vmovups xmm0, xmmword [rbp - 0x18]
vmovups xmmword [rcx + rax*8], xmm0
inc esi
mov dword [rsp + 0x6e], esi
inc rbx
add rdi, 8
mov rax, qword [rbx]
test rax, rax
jne 0x14011c760
nop word [rax + rax]
add rbx, 8
add rdi, 0x40
mov rax, qword [rbx]
test rax, rax
je 0x14011c750
bsf rcx, rax
mov dword [rsp + 0x60], ecx
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rbx, rcx
mov qword [rbp - 0x10], rbx
lea rdi, [rdi + rcx*8]
mov qword [rbp - 0x18], rdi
cmp rdi, qword [rbp - 0x48]
mov edx, 0
jne 0x14011c6d0
mov qword [rsp + 0x48], r13
mov qword [rbp - 0x70], r15
mov qword [rbp - 0x20], r14
mov r12, qword [rsp + 0x58]
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
mov eax, esi
shl rax, 4
lea rdx, [rax + rcx]
xor esi, esi
cmp rcx, rdx
je 0x14011c7ef
mov r9d, esi
sar rax, 5
test rax, rax
je 0x14011c7df
inc r9d
sar rax, 1
jne 0x14011c7d7
mov byte [rsp + 0x20], 1
movzx r8d, byte [rsp + 0x52]
call fcn.140121c60
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
movsxd rdx, dword [r12 + 0x43b8]
add rdx, rdx
movzx ecx, r14w
mov eax, r15d
shl rcx, 0x20
or rcx, rax
cmp byte [r12 + 0x2fb4], 0
je 0x14011c838
mov rax, qword [rcx + rdx*8]
mov ecx, dword [rax + 4]
imul rcx, qword [r12 + 0x270]
call fcn.1401c9cc0
jmp 0x14011c844
mov rcx, qword [rcx + rdx*8]
mov ecx, dword [rcx + 4]
call fcn.14004a890
mov ebx, 1
mov r8d, ebx
xor edx, edx
mov rcx, rax
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
movzx edx, r14w
shl rdx, 0x20
mov eax, r15d
or rdx, rax
movsxd rax, dword [r12 + 0x43b8]
add rax, rax
mov rax, qword [rdx + rax*8]
mov ecx, dword [rax + 4]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, rcx
vmulsd xmm1, xmm0, qword [0x14140e9f0]
mov eax, dword [rsp + 0x40]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, rax
vdivsd xmm3, xmm1, xmm0
mov eax, 0x28
mov word [rbp + 0x60], ax
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x61]
lea rcx, [rbp - 0x18]
call fcn.140063400
mov rcx, qword [rax]
movzx eax, word [0x1413c72f8]
mov word [rcx], ax
movzx eax, byte [0x1413c72fa]
mov byte [rcx + 2], al
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x60]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, ebx
jl 0x14011c939
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, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], bl
mov rax, qword [rdx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x14011c985
vmovss dword [rsp + 0x58], xmm9
vmovss dword [rsp + 0x5c], xmm9
vmovaps xmm1, xmm7
lea rcx, [rsp + 0x58]
call fcn.1401f6b70
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
vmovss dword [rsp + 0x58], xmm9
vmovss dword [rsp + 0x5c], xmm9
lea rdx, [rsp + 0x58]
mov ecx, 0xb
call fcn.1401e3960
mov r8d, ebx
xor edx, edx
lea rcx, [0x1413c8f68]
call fcn.140215e20
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
cmp dword [r12 + 0x2fc4], 0
sete dl
lea rcx, [0x1413c8fd0]
call fcn.1402193c0
test al, al
je 0x14011c9f1
mov dword [r12 + 0x2fc4], esi
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
cmp dword [r12 + 0x2fc4], 3
sete dl
lea rcx, [0x1413c8fc0]
call fcn.1402193c0
test al, al
je 0x14011ca27
mov dword [r12 + 0x2fc4], 3
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
cmp dword [r12 + 0x2fc4], ebx
sete dl
lea rcx, [0x1413c8fb0]
call fcn.1402193c0
test al, al
je 0x14011ca58
mov dword [r12 + 0x2fc4], ebx
vmovaps xmm1, xmm7
vmovaps xmm0, xmm9
call fcn.1401f6d00
cmp dword [r12 + 0x2fc4], 2
sete dl
lea rcx, [0x1413c8fa0]
call fcn.1402193c0
test al, al
je 0x14011ca8e
mov dword [r12 + 0x2fc4], 2
mov ecx, ebx
call fcn.1401e39f0
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
movsxd rax, dword [r12 + 0x43b8]
add rax, rax
mov rax, qword [rcx + rax*8]
mov ecx, dword [rax]
lea rdx, [rcx + rcx*2]
movzx ecx, word [r12 + 0x11e4]
shl rcx, 0x20
mov eax, dword [r12 + 0x11e0]
or rcx, rax
movzx esi, word [rcx + rdx*2 + 4]
shl rsi, 0x20
mov eax, dword [rcx + rdx*2]
or rsi, rax
mov rax, qword [0x141443c60]
mov r8, qword [rax + 0x4150]
cmp byte [r8 + 0xf8], 0
jne 0x14011cb22
mov edx, dword [r8 + 0x1f4]
mov eax, edx
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [r8 + 0x1e8], 0
je 0x14011cb18
neg edx
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm8
call fcn.14021a1b0
vmovss dword [rsp + 0x58], xmm9
vmovss dword [rsp + 0x5c], xmm9
lea rcx, [0x1413c85f0]
call fcn.1401f39a0
vmovss dword [rsp + 0x28], xmm9
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rdx
mov r9d, 0x2000787
mov r8d, 4
mov edx, eax
lea rcx, [0x1413c85f0]
call fcn.14020c3b0
test al, al
je 0x14011dbfd
call fcn.14020f940
mov rcx, qword [0x141443c60]
mov rdi, qword [rcx + 0x4fe8]
movsx rdx, word [rdi + 0x206]
mov r13d, 0xffffffff
cmp edx, dword [rdi + 0x6c]
jge 0x14011cc50
imul rbx, rdx, 0x70
add rbx, qword [rdi + 0x18]
inc dx
mov word [rdi + 0x206], dx
mov r8d, 0xb0
mov rdx, rbx
mov rcx, rdi
call fcn.14020d650
xor r8d, r8d
mov dword [rbx + 0x30], r8d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r8d
cmp byte [rdi + 0x238], r8b
je 0x14011cc1a
vcomiss xmm9, dword [rbx + 0x10]
jbe 0x14011cbe8
vcomiss xmm9, dword [rbx + 0x18]
jbe 0x14011cbe8
test al, 8
je 0x14011cbe8
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x14011cbf7
test byte [rdi + 0x60], 4
jne 0x14011cbf7
mov word [rbx + 0x63], r8w
test al, 4
je 0x14011cc1a
test byte [rdi + 0x60], 8
jne 0x14011cc1a
mov word [rbx + 0x5a], r8w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r13w
lea rcx, [rdi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r8w
mov word [rbx + 0x50], dx
lea r8, [0x1413c8662]
lea rdx, [0x1413c865c]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rdi, qword [rcx + 0x4fe8]
movsx rdx, word [rdi + 0x206]
cmp edx, dword [rdi + 0x6c]
jge 0x14011cd1f
imul rbx, rdx, 0x70
add rbx, qword [rdi + 0x18]
inc dx
mov word [rdi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14020d650
xor r8d, r8d
mov dword [rbx + 0x30], r8d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r8d
cmp byte [rdi + 0x238], r8b
je 0x14011cce9
vcomiss xmm9, dword [rbx + 0x10]
jbe 0x14011ccb7
vcomiss xmm9, dword [rbx + 0x18]
jbe 0x14011ccb7
test al, 8
je 0x14011ccb7
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x14011ccc6
test byte [rdi + 0x60], 4
jne 0x14011ccc6
mov word [rbx + 0x63], r8w
test al, 4
je 0x14011cce9
test byte [rdi + 0x60], 8
jne 0x14011cce9
mov word [rbx + 0x5a], r8w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r13w
lea rcx, [rdi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r8w
mov word [rbx + 0x50], dx
lea r8, [0x1413c8659]
lea rdx, [0x1413c8650]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rdi, qword [rcx + 0x4fe8]
movsx rdx, word [rdi + 0x206]
cmp edx, dword [rdi + 0x6c]
jge 0x14011cdee
imul rbx, rdx, 0x70
add rbx, qword [rdi + 0x18]
inc dx
mov word [rdi + 0x206], dx
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14020d650
xor r8d, r8d
mov dword [rbx + 0x30], r8d
mov eax, dword [rbx]
mov dword [rbx + 0x1c], r8d
cmp byte [rdi + 0x238], r8b
je 0x14011cdb8
vcomiss xmm9, dword [rbx + 0x10]
jbe 0x14011cd86
vcomiss xmm9, dword [rbx + 0x18]
jbe 0x14011cd86
test al, 8
je 0x14011cd86
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x14011cd95
test byte [rdi + 0x60], 4
jne 0x14011cd95
mov word [rbx + 0x63], r8w
test al, 4
je 0x14011cdb8
test byte [rdi + 0x60], 8
jne 0x14011cdb8
mov word [rbx + 0x5a], r8w
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r13w
lea rcx, [rdi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
cmove dx, r8w
mov word [rbx + 0x50], dx
lea r8, [0x1413c8649]
lea rdx, [0x1413c8640]
call fcn.1401e2840
mov rcx, qword [0x141443c60]
mov rdi, qword [rcx + 0x4fe8]
movsx rcx, word [rdi + 0x206]
cmp ecx, dword [rdi + 0x6c]
jge 0x14011ceb6
imul rbx, rcx, 0x70
add rbx, qword [rdi + 0x18]
inc cx
mov word [rdi + 0x206], cx
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14020d650
xor ecx, ecx
mov dword [rbx + 0x30], ecx
mov eax, dword [rbx]
mov dword [rbx + 0x1c], ecx
cmp byte [rdi + 0x238], cl
je 0x14011ce81
vcomiss xmm9, dword [rbx + 0x10]
jbe 0x14011ce51
vcomiss xmm9, dword [rbx + 0x18]
jbe 0x14011ce51
test al, 8
je 0x14011ce51
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x14011ce5f
test byte [rdi + 0x60], 4
jne 0x14011ce5f
mov word [rbx + 0x63], cx
test al, 4
je 0x14011ce81
test byte [rdi + 0x60], 8
jne 0x14011ce81
mov word [rbx + 0x5a], cx
bt eax, 0xf
setb cl
inc cl
movzx eax, byte [rbx + 0x6d]
and al, 0xfc
or cl, al
mov byte [rbx + 0x6d], cl
mov word [rbx + 0x50], r13w
lea rcx, [rdi + 0x190]
mov eax, dword [rcx]
lea edx, [rax - 1]
test eax, eax
mov edi, 0
cmove dx, di
mov word [rbx + 0x50], dx
lea r8, [0x1413c863a]
lea rdx, [0x1413c8634]
call fcn.1401e2840
jmp 0x14011ceb8
xor edi, edi
call fcn.1402122f0
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x44], edi
movzx ecx, word [rsi + 0xa]
shl rcx, 0x20
mov eax, dword [rsi + 6]
or rcx, rax
mov qword [rbp - 0x78], rcx
movzx eax, word [rsi]
lea rax, [rcx + rax*8]
mov qword [rbp - 0x18], rax
cmp rcx, rax
je 0x14011dbf3
vmovss xmm7, dword [0x14140eac4]
vmovss xmm8, dword [0x14140ea60]
nop dword [rax + rax]
mov rdx, rcx
cmp qword [rcx], 0
jge 0x14011cf2f
lea rcx, [r12 + 0x11f0]
call fcn.1401b54d0
shl rax, 4
mov rdx, qword [r12 + 0x1200]
add rdx, rax
cmp rdx, qword [r12 + 0x1208]
jmp 0x14011cf53
lea rcx, [r12 + 0x1038]
call fcn.1401b54d0
shl rax, 4
mov rdx, qword [r12 + 0x1048]
add rdx, rax
cmp rdx, qword [r12 + 0x1050]
mov r13, rdi
je 0x14011cf5c
mov r13, qword [rdx + 8]
movzx eax, byte [r13 + 6]
mov byte [rsp + 0x52], al
xor dil, dil
mov byte [rsp + 0x50], dil
test al, al
je 0x14011dbd0
dec eax
mov dword [rbp - 0x80], eax
xor esi, esi
mov dword [rsp + 0x60], esi
movzx r14d, word [r13 + 4]
shl r14, 0x20
mov eax, dword [r13]
or r14, rax
movzx eax, dil
lea r15, [rax + rax*8]
mov dword [rsp + 0x40], esi
movzx eax, word [r14 + r15*2]
mov word [rsp + 0x40], ax
movzx eax, byte [r14 + r15*2 + 2]
mov byte [rsp + 0x42], al
movzx edx, word [r12 + 0xdec]
shl rdx, 0x20
mov eax, dword [r12 + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov rsi, qword [rdx + rax*8]
inc dword [rsp + 0x44]
vmovaps xmm1, xmm9
xor ecx, ecx
call fcn.14020fa70
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x14011d033
cmp byte [rbx + 0x237], 0
je 0x14011d01d
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x14011d01d
cmp ecx, 0xffffffff
je 0x14011d016
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x14011d02b
vmovaps xmm1, xmm9
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
movzx eax, dil
cmp eax, dword [rbp - 0x80]
jne 0x14011d05e
mov eax, dword [rsp + 0x78]
mov edx, eax
inc eax
mov dword [rsp + 0x78], eax
lea rcx, [0x1413c635c]
call fcn.1402165c0
mov edi, 1
jmp 0x14011d133
mov rcx, qword [r12 + 0x30f8]
mov qword [rsp + 0x58], rcx
mov rbx, qword [0x141443c60]
mov rdi, rcx
test rcx, rcx
jne 0x14011d096
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x14011d08e
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
mov rdi, rcx
call fcn.1401f2850
lea rcx, [rbx + 0x4c20]
lea rdx, [rsp + 0x58]
call fcn.1401de7f0
mov rax, qword [rbx + 0x4150]
mov rdx, qword [rdi + 0x40]
mov rdx, qword [rdx + 8]
mov rcx, qword [rax + 0x2e0]
call fcn.1401d6670
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov edi, 1
mov r8d, edi
xor edx, edx
lea rcx, [0x1413c3ff0]
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, edi
jl 0x14011d12e
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.1401f2900
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x14011d184
cmp byte [rbx + 0x237], 0
je 0x14011d16e
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x14011d16e
cmp ecx, 0xffffffff
je 0x14011d167
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x14011d17c
vmovaps xmm1, xmm9
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
vmovaps xmm0, xmm9
call fcn.1401f2ac0
cmp byte [rsi], 0x5b
jne 0x14011d1ff
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov r8d, edi
xor edx, edx
mov rcx, rsi
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
mov rdi, qword [rbp - 0x78]
cmp eax, 1
jl 0x14011d2c7
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]
jmp 0x14011d2c7
mov rdi, qword [rbp - 0x78]
movabs rax, 0x2000000000000000
test qword [rdi], rax
je 0x14011d26f
mov edx, 0xff8888ff
call fcn.1401e3740
xor edx, edx
mov r8d, 1
mov rcx, rsi
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14011d2c7
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]
jmp 0x14011d2c7
cmp byte [r12 + 0x27bf], 0
jne 0x14011d28c
xor edx, edx
mov r8d, 1
mov rcx, rsi
call fcn.140215e20
jmp 0x14011d2c7
vmovss dword [rbp - 0x68], xmm9
vmovss dword [rbp - 0x64], xmm9
vmovaps xmm3, xmm9
lea r8, [rbp - 0x68]
mov rdx, rsi
mov cl, 2
call fcn.1400773f0
mov rbx, rax
xor edx, edx
mov r8d, 1
mov rcx, rax
call fcn.140215e20
mov rdx, rbx
mov rcx, rsi
call fcn.140077810
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov r8, qword [rcx + 0x4150]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
mov dword [r8 + 0x204], ecx
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14011d340
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011d340
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x14011d340
mov rdx, rsi
mov rcx, qword [rcx + 0xc0]
call rax
mov rax, qword [0x141443c60]
mov rbx, qword [rax + 0x4fe8]
test rbx, rbx
je 0x14011d391
cmp byte [rbx + 0x237], 0
je 0x14011d37b
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x14011d37b
cmp ecx, 0xffffffff
je 0x14011d374
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x14011d389
vmovaps xmm1, xmm9
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
vmovaps xmm0, xmm9
call fcn.1401f2ac0
vmovaps xmm6, xmm9
cmp byte [r12 + 0x302c], 0
je 0x14011d431
mov eax, dword [rsp + 0x44]
cmp eax, dword [r12 + 0x3034]
jne 0x14011d431
vmovss xmm6, dword [r12 + 0x3030]
vmulss xmm0, xmm6, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
vmulss xmm1, xmm0, xmm8
vmulss xmm6, xmm1, xmm6
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vucomiss xmm6, xmm9
jp 0x14011d408
jne 0x14011d408
vmovss xmm0, dword [rcx + 0x3a64]
jmp 0x14011d40c
vmovaps xmm0, xmm6
vaddss xmm0, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm0
vaddss xmm0, xmm0, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
xor esi, esi
mov dword [rsp + 0x40], esi
movzx eax, word [r14 + r15*2 + 3]
mov word [rsp + 0x40], ax
movzx eax, byte [r14 + r15*2 + 5]
mov byte [rsp + 0x42], al
movzx ebx, word [r12 + 0xdec]
shl rbx, 0x20
mov eax, dword [r12 + 0xde8]
or rbx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov rsi, qword [rbx + rax*8]
mov ecx, dword [r12 + 0x2fc4]
test ecx, ecx
je 0x14011d78f
sub ecx, 1
je 0x14011d68b
sub ecx, 1
je 0x14011d622
lea rdi, [r12 + 0x10b8]
cmp ecx, 1
jne 0x14011d882
mov rax, qword [r14 + r15*2 + 0xa]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400cb460
shl rax, 5
mov rdx, qword [r12 + 0x10c8]
add rdx, rax
lea rax, [rdx + 8]
xor ecx, ecx
mov r8d, ecx
cmp rdx, qword [rdi + 0x18]
cmovne r8, rax
test r8, r8
je 0x14011d5f4
mov dword [rsp + 0x40], ecx
movzx eax, word [r8 + 3]
mov word [rsp + 0x40], ax
movzx eax, byte [r8 + 5]
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x40]
dec eax
mov rdi, qword [rbx + rax*8]
mov r9d, dword [r8 + 6]
test r9d, r9d
jne 0x14011d510
mov rbx, rdi
jmp 0x14011d550
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
lea rcx, [0x14145c6e0]
add rbx, rcx
inc eax
and eax, 0x80000007
jge 0x14011d538
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r8, rdi
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14011d5b2
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 r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14011d87a
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011d87a
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x14011d87a
mov rdx, rdi
jmp 0x14011d871
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
call fcn.1401e3800
mov ebx, 1
mov r8d, ebx
xor edx, edx
lea rcx, [0x1413c5e48]
call fcn.140215e20
jmp 0x14011d74a
mov rdx, qword [r14 + r15*2 + 0xa]
lea rcx, [0x1413c5bd8]
call fcn.1402166f0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14011d87a
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011d87a
mov r8, qword [r14 + r15*2 + 0xa]
lea rdx, [0x1413c5bd8]
lea rcx, [rbp + 0x40]
call fcn.140005590
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x14011d87a
lea rdx, [rbp + 0x40]
jmp 0x14011d871
mov rax, qword [rdi]
test rax, rax
js 0x14011d717
lea rbx, [rax*4]
xor rbx, rax
movabs rcx, 0xc000000000000000
and rbx, rcx
xor rbx, rax
mov rdx, rbx
lea rcx, [0x1413c5bd8]
call fcn.1402166f0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14011d87a
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011d87a
mov r8, rbx
lea rdx, [0x1413c5bd8]
lea rcx, [rbp]
call fcn.140005590
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x14011d87a
lea rdx, [rbp]
jmp 0x14011d871
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
mov ebx, 1
mov r8d, ebx
xor edx, edx
lea rcx, [0x1413cc1f8]
call fcn.140215e20
lea rdi, [r12 + 0x10b8]
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, ebx
jl 0x14011d887
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]
jmp 0x14011d887
mov r9d, dword [r14 + r15*2 + 6]
test r9d, r9d
jne 0x14011d79e
mov rbx, rsi
jmp 0x14011d7de
movsxd rax, dword [0x1414476d0]
mov rbx, rax
shl rbx, 0xc
lea rcx, [0x14145c6e0]
add rbx, rcx
inc eax
and eax, 0x80000007
jge 0x14011d7c6
dec eax
or eax, 0xfffffff8
inc eax
mov dword [0x1414476d0], eax
mov r8, rsi
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14011d840
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 r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1401f4650
test al, al
je 0x14011d87a
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011d87a
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0xb8]
test rax, rax
je 0x14011d87a
mov rdx, rsi
mov rcx, qword [rcx + 0xc0]
call rax
lea rdi, [r12 + 0x10b8]
mov ebx, 1
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011da2e
cmp dword [r12 + 0x2fc4], 3
jne 0x14011d91c
mov rax, qword [r14 + r15*2 + 0xa]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400cb460
shl rax, 5
mov rdx, qword [r12 + 0x10c8]
add rdx, rax
lea rax, [rdx + 8]
xor ecx, ecx
mov r8d, ecx
cmp rdx, qword [rdi + 0x18]
cmovne r8, rax
test r8, r8
je 0x14011d93a
mov dword [rsp + 0x40], ecx
movzx eax, word [r8 + 3]
mov word [rsp + 0x40], ax
movzx eax, byte [r8 + 5]
mov byte [rsp + 0x42], al
movzx edx, word [r12 + 0xdec]
shl rdx, 0x20
mov eax, dword [r12 + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov r8d, dword [r8 + 6]
mov rdx, qword [rdx + rax*8]
jmp 0x14011d924
mov r8d, dword [r14 + r15*2 + 6]
mov rdx, rsi
mov dword [rsp + 0x20], 3
mov r9d, 3
mov rcx, r12
call fcn.140081120
xor r8d, r8d
xor edx, edx
mov ecx, ebx
call fcn.1401f4650
test al, al
je 0x14011da2e
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14011da2e
mov rbx, qword [r14 + r15*2 + 0xa]
cmp dword [r12 + 0x2fc4], 3
jne 0x14011da17
mov qword [rsp + 0x58], rbx
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400cb460
shl rax, 5
mov rdx, qword [r12 + 0x10c8]
add rdx, rax
lea rax, [rdx + 8]
xor esi, esi
mov r8d, esi
cmp rdx, qword [rdi + 0x18]
cmovne r8, rax
test r8, r8
je 0x14011d9f4
mov dword [rsp + 0x40], esi
movzx eax, word [r8 + 3]
mov word [rsp + 0x40], ax
movzx eax, byte [r8 + 5]
mov byte [rsp + 0x42], al
movzx edx, word [r12 + 0xdec]
shl rdx, 0x20
mov eax, dword [r12 + 0xde8]
or rdx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov r9, rbx
mov r8d, dword [r8 + 6]
mov rdx, qword [rdx + rax*8]
mov rcx, r12
call fcn.14007b220
test al, al
jne 0x14011da30
mov byte [r12 + 0x302c], 1
mov dword [r12 + 0x3030], 0x3f000000
mov eax, dword [rsp + 0x44]
mov dword [r12 + 0x3034], eax
jmp 0x14011da30
mov r9, rbx
mov r8d, dword [r14 + r15*2 + 6]
mov rdx, rsi
mov rcx, r12
call fcn.14007b220
xor esi, esi
jmp 0x14011d9f0
xor esi, esi
vucomiss xmm6, xmm9
jp 0x14011da39
je 0x14011da7e
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, xmm6
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
mov r9, qword [0x141443c60]
mov rax, qword [r9 + 0x4150]
mov byte [rax + 0xf5], 1
mov r8, qword [r9 + 0x4150]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
mov dword [r8 + 0x204], ecx
lea eax, [rdx - 1]
mov dword [r8 + 0x218], eax
mov rbx, qword [r9 + 0x4fe8]
test rbx, rbx
je 0x14011db07
cmp byte [rbx + 0x237], 0
je 0x14011daf1
mov ecx, dword [rbx + 0x74]
lea eax, [rcx + 1]
cmp eax, dword [rbx + 0x6c]
jge 0x14011daf1
cmp ecx, 0xffffffff
je 0x14011daea
mov rcx, rbx
call fcn.1402106f0
mov edx, dword [rbx + 0x74]
inc edx
jmp 0x14011daff
vmovaps xmm1, xmm9
xor ecx, ecx
call fcn.14020fa70
xor edx, edx
mov rcx, rbx
call fcn.140210520
cmp word [r13 + 7], si
jne 0x14011db1d
movzx eax, byte [rsp + 0x62]
cmp byte [r13 + 9], al
je 0x14011dbb8
mov dword [rsp + 0x40], esi
movzx eax, word [r13 + 7]
mov word [rsp + 0x40], ax
movzx eax, byte [r13 + 9]
mov byte [rsp + 0x42], al
movzx ebx, word [r12 + 0xdec]
shl rbx, 0x20
mov eax, dword [r12 + 0xde8]
or rbx, rax
mov eax, dword [rsp + 0x40]
dec eax
mov rbx, qword [rbx + rax*8]
mov rdx, qword [0x141443c60]
add rdx, 0x3af8
xor ecx, ecx
call fcn.1401e3800
xor edx, edx
mov r8d, 1
mov rcx, rbx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x14011dbb8
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]
movzx edi, byte [rsp + 0x50]
inc dil
mov byte [rsp + 0x50], dil
cmp dil, byte [rsp + 0x52]
jb 0x14011cf80
mov rcx, qword [rbp - 0x78]
add rcx, 8
mov qword [rbp - 0x78], rcx
cmp rcx, qword [rbp - 0x18]
mov edi, 0
jne 0x14011cf00
mov r14, qword [rbp - 0x20]
mov r15, qword [rbp - 0x70]
call fcn.14020ee00
mov ebx, 1
mov rdx, qword [rsp + 0x48]
movzx eax, dl
and al, 0x7f
cmp al, 0x7f
je 0x14011dc4c
movzx ecx, r14w
shl rcx, 0x20
mov eax, r15d
or rcx, rax
je 0x14011dc4c
movzx eax, dl
and eax, 0x7f
shlx ecx, ebx, eax
neg rcx
shl rcx, 4
lock add qword [0x141443c50], rcx
movzx ecx, word [rsp + 0x6c]
shl rcx, 0x20
mov eax, dword [rsp + 0x68]
or rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
xor r13d, r13d
call fcn.1401ebba0
nop
cmp qword [rbp - 0x38], 0
je 0x14011dc74
mov qword [rbp - 0x40], r13
lea rax, [rbp - 0x38]
mov rcx, qword [rbp - 0x50]
cmp rcx, rax
je 0x14011dc74
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
call fcn.1401f2010
cmp byte [rsp + 0x51], 0
jne 0x14011dc88
mov qword [r12 + 0x43b0], r13
mov rcx, qword [rbp + 0xe0]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c8f0
nop
call fcn.14001ebe0
int3