Function at 0x14010ce70
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xbfa0]
mov eax, 0xc0a0
call fcn.1403f59c0
sub rsp, rax
vmovaps xmmword [rsp + 0xc090], xmm6
vmovaps xmmword [rsp + 0xc080], xmm7
vmovaps xmmword [rsp + 0xc070], xmm8
vmovaps xmmword [rsp + 0xc060], xmm9
vmovaps xmmword [rsp + 0xc050], xmm10
vmovaps xmmword [rsp + 0xc040], xmm11
vmovaps xmmword [rsp + 0xc030], xmm12
vmovaps xmmword [rsp + 0xc020], xmm13
vmovaps xmmword [rsp + 0xc010], xmm14
mov rax, qword [0x14143b040]
xor rax, rsp
mov qword [rbp + 0xbf00], rax
mov rsi, rcx
mov qword [rbp - 0x50], rcx
lea rdx, [rcx + 0x2fa8]
mov r8d, 0x40
lea rcx, [0x1413cbc10]
call fcn.1401ef0a0
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
cmp byte [rax + 0xf8], 0
jne 0x140111d40
vmovss xmm0, dword [rcx + 0x3e80]
cmp byte [rsi + 0x27b5], 0
lea rdx, [rsp + 0x50]
vmovss xmm13, dword [0x14140ea74]
lea rcx, [0x1413cbc18]
setne byte [rsp + 0x50]
vdivss xmm10, xmm0, xmm13
call fcn.140218f00
movzx eax, byte [rsp + 0x50]
lea rdx, [rsp + 0x50]
mov byte [rsi + 0x27b5], al
lea rcx, [0x1413cbc30]
cmp byte [rsi + 0x27b6], 0
setne byte [rsp + 0x50]
call fcn.140218f00
mov rcx, qword [0x141443c60]
lea rdx, [rbp + 0xc8]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b6], al
vxorps xmm7, xmm7, xmm7
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
mov ecx, 0xb
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
mov eax, dword [rsi + 0x27c0]
vmovss dword [rbp + 0xc8], xmm7
vmovss dword [rbp + 0xcc], xmm7
mov dword [rsp + 0x78], eax
call fcn.1401e3960
mov rax, qword [0x141443c60]
lea r9, [rbp - 0x38]
vmulss xmm0, xmm10, dword [0x14140ead0]
xor r12d, r12d
lea r8, [rsp + 0x78]
mov dword [rsp + 0x30], r12d
lea rcx, [0x1413a2378]
or dword [rax + 0x4ae0], 1
mov r15d, 1
vmovss dword [rax + 0x4af0], xmm0
lea rax, [0x1413a1d4c]
mov dword [rbp - 0x40], 0x64
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x38], r15d
call fcn.14021da50
test al, al
je 0x14010d092
mov eax, dword [rsp + 0x78]
cmp eax, r15d
jge 0x14010d08c
mov eax, r15d
mov dword [rsp + 0x78], eax
mov dword [rsi + 0x27c0], eax
vmovss xmm11, dword [0x14140ebbc]
vmovaps xmm1, xmm11
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov eax, 0x3b9aca00
cdq
idiv dword [rsp + 0x78]
movsxd rcx, eax
call fcn.1401c9cc0
mov rdx, qword [0x141443c60]
xor ecx, ecx
add rdx, 0x3af8
mov rbx, rax
call fcn.1401e3800
mov r8d, r15d
xor edx, edx
mov rcx, rbx
call fcn.140215e20
mov rbx, qword [0x141443c60]
movsxd rax, dword [rbx + 0x4c00]
cmp eax, r15d
jl 0x14010d11a
mov rcx, qword [rbx + 0x4c08]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
vmovups xmmword [rbx + rax*8 + 0x3ae8], xmm0
dec dword [rbx + 0x4c00]
mov ecx, r15d
call fcn.1401e39f0
mov rcx, qword [rsi + 0x30f8]
mov qword [rsp + 0x40], rcx
mov rdi, rcx
test rcx, rcx
jne 0x14010d152
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x14010d14a
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
mov rdi, rcx
call fcn.1401f2850
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x4c20]
call fcn.1401de7f0
mov rdx, qword [rdi + 0x40]
mov rcx, qword [rbx + 0x4150]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x2e0]
call fcn.1401d6670
mov ecx, 0xff2222dd
call fcn.14002d4e0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov eax, dword [rsp + 0x78]
lea rcx, [0x1413cbc48]
cdq
sub eax, edx
sar eax, 1
mov edx, eax
call fcn.1402165c0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov ecx, 0xff22dddd
call fcn.14002d4e0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov edx, dword [rsp + 0x78]
lea rcx, [0x1413cbc48]
call fcn.1402165c0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov ecx, 0xff22dd22
call fcn.14002d4e0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov edx, dword [rsp + 0x78]
lea rcx, [0x1413cbc48]
add edx, edx
call fcn.1402165c0
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov ecx, 0xffdd9900
call fcn.14002d4e0
call fcn.1401f2900
mov rdx, qword [0x141443c60]
vmovss xmm14, dword [0x14140e870]
mov rax, qword [rdx + 0x4150]
mov byte [rax + 0xf5], r15b
mov rax, qword [rdx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, dword [rdx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
cmp qword [rsi + 0x15c8], r12
je 0x14010d4e7
mov rdx, qword [rdx + 0x4150]
cmp byte [rdx + 0xf8], r12b
jne 0x14010d2d1
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], r12
je 0x14010d2c7
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
cmp byte [rsi + 0x27b7], r12b
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbb98]
setne byte [rsp + 0x50]
call fcn.140218f00
mov rcx, qword [0x141443c60]
lea rdx, [rbp + 0xd0]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b7], al
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], r15b
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
mov ecx, 0xb
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
cmp byte [rsi + 0x27b8], r12b
vmovss dword [rbp + 0xd0], xmm7
setne byte [rsp + 0x50]
vmovss dword [rbp + 0xd4], xmm7
call fcn.1401e3960
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbbb8]
call fcn.140218f00
mov ecx, r15d
call fcn.1401e39f0
mov rcx, qword [0x141443c60]
lea rdx, [rsp + 0x50]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b8], al
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], r15b
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, dword [rcx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
cmp byte [rsi + 0x27b9], r12b
lea rcx, [0x1413cbbd8]
setne byte [rsp + 0x50]
call fcn.140218f00
mov rcx, qword [0x141443c60]
lea rdx, [rbp + 0xd8]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b9], al
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], r15b
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
mov ecx, 0xb
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
cmp byte [rsi + 0x27ba], r12b
vmovss dword [rbp + 0xd8], xmm7
setne byte [rsp + 0x50]
vmovss dword [rbp + 0xdc], xmm7
call fcn.1401e3960
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbbf0]
call fcn.140218f00
mov ecx, r15d
call fcn.1401e39f0
mov rcx, qword [0x141443c60]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27ba], al
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], r15b
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, dword [rcx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
cmp qword [rsi + 0xd68], r12
je 0x14010d518
cmp byte [rsi + 0x27bb], r12b
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbca0]
setne byte [rsp + 0x50]
call fcn.140218f00
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27bb], al
cmp dword [rsi + 0xc16], r12d
je 0x14010de9e
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], r12b
jne 0x14010d568
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], r12
je 0x14010d55e
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
cmp byte [rsi + 0x27b0], r12b
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbcb8]
setne byte [rsp + 0x50]
call fcn.140218f00
mov rcx, qword [0x141443c60]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b0], al
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], r15b
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], r12b
je 0x14010d5da
vmovaps xmm1, xmm11
vxorps xmm0, xmm0, xmm0
call fcn.1401f6d00
mov edx, dword [rsi + 0xc16]
lea rcx, [0x1413c9298]
call fcn.1402166f0
jmp 0x14010de9e
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413cbcd0]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x14010d61b
lea r8, [0x1413cbcd0]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbcd0]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
vmovaps xmm1, xmm11
vxorps xmm0, xmm0, xmm0
movzx ebx, al
call fcn.1401f6d00
mov edx, dword [rsi + 0xc16]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x14010de9e
mov r13, r12
cmp dword [rsi + 0xc16], r12d
jbe 0x14010de99
vmovss xmm8, dword [0x14140f210]
vmovss xmm12, dword [0x14140eae0]
vmovsd xmm6, qword [0x14140e908]
vmovss xmm9, dword [0x14140eb88]
mov dword [rsp + 0x50], r12d
movzx ecx, word [rsi + 0xc14]
lea r15, [rsi + 0x27e0]
mov eax, dword [rsi + 0xc10]
shl rcx, 0x20
or rcx, rax
mov r9, qword [rcx + r13*8]
cmp qword [r9 + 0x70], 0
mov r14, qword [r9 + 0x68]
je 0x14010d703
mov rax, qword [r14]
mov r8, qword [r9 + 0x60]
test rax, rax
jne 0x14010d6e4
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r14 + 8]
lea r14, [r14 + 8]
add r8, 0x100
test rax, rax
je 0x14010d6d0
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd r14, eax
shl r14, 5
add r14, r8
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], r9
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.140049af0
mov rax, qword [rsp + 0x60]
mov rdi, qword [rax + 8]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + 0x38]
lea rdx, [rbp - 0x20]
mov ecx, 0xb
mov rbx, rax
vmovss dword [rbp - 0x20], xmm7
vmovss dword [rbp - 0x1c], xmm7
call fcn.1401e3960
lea rdx, [rdi + 8]
mov rcx, rbx
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov eax, dword [rsi + 0xc10]
movzx edx, word [rsi + 0xc14]
shl rdx, 0x20
or rdx, rax
mov rax, qword [rdx + r13*8]
mov rcx, qword [rax + 0x70]
cmp rcx, 1
jne 0x14010d79a
mov ecx, dword [r14 + 0xe]
lea rbx, [0x1413cbce0]
jmp 0x14010d7a1
lea rbx, [0x1413cbc58]
call fcn.14004a750
mov rdx, rax
mov rcx, rbx
call fcn.1402166f0
movzx ecx, word [rsi + 0xc14]
mov eax, dword [rsi + 0xc10]
shl rcx, 0x20
or rcx, rax
mov rbx, qword [rcx + r13*8]
cmp word [rbx + 0x4c], r12w
jne 0x14010d7de
movzx eax, byte [rsp + 0x52]
cmp byte [rbx + 0x4e], al
je 0x14010d8a4
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rbx
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140049af0
mov rax, qword [rbp - 0x80]
lea rdx, [0x1413c7198]
movzx r8d, byte [rbx + 0x1c]
lea rcx, [rbp + 0xb2c0]
mov r9, qword [rax + 8]
lea rax, [0x140db0d00]
mov r8, qword [rax + r8*8]
mov r9d, dword [r9 + 0x38]
call fcn.140005590
mov rcx, qword [rsi + 0x30f8]
mov rbx, qword [0x141443c60]
mov r15, rcx
mov qword [rsp + 0x40], rcx
test rcx, rcx
jne 0x14010d85a
mov rcx, qword [rbx + 0x48]
test rcx, rcx
jne 0x14010d852
mov rax, qword [rbx + 0x38]
mov rcx, qword [rax + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
mov r15, rcx
call fcn.1401f2850
lea rdx, [rsp + 0x40]
lea rcx, [rbx + 0x4c20]
call fcn.1401de7f0
mov rdx, qword [r15 + 0x40]
mov rcx, qword [rbx + 0x4150]
mov rdx, qword [rdx + 8]
mov rcx, qword [rcx + 0x2e0]
call fcn.1401d6670
xor edx, edx
lea rcx, [rbp + 0xb2c0]
mov r8d, 1
call fcn.140215e20
call fcn.1401f2900
mov eax, dword [rsi + 0xc10]
movzx ecx, word [rsi + 0xc14]
shl rcx, 0x20
or rcx, rax
mov rax, qword [rcx + r13*8]
cmp byte [rax + 0x1e], 0
jne 0x14010de81
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rdx, qword [rcx + 0x4150]
mov byte [rdx + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
xor ecx, ecx
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
inc dword [rdx + 0x1c8]
call fcn.1401f37f0
mov eax, dword [rsi + 0xc10]
lea rbx, [rsi + 0xb8]
movzx ecx, word [rsi + 0xc14]
lea r8, [rsp + 0x40]
shl rcx, 0x20
lea rdx, [rbp - 0x60]
or rcx, rax
mov r15, qword [rcx + r13*8]
mov rcx, rbx
mov qword [rsp + 0x40], r15
call fcn.140049af0
mov rax, qword [rbp - 0x60]
cmp rax, qword [rsi + 0xd0]
jne 0x14010d9f5
lea r8, [rbp + 0x1d0]
mov qword [rbp + 0x1d0], r15
lea rdx, [rbp - 0x70]
mov dword [rbp + 0x1d8], r12d
mov rcx, rbx
call fcn.14006db40
mov ecx, dword [rbp - 0x68]
test ecx, ecx
je 0x140111dba
mov rdx, qword [rbp - 0x70]
sub ecx, 1
je 0x14010d9c6
sub ecx, 1
je 0x14010d9af
cmp ecx, 1
jne 0x14010d9c6
mov rax, qword [rbx + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x1d0]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [rbx + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [rbx + 0x10]
mov qword [rbp + 0x1e0], rdx
mov qword [rbp + 0x1e8], rcx
vmovups xmm0, xmmword [rbp + 0x1e0]
vmovups xmmword [rbp - 0x60], xmm0
vmovq rax, xmm0
lea rcx, [rax + 8]
mov edx, r13d
mov rax, qword [0x141443c60]
vmulss xmm0, xmm10, xmm12
mov qword [rsp + 0x70], rcx
or dword [rax + 0x4ae0], 1
vmovss dword [rax + 0x4af0], xmm0
mov rbx, qword [rax + 0x4150]
mov rcx, rbx
call fcn.1401f34b0
add rbx, 0x130
mov r15d, eax
mov r8d, dword [rbx]
mov ecx, dword [rbx + 4]
cmp r8d, ecx
jne 0x14010da69
inc r8d
test ecx, ecx
je 0x14010da52
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14010da57
mov eax, 8
cmp eax, r8d
mov rcx, rbx
cmovg r8d, eax
mov edx, r8d
call fcn.1401deb40
movsxd rcx, dword [rbx]
lea r9, [rbp - 0x28]
mov rax, qword [rbx + 8]
mov r8, qword [rsp + 0x70]
mov dword [rsp + 0x30], r12d
mov dword [rax + rcx*4], r15d
lea rax, [0x1413a1d4c]
inc dword [rbx]
lea rcx, [0x1413cbc68]
mov qword [rsp + 0x28], rax
mov ebx, 1
lea rax, [rbp - 0x30]
mov dword [rbp - 0x30], 0x64
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x28], ebx
call fcn.14021da50
mov rax, qword [0x141443c60]
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
cmp dword [r14 + 0xe], ebx
jbe 0x14010de7c
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
lea rcx, [0x1413cbc78]
xor r8d, r8d
lea rdx, [rbp - 0x18]
vmovss dword [rbp - 0x18], xmm7
vmovss dword [rbp - 0x14], xmm7
call fcn.140217480
test al, al
je 0x14010de7c
mov edx, dword [r14 + 0xe]
dec rdx
cmp byte [r14 + 0x12], 0
jge 0x14010db47
test rdx, rdx
je 0x14010db97
movzx ecx, word [r14 + 0xc]
mov eax, dword [r14 + 8]
imul r8, rdx, 0x23
shl rcx, 0x20
add r8, 0x18
or rcx, rax
add r8, rcx
test qword [r8], 0xffffffffffff0000
jge 0x14010db94
sub r8, 0x23
sub rdx, rbx
jne 0x14010db33
jmp 0x14010db97
test rdx, rdx
je 0x14010db97
mov eax, dword [r14 + 8]
movzx ecx, word [r14 + 0xc]
shl rcx, 0x20
or rcx, rax
lea rax, [rdx + rdx*2]
lea r8, [rcx + rax*2]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [r8 + 4]
mov eax, dword [r8]
shl rcx, 0x20
or rcx, rax
test qword [rcx + 0x18], 0xffffffffffff0000
jge 0x14010db94
sub r8, 6
sub rdx, rbx
jne 0x14010db70
jmp 0x14010db97
mov r12, rdx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1674], 0xffffffff
mov rdx, rbx
mov dword [rbp + 0x2f4], eax
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x2f4], eax
inc rdx
cmp rdx, 0x270
jb 0x14010dbb0
xor r15d, r15d
mov dword [rbp + 0x2f0], 0x270
cmp byte [r14 + 0x12], r15b
jge 0x14010dd10
nop dword [rax]
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x40], rax
test r12, r12
jne 0x14010dc55
lea rcx, [rbp + 0x2f0]
call fcn.140112e10
mov ebx, eax
lea rcx, [rbp + 0x2f0]
shl rbx, 0x20
call fcn.140112e10
mov eax, eax
lea rcx, [rbp + 0x2f0]
or rbx, rax
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x40], rax
call fcn.140112e10
mov edi, eax
lea rcx, [rbp + 0x2f0]
shl rdi, 0x20
call fcn.140112e10
mov eax, eax
or rdi, rax
jmp 0x14010dc81
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140112c90
mov rbx, rax
lea rcx, [rsp + 0x40]
lea rax, [rbp + 0x2f0]
mov rdx, r12
mov qword [rsp + 0x40], rax
call fcn.140112c90
mov rdi, rax
cmp rbx, rdi
je 0x14010dcf1
mov ecx, dword [r14 + 8]
movzx r9d, word [r14 + 0xc]
imul rdx, rdi, 0x23
imul r8, rbx, 0x23
vxorps xmm1, xmm1, xmm1
shl r9, 0x20
or r9, rcx
vxorps xmm0, xmm0, xmm0
mov rax, qword [rdx + r9 + 0x10]
sar rax, 0x10
mov rcx, qword [r8 + r9 + 0x10]
sar rcx, 0x10
sub rax, rcx
mov rcx, qword [rdx + r9]
vcvtsi2sd xmm1, xmm1, rax
mov rax, qword [r8 + r9]
sar rax, 0x10
sar rcx, 0x10
sub rcx, rax
vcvtsi2sd xmm0, xmm0, rcx
vdivsd xmm1, xmm1, xmm0
vsubsd xmm1, xmm6, xmm1
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [rbp + r15*4 + 0x1680], xmm0
inc r15
cmp r15, 0x2710
jb 0x14010dbf0
jmp 0x14010de40
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x40], rax
test r12, r12
jne 0x14010dd75
lea rcx, [rbp + 0x2f0]
call fcn.140112e10
mov ebx, eax
lea rcx, [rbp + 0x2f0]
shl rbx, 0x20
call fcn.140112e10
mov eax, eax
lea rcx, [rbp + 0x2f0]
or rbx, rax
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x40], rax
call fcn.140112e10
mov edi, eax
lea rcx, [rbp + 0x2f0]
shl rdi, 0x20
call fcn.140112e10
mov eax, eax
or rdi, rax
jmp 0x14010dda1
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.140112c90
mov rbx, rax
lea rcx, [rsp + 0x40]
lea rax, [rbp + 0x2f0]
mov rdx, r12
mov qword [rsp + 0x40], rax
call fcn.140112c90
mov rdi, rax
cmp rbx, rdi
je 0x14010de33
mov ecx, dword [r14 + 8]
lea rdx, [rdi + rdi*2]
movzx r9d, word [r14 + 0xc]
vxorps xmm1, xmm1, xmm1
shl r9, 0x20
or r9, rcx
lea rcx, [rbx + rbx*2]
vxorps xmm0, xmm0, xmm0
mov eax, dword [r9 + rcx*2]
movzx r10d, word [r9 + rcx*2 + 4]
movzx r8d, word [r9 + rdx*2 + 4]
shl r10, 0x20
or r10, rax
shl r8, 0x20
mov eax, dword [r9 + rdx*2]
or r8, rax
mov rax, qword [r10 + 0x10]
sar rax, 0x10
mov rcx, qword [r8 + 0x10]
sar rcx, 0x10
sub rcx, rax
mov rax, qword [r10]
vcvtsi2sd xmm1, xmm1, rcx
mov rcx, qword [r8]
sar rcx, 0x10
sar rax, 0x10
sub rcx, rax
vcvtsi2sd xmm0, xmm0, rcx
vdivsd xmm1, xmm1, xmm0
vsubsd xmm1, xmm6, xmm1
vcvtsd2ss xmm0, xmm1, xmm1
vmovss dword [rbp + r15*4 + 0x1680], xmm0
inc r15
cmp r15, 0x2710
jb 0x14010dd10
xor r9d, r9d
lea rdx, [rbp + 0xb2c0]
mov r8d, 0x2710
lea rcx, [rbp + 0x1680]
call fcn.1401123d0
vmovss xmm0, dword [rbp + 0x64a0]
mov rcx, qword [rsp + 0x70]
xor r12d, r12d
vxorps xmm1, xmm0, xmm8
vmulss xmm2, xmm1, xmm9
vcvttss2si eax, xmm2
mov dword [rcx], eax
call fcn.140229f60
mov eax, dword [rsi + 0xc16]
inc r13
cmp r13, rax
jb 0x14010d68e
mov r15d, 1
call fcn.140229f60
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x14010dee2
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x14010ded8
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
cmp byte [rsi + 0x27b1], 0
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbc88]
setne byte [rsp + 0x50]
call fcn.140218f00
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b1], al
cmp byte [rsi + 0x13f3], 0
je 0x14010dfae
cmp qword [rsi + 0xd70], 0
je 0x14010dfae
cmp byte [rsi + 0x27be], 0
lea rdx, [rbp - 0x10]
mov ecx, 0xb
setne byte [rsp + 0x50]
vmovss dword [rbp - 0x10], xmm7
vmovss dword [rbp - 0xc], xmm7
call fcn.1401e3960
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbdd8]
call fcn.140218f00
mov ecx, r15d
call fcn.1401e39f0
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27be], al
movzx edi, byte [rsi + 0x27bc]
lea rcx, [0x1413a2480]
mov r8d, r15d
xor edx, edx
call fcn.140215e20
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
cmp byte [rsi + 0x27bd], 0
lea rdx, [rbp - 8]
mov ecx, 0xb
setne byte [rsp + 0x50]
vmovss dword [rbp - 8], xmm7
vmovss dword [rbp - 4], xmm7
call fcn.1401e3960
lea rdx, [rsp + 0x50]
lea rcx, [0x1413a2490]
call fcn.140218f00
mov ecx, r15d
movzx ebx, al
call fcn.1401e39f0
test bl, bl
je 0x14010e023
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27bd], al
mov rcx, qword [0x141443c60]
lea rdx, [rbp]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
mov ecx, 0xb
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
vmovss dword [rbp], xmm7
vmovss dword [rbp + 4], xmm7
call fcn.1401e3960
test edi, edi
lea rcx, [0x1413a24a0]
sete dl
call fcn.1402193c0
test al, al
lea rcx, [0x1413a24a8]
cmovne edi, r12d
cmp edi, 1
sete dl
call fcn.1402193c0
test al, al
lea rcx, [0x1413a24b8]
cmovne edi, r15d
cmp edi, 2
sete dl
call fcn.1402193c0
test al, al
mov r14d, 2
mov ecx, r15d
cmovne edi, r14d
call fcn.1401e39f0
mov rcx, qword [0x141443c60]
mov r8d, r15d
xor edx, edx
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, dword [rcx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
mov byte [rsi + 0x27bc], dil
lea rcx, [0x1413a24d0]
movzx ebx, byte [rsi + 0x27bf]
call fcn.140215e20
mov rcx, qword [0x141443c60]
lea rdx, [rbp + 8]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rcx + 0x3a64]
mov ecx, 0xb
vaddss xmm1, xmm0, dword [rax + 0x184]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
vmovss dword [rbp + 8], xmm7
vmovss dword [rbp + 0xc], xmm7
call fcn.1401e3960
test ebx, ebx
lea rcx, [0x1413a22f0]
sete dl
call fcn.1402193c0
test al, al
lea rcx, [0x1413a24f0]
mov edi, r12d
cmove edi, ebx
cmp edi, 1
sete dl
call fcn.1402193c0
test al, al
cmovne edi, r15d
cmp edi, r14d
sete dl
lea rcx, [0x1413a2500]
call fcn.1402193c0
test al, al
lea rcx, [0x1413a2510]
cmovne edi, r14d
cmp edi, 3
sete dl
call fcn.1402193c0
test al, al
mov ecx, 3
cmovne edi, ecx
lea rcx, [0x1413a2520]
cmp edi, 4
sete dl
call fcn.1402193c0
test al, al
mov ebx, 4
mov ecx, r15d
cmovne edi, ebx
call fcn.1401e39f0
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, dword [rcx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
mov byte [rsi + 0x27bf], dil
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rax, qword [rcx + 0x4150]
vmovss xmm0, dword [rax + 0x184]
vsubss xmm1, xmm0, dword [rcx + 0x3a64]
vmovss dword [rax + 0x184], xmm1
vaddss xmm0, xmm1, dword [rax + 0x58]
vaddss xmm1, xmm0, dword [rax + 0x188]
vmovss dword [rax + 0x140], xmm1
cmp qword [rsi + 0x1418], 0
je 0x14011080e
mov r8, qword [rsi + 0x1410]
mov rbx, r12
mov r9, qword [rsi + 0x1408]
mov rdi, r12
mov qword [rsp + 0x40], r12
mov r13, r12
mov r11, r12
mov qword [rsp + 0x70], r12
mov rax, qword [r8]
mov r10, r8
test rax, rax
jne 0x14010e311
nop word [rax + rax]
mov rax, qword [r8 + 8]
add r8, 8
sub r9, 0xffffffffffffff80
test rax, rax
je 0x14010e300
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
shl rcx, 4
add r9, rcx
cmp r9, r10
je 0x14010e3d6
nop dword [rax]
mov rcx, qword [r9 + 8]
cmp byte [rcx + 0x79], 0
je 0x14010e378
cmp dword [rcx + 0xb], 0
je 0x14010e378
mov rax, qword [rcx + 0x58]
inc rbx
sub rax, qword [rcx + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
jne 0x14010e36a
inc rdi
jmp 0x14010e378
cmp byte [rcx + 0x7a], 0
je 0x14010e375
inc r13
jmp 0x14010e378
inc r11
mov rax, qword [r8 + 1]
inc r8
add r9, 0x10
test rax, rax
jne 0x14010e3a1
nop dword [rax + rax]
mov rax, qword [r8 + 8]
add r8, 8
sub r9, 0xffffffffffffff80
test rax, rax
je 0x14010e390
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
shl rcx, 4
add r9, rcx
cmp r9, r10
jne 0x14010e340
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x70], r11
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x14010e41a
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, r14d
cmp qword [rdx + 0x1e8], 0
je 0x14010e410
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
cmp byte [rsi + 0x27b2], 0
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbdf0]
setne byte [rsp + 0x50]
call fcn.140218f00
movzx eax, byte [rsp + 0x50]
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
mov byte [rsi + 0x27b2], al
call fcn.1401f6d00
cmp byte [rsi + 0x27b4], 0
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbe00]
setne byte [rsp + 0x50]
call fcn.140218f00
mov rcx, qword [0x141443c60]
movzx eax, byte [rsp + 0x50]
mov byte [rsi + 0x27b4], al
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rdi, qword [rcx + 0x4150]
cmp byte [rdi + 0xf8], 0
je 0x14010e4a2
xor dil, dil
jmp 0x14010e4fb
movsxd rax, dword [rdi + 0x130]
lea rcx, [0x1413cbe10]
mov r8, qword [rdi + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rdi]
mov r14d, eax
cmp dword [rcx + 0x419c], eax
jne 0x14010e4e4
lea r8, [0x1413cbe10]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbe10]
xor edx, edx
mov ecx, r14d
call fcn.1402291e0
movzx edi, al
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
lea rcx, [0x1413c9298]
mov rdx, rbx
call fcn.1402166f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010e542
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
mov r8d, r15d
lea rcx, [0x1413cbcf8]
xor edx, edx
call fcn.140215e20
call fcn.1401f2010
test dil, dil
je 0x140110809
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x10]
mov r8d, 0x8000
lea rcx, [0x1413ca3d0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x10], xmm7
vmovss dword [rbp + 0x14], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14010e71f
cmp qword [rsi + 0x1418], 0
je 0x14010e71f
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010e5e1
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010e5d0
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14010e71c
lea r14, [rsi + 0x32f0]
mov r15, qword [rdi + 8]
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x50]
mov qword [rbp - 0x70], r15
mov rcx, r14
call fcn.140049af0
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsi + 0x3308]
jne 0x14010e6c4
lea r8, [rbp + 0x1c0]
mov qword [rbp + 0x1c0], r15
lea rdx, [rbp - 0x60]
mov byte [rbp + 0x1c8], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rbp - 0x58]
test ecx, ecx
je 0x140111dc0
mov rdx, qword [rbp - 0x60]
sub ecx, 1
je 0x14010e694
sub ecx, 1
je 0x14010e67d
cmp ecx, 1
jne 0x14010e694
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x1c0]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x1f0], rdx
mov qword [rbp + 0x1f8], rcx
vmovups xmm0, xmmword [rbp + 0x1f0]
vmovups xmmword [rsp + 0x50], xmm0
vmovq rax, xmm0
inc rbx
mov byte [rax + 8], 1
add rdi, 0x10
mov rax, qword [rbx]
test rax, rax
jne 0x14010e6f1
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010e6e0
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010e613
xor r12d, r12d
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x18]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x18], xmm7
vmovss dword [rbp + 0x1c], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14010e8ef
cmp qword [rsi + 0x1418], 0
je 0x14010e8ef
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010e7b1
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010e7a0
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14010e8ec
lea r14, [rsi + 0x32f0]
mov r15, qword [rdi + 8]
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x50]
mov qword [rbp - 0x70], r15
mov rcx, r14
call fcn.140049af0
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsi + 0x3308]
jne 0x14010e894
lea r8, [rbp + 0xe0]
mov qword [rbp + 0xe0], r15
lea rdx, [rbp - 0x60]
mov byte [rbp + 0xe8], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rbp - 0x58]
test ecx, ecx
je 0x140111dc6
mov rdx, qword [rbp - 0x60]
sub ecx, 1
je 0x14010e864
sub ecx, 1
je 0x14010e84d
cmp ecx, 1
jne 0x14010e864
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0xe0]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x200], rdx
mov qword [rbp + 0x208], rcx
vmovups xmm0, xmmword [rbp + 0x200]
vmovups xmmword [rsp + 0x50], xmm0
vmovq rax, xmm0
inc rbx
mov byte [rax + 8], 0
add rdi, 0x10
mov rax, qword [rbx]
test rax, rax
jne 0x14010e8c1
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010e8b0
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010e7e3
xor r12d, r12d
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [0x141443c60]
xor ecx, ecx
add rdx, 0x3af8
call fcn.1401e3800
mov ebx, 1
lea rcx, [0x1413a1d18]
mov r8d, ebx
xor edx, edx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, ebx
jl 0x14010e964
mov rcx, qword [r8 + 0x4c08]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010e9ed
mov rax, qword [0x141443c60]
xor edx, edx
xor ecx, ecx
vmovss xmm6, dword [rax + 0x3e80]
call fcn.1401f7d60
vmulss xmm0, xmm6, dword [0x14140eb20]
vdivss xmm0, xmm0, xmm13
call fcn.1401f2ac0
mov r8d, ebx
lea rcx, [0x1413cbd38]
xor edx, edx
call fcn.140215e20
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], bl
mov r8, qword [rcx + 0x4150]
movsxd rdx, dword [r8 + 0x218]
mov rax, qword [r8 + 0x220]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x204], ecx
mov dword [r8 + 0x218], eax
call fcn.1401f2010
mov rcx, qword [0x141443c60]
vmovss xmm8, dword [0x14140eac4]
vmovss xmm9, dword [0x14140ea60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], bl
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x14010ea43
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
lea rcx, [0x1413c9298]
mov rdx, r13
call fcn.1402166f0
jmp 0x14010f341
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413cbd78]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x14010ea84
lea r8, [0x1413cbd78]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbd78]
mov edx, 0x20
mov ecx, edi
call fcn.1402291e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
movzx ebx, al
call fcn.1401f6d00
lea rcx, [0x1413c9298]
mov rdx, r13
call fcn.1402166f0
test bl, bl
je 0x14010f341
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x20]
mov r8d, 0x8000
lea rcx, [0x1413ca3d0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x20], xmm7
vmovss dword [rbp + 0x24], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14010ecaf
cmp qword [rsi + 0x1418], 0
je 0x14010ecaf
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010eb51
nop dword [rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010eb40
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14010ecac
nop dword [rax]
mov r15, qword [rdi + 8]
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
je 0x14010ec5d
cmp byte [r15 + 0x7a], 0
je 0x14010ec5d
lea r14, [rsi + 0x32f0]
mov qword [rbp - 0x70], r15
mov rcx, r14
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x50]
call fcn.140049af0
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsi + 0x3308]
jne 0x14010ec59
lea r8, [rbp + 0xf0]
mov qword [rbp + 0xf0], r15
lea rdx, [rbp - 0x60]
mov byte [rbp + 0xf8], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rbp - 0x58]
test ecx, ecx
je 0x140111dcc
mov rdx, qword [rbp - 0x60]
sub ecx, 1
je 0x14010ec29
sub ecx, 1
je 0x14010ec12
cmp ecx, 1
jne 0x14010ec29
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0xf0]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x210], rdx
mov qword [rbp + 0x218], rcx
vmovups xmm0, xmmword [rbp + 0x210]
vmovups xmmword [rsp + 0x50], xmm0
vmovq rax, xmm0
mov byte [rax + 8], 1
mov rax, qword [rbx + 1]
inc rbx
add rdi, 0x10
test rax, rax
jne 0x14010ec81
nop dword [rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010ec70
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010eb80
xor r12d, r12d
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x28]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x28], xmm7
vmovss dword [rbp + 0x2c], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14010ee9c
cmp qword [rsi + 0x1418], 0
je 0x14010f33c
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010ed41
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010ed30
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14010ee9c
nop dword [rax]
mov r15, qword [rdi + 8]
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
je 0x14010ee4d
cmp byte [r15 + 0x7a], 0
je 0x14010ee4d
lea r14, [rsi + 0x32f0]
mov qword [rbp - 0x70], r15
mov rcx, r14
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x50]
call fcn.140049af0
mov rax, qword [rsp + 0x50]
cmp rax, qword [rsi + 0x3308]
jne 0x14010ee49
lea r8, [rbp + 0x100]
mov qword [rbp + 0x100], r15
lea rdx, [rbp - 0x60]
mov byte [rbp + 0x108], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rbp - 0x58]
test ecx, ecx
je 0x140111dd2
mov rdx, qword [rbp - 0x60]
sub ecx, 1
je 0x14010ee19
sub ecx, 1
je 0x14010ee02
cmp ecx, 1
jne 0x14010ee19
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x100]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x220], rdx
mov qword [rbp + 0x228], rcx
vmovups xmm0, xmmword [rbp + 0x220]
vmovups xmmword [rsp + 0x50], xmm0
vmovq rax, xmm0
mov byte [rax + 8], 0
mov rax, qword [rbx + 1]
inc rbx
add rdi, 0x10
test rax, rax
jne 0x14010ee71
nop dword [rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010ee60
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010ed70
cmp qword [rsi + 0x1418], 0
je 0x14010f33c
mov rdi, qword [rsi + 0x1410]
mov rbx, qword [rsi + 0x1408]
mov r8, rdi
mov qword [rbp - 0x70], rdi
mov rax, qword [rdi]
test rax, rax
jne 0x14010eee1
nop word [rax + rax]
mov rax, qword [rdi + 8]
add rdi, 8
sub rbx, 0xffffffffffffff80
test rax, rax
je 0x14010eed0
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rdi, rcx
shl rcx, 4
add rbx, rcx
cmp rbx, r8
je 0x14010f33c
nop dword [rax]
mov r14, qword [rbx + 8]
cmp byte [r14 + 0x79], 0
je 0x14010f2ed
cmp dword [r14 + 0xb], 0
je 0x14010f2ed
mov rax, qword [r14 + 0x58]
sub rax, qword [r14 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
je 0x14010f2ed
cmp byte [r14 + 0x7a], 0
je 0x14010f2ed
movzx eax, word [r14 + 3]
lea r15, [rsi + 0x150]
movzx edx, ax
mov word [rsp + 0x50], ax
mov rcx, r15
call fcn.140184c20
mov r13, rax
movzx eax, byte [rax + 0x1a]
test al, 1
je 0x14010ef92
mov ecx, dword [r15 + 0xc98]
movzx edx, word [r15 + 0xc9c]
shl rdx, 0x20
or rdx, rcx
mov rcx, qword [r13 + 0x12]
mov r12, qword [rdx + rcx*8]
jmp 0x14010efae
test al, 2
je 0x14010efa7
mov rdx, qword [r13 + 0x12]
mov rcx, r15
call fcn.140184990
mov r12, rax
jmp 0x14010efae
lea r12, [0x1413ca658]
xor ecx, ecx
mov dword [rbp - 0x60], ecx
cmp word [r14], cx
jne 0x14010f016
movzx eax, byte [r14 + 2]
cmp al, byte [rbp - 0x5e]
jne 0x14010f016
movzx edx, word [rsp + 0x50]
mov rcx, r15
call fcn.140184c20
mov rdx, rax
movzx eax, byte [rax + 0x11]
test al, 1
je 0x14010effb
mov eax, dword [r15 + 0xc98]
movzx ecx, word [r15 + 0xc9c]
shl rcx, 0x20
or rcx, rax
mov rax, qword [rdx + 9]
mov rax, qword [rcx + rax*8]
jmp 0x14010f04a
test al, 2
je 0x14010f00d
mov rdx, qword [rdx + 9]
mov rcx, r15
call fcn.140184990
jmp 0x14010f04a
lea rax, [0x1413ca658]
jmp 0x14010f04a
movzx eax, word [r14]
movzx edx, word [rsi + 0xdec]
mov dword [rsp + 0x50], ecx
mov word [rsp + 0x50], ax
movzx eax, byte [r14 + 2]
mov byte [rsp + 0x52], al
mov eax, dword [rsi + 0xde8]
shl rdx, 0x20
or rdx, rax
mov eax, dword [rsp + 0x50]
dec eax
mov rax, qword [rdx + rax*8]
mov r8d, dword [rbx]
lea rdx, [0x1413cac40]
mov r9, rax
lea rcx, [rbp + 0xb300]
call fcn.140005590
mov rax, qword [rbx + 8]
lea r14, [rsi + 0x32f0]
mov rcx, r14
mov qword [rsp + 0x50], rax
lea r8, [rbp - 0x60]
mov qword [rbp - 0x60], rax
lea rdx, [rsp + 0x60]
call fcn.140049af0
mov r15, qword [rsp + 0x60]
cmp r15, qword [rsi + 0x3308]
jne 0x14010f125
mov rax, qword [rsp + 0x50]
lea r8, [rbp + 0x110]
lea rdx, [rbp - 0x80]
mov qword [rbp + 0x110], rax
mov rcx, r14
mov byte [rbp + 0x118], 1
call fcn.14006db40
mov ecx, dword [rbp - 0x78]
test ecx, ecx
je 0x140111dd8
mov rdx, qword [rbp - 0x80]
sub ecx, 1
je 0x14010f0f5
sub ecx, 1
je 0x14010f0de
cmp ecx, 1
jne 0x14010f0f5
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x110]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
vmovups xmm0, xmmword [rbp + 0x230]
vmovups xmmword [rsp + 0x60], xmm0
vmovq r15, xmm0
lea rdx, [rbp + 0x30]
mov ecx, 0xb
vmovss dword [rbp + 0x30], xmm7
vmovss dword [rbp + 0x34], xmm7
call fcn.1401e3960
lea rdx, [r15 + 8]
lea rcx, [rbp + 0xb300]
call fcn.140218f00
mov r15d, 1
mov ecx, r15d
call fcn.1401e39f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010f199
mov eax, dword [rbx]
xor r8d, r8d
mov dword [rsi + 0x29d0], eax
xor edx, edx
mov ecx, r15d
mov byte [rsi + 0x29d4], r15b
call fcn.1401f4650
test al, al
je 0x14010f199
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010f199
mov eax, dword [rbx]
mov dword [rsi + 0x2a38], eax
cmp byte [rsi + 0x3064], 0
je 0x14010f1df
mov rcx, qword [rbx + 8]
movzx eax, word [rsi + 0x306c]
cmp word [rcx + 3], ax
jne 0x14010f1df
vmovss xmm6, dword [rsi + 0x3068]
vmulss xmm0, xmm6, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mov rax, qword [0x141443c60]
vmulss xmm1, xmm0, xmm9
vmulss xmm2, xmm1, xmm6
vaddss xmm1, xmm2, dword [rax + 0x3a44]
jmp 0x14010f1e4
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov r9d, dword [r13 + 0x1b]
test r9d, r9d
jne 0x14010f1fb
mov r14, r12
jmp 0x14010f23b
movsxd rax, dword [0x1414476d0]
lea rcx, [0x14145c6e0]
mov r14, rax
shl r14, 0xc
add r14, rcx
inc eax
and eax, 0x80000007
jge 0x14010f223
dec eax
or eax, 0xfffffff8
inc eax
mov r8, r12
mov dword [0x1414476d0], eax
lea rdx, [0x1413c5ce0]
mov rcx, r14
call fcn.140005590
mov rax, qword [rbx + 8]
mov ecx, dword [rax + 0xb]
call fcn.14004a750
mov r8, r14
lea rcx, [0x1413c9280]
mov rdx, rax
call fcn.1402166f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010f2e9
mov r8d, dword [r13 + 0x1b]
mov r9d, r15d
mov rdx, r12
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.140081120
xor r8d, r8d
xor edx, edx
mov ecx, r15d
call fcn.1401f4650
test al, al
je 0x14010f2e9
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010f2e9
mov rdx, qword [rsi + 0x238]
lea r9, [rsi + 0x150]
mov r8, rsi
mov rcx, r12
call fcn.140027490
test al, al
je 0x14010f2c9
mov r8d, dword [r13 + 0x1b]
mov rdx, r12
mov rcx, rsi
call fcn.14007aec0
jmp 0x14010f2e9
mov rax, qword [rbx + 8]
mov byte [rsi + 0x3064], r15b
mov dword [rsi + 0x3068], 0x3f000000
movzx eax, word [rax + 3]
mov word [rsi + 0x306c], ax
mov r8, qword [rbp - 0x70]
mov rax, qword [rdi + 1]
inc rdi
add rbx, 0x10
test rax, rax
jne 0x14010f311
nop dword [rax]
mov rax, qword [rdi + 8]
add rdi, 8
sub rbx, 0xffffffffffffff80
test rax, rax
je 0x14010f300
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add rdi, rcx
shl rcx, 4
add rbx, rcx
cmp rbx, r8
jne 0x14010ef10
call fcn.140229f60
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x14010f38a
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [rsp + 0x70]
lea rcx, [0x1413c9298]
call fcn.1402166f0
jmp 0x14010fd91
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413cbda8]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x14010f3cb
lea r8, [0x1413cbda8]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbda8]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
movzx ebx, al
call fcn.1401f6d00
mov rdx, qword [rsp + 0x70]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x14010fd91
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x38]
xor r13d, r13d
lea rcx, [0x1413ca3d0]
mov r8d, 0x8000
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rbp + 0x38], xmm7
vmovss dword [rbp + 0x3c], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14010f60c
cmp qword [rsi + 0x1418], r13
je 0x14010f60c
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010f4a8
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010f490
mov r12, qword [rsi + 0x1410]
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14010f60c
nop dword [rax]
nop word [rax + rax]
mov r15, qword [rdi + 8]
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
je 0x14010f5be
cmp byte [r15 + 0x7a], r13b
jne 0x14010f5be
lea r14, [rsi + 0x32f0]
mov qword [rsp + 0x70], r15
mov rcx, r14
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
call fcn.140049af0
mov rax, qword [rbp - 0x80]
cmp rax, qword [rsi + 0x3308]
jne 0x14010f5ba
lea r8, [rbp + 0x120]
mov qword [rbp + 0x120], r15
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x128], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111dde
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x14010f58b
sub ecx, 1
je 0x14010f574
cmp ecx, 1
jne 0x14010f58b
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x120]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x240], rdx
mov qword [rbp + 0x248], rcx
vmovups xmm0, xmmword [rbp + 0x240]
vmovups xmmword [rbp - 0x80], xmm0
vmovq rax, xmm0
mov byte [rax + 8], 1
mov rax, qword [rbx + 1]
inc rbx
add rdi, 0x10
test rax, rax
jne 0x14010f5e1
nop
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010f5d0
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010f4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x40]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rbp + 0x40], xmm7
vmovss dword [rbp + 0x44], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14010f80c
cmp qword [rsi + 0x1418], r13
je 0x14010fd8c
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010f6a8
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010f690
mov r12, qword [rsi + 0x1410]
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14010f80c
nop dword [rax]
nop word [rax + rax]
mov r15, qword [rdi + 8]
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
je 0x14010f7be
cmp byte [r15 + 0x7a], r13b
jne 0x14010f7be
lea r14, [rsi + 0x32f0]
mov qword [rsp + 0x70], r15
mov rcx, r14
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x80]
call fcn.140049af0
mov rax, qword [rbp - 0x80]
cmp rax, qword [rsi + 0x3308]
jne 0x14010f7ba
lea r8, [rbp + 0x130]
mov qword [rbp + 0x130], r15
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x138], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111de4
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x14010f78b
sub ecx, 1
je 0x14010f774
cmp ecx, 1
jne 0x14010f78b
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x130]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x250], rdx
mov qword [rbp + 0x258], rcx
vmovups xmm0, xmmword [rbp + 0x250]
vmovups xmmword [rbp - 0x80], xmm0
vmovq rax, xmm0
mov byte [rax + 8], r13b
mov rax, qword [rbx + 1]
inc rbx
add rdi, 0x10
test rax, rax
jne 0x14010f7e1
nop
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010f7d0
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010f6e0
cmp qword [rsi + 0x1418], r13
je 0x14010fd8c
mov r14, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r8, r14
mov qword [rbp - 0x70], r14
mov rax, qword [r14]
test rax, rax
jne 0x14010f85c
nop word [rax + rax]
mov rax, qword [r14 + 8]
add r14, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010f840
mov r8, qword [rsi + 0x1410]
mov qword [rbp - 0x70], r8
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r14, rcx
shl rcx, 4
add rdi, rcx
cmp rdi, r8
je 0x14010fd8c
nop word [rax + rax]
mov r15, qword [rdi + 8]
cmp byte [r15 + 0x79], 0
je 0x14010fd3b
cmp dword [r15 + 0xb], 0
je 0x14010fd3b
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
je 0x14010fd3b
cmp byte [r15 + 0x7a], 0
jne 0x14010fd3b
movsx r12, word [r15 + 3]
test r12w, r12w
jns 0x14010f907
mov eax, dword [rsi + 0xef8]
movzx edx, word [rsi + 0xefc]
shl rdx, 0x20
or rdx, rax
mov eax, r12d
not eax
cdqe
lea rcx, [rax + rax*2]
movzx r13d, word [rdx + rcx*2 + 4]
mov eax, dword [rdx + rcx*2]
shl r13, 0x20
or r13, rax
jmp 0x14010f941
mov eax, dword [rsi + 0xf48]
movzx ecx, word [rsi + 0xf4c]
shl rcx, 0x20
or rcx, rax
lea rdx, [rcx + r12*8]
lea rcx, [rsi + 0xeb8]
call fcn.1401b58e0
mov r13, qword [rsi + 0xec8]
add r13, 8
lea rcx, [rax + rax*2]
shl rcx, 4
add r13, rcx
movzx eax, byte [r13 + 0x1a]
lea rbx, [rsi + 0x150]
test al, 1
je 0x14010f96f
mov eax, dword [rbx + 0xc98]
movzx ecx, word [rbx + 0xc9c]
shl rcx, 0x20
or rcx, rax
mov rax, qword [r13 + 0x12]
mov rax, qword [rcx + rax*8]
jmp 0x14010f988
test al, 2
je 0x14010f981
mov rdx, qword [r13 + 0x12]
mov rcx, rbx
call fcn.140184990
jmp 0x14010f988
lea rax, [0x1413ca658]
xor ecx, ecx
mov qword [rsp + 0x70], rax
mov dword [rbp - 0x60], ecx
cmp word [r15], cx
jne 0x14010fa64
movzx eax, byte [r15 + 2]
cmp al, byte [rbp - 0x5e]
jne 0x14010fa64
test r12w, r12w
jns 0x14010f9e1
mov eax, dword [rsi + 0xef8]
movzx edx, word [rsi + 0xefc]
shl rdx, 0x20
or rdx, rax
mov eax, r12d
not eax
cdqe
lea rcx, [rax + rax*2]
movzx r8d, word [rdx + rcx*2 + 4]
mov eax, dword [rdx + rcx*2]
shl r8, 0x20
or r8, rax
jmp 0x14010fa22
mov eax, dword [rsi + 0xf48]
movzx ecx, word [rsi + 0xf4c]
shl rcx, 0x20
or rcx, rax
lea rdx, [rcx + r12*8]
lea rcx, [rsi + 0xeb8]
call fcn.1401b58e0
mov r8, qword [rsi + 0xec8]
lea rbx, [rsi + 0x150]
add r8, 8
lea rcx, [rax + rax*2]
shl rcx, 4
add r8, rcx
movzx eax, byte [r8 + 0x11]
test al, 1
je 0x14010fa49
mov eax, dword [rbx + 0xc98]
movzx ecx, word [rbx + 0xc9c]
shl rcx, 0x20
or rcx, rax
mov rax, qword [r8 + 9]
mov rax, qword [rcx + rax*8]
jmp 0x14010fa98
test al, 2
je 0x14010fa5b
mov rdx, qword [r8 + 9]
mov rcx, rbx
call fcn.140184990
jmp 0x14010fa98
lea rax, [0x1413ca658]
jmp 0x14010fa98
movzx eax, word [r15]
movzx edx, word [rsi + 0xdec]
mov dword [rsp + 0x50], ecx
mov word [rsp + 0x50], ax
movzx eax, byte [r15 + 2]
mov byte [rsp + 0x52], al
mov eax, dword [rsi + 0xde8]
shl rdx, 0x20
or rdx, rax
mov eax, dword [rsp + 0x50]
dec eax
mov rax, qword [rdx + rax*8]
mov r8d, dword [rdi]
lea rdx, [0x1413cac40]
mov r9, rax
lea rcx, [rbp + 0xb700]
call fcn.140005590
mov r12, qword [rdi + 8]
lea rbx, [rsi + 0x32f0]
mov rcx, rbx
mov qword [rbp - 0x60], r12
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
call fcn.140049af0
mov r15, qword [rbp - 0x80]
cmp r15, qword [rsi + 0x3308]
jne 0x14010fb69
lea r8, [rbp + 0x140]
mov qword [rbp + 0x140], r12
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x148], 1
mov rcx, rbx
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111dea
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x14010fb3a
sub ecx, 1
je 0x14010fb23
cmp ecx, 1
jne 0x14010fb3a
mov rax, qword [rbx + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x140]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [rbx + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [rbx + 0x10]
mov qword [rbp + 0x260], rdx
mov qword [rbp + 0x268], rcx
vmovups xmm0, xmmword [rbp + 0x260]
vmovups xmmword [rbp - 0x80], xmm0
vmovq r15, xmm0
lea rdx, [rbp + 0x48]
mov ecx, 0xb
vmovss dword [rbp + 0x48], xmm7
vmovss dword [rbp + 0x4c], xmm7
call fcn.1401e3960
lea rdx, [r15 + 8]
lea rcx, [rbp + 0xb700]
call fcn.140218f00
mov r12d, 1
mov ecx, r12d
call fcn.1401e39f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010fbdd
mov eax, dword [rdi]
xor r8d, r8d
mov dword [rsi + 0x29d0], eax
xor edx, edx
mov ecx, r12d
mov byte [rsi + 0x29d4], r12b
call fcn.1401f4650
test al, al
je 0x14010fbdd
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010fbdd
mov eax, dword [rdi]
mov dword [rsi + 0x2a38], eax
cmp byte [rsi + 0x3064], 0
je 0x14010fc23
mov rcx, qword [rdi + 8]
movzx eax, word [rsi + 0x306c]
cmp word [rcx + 3], ax
jne 0x14010fc23
vmovss xmm6, dword [rsi + 0x3068]
vmulss xmm0, xmm6, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mov rax, qword [0x141443c60]
vmulss xmm1, xmm0, xmm9
vmulss xmm2, xmm1, xmm6
vaddss xmm1, xmm2, dword [rax + 0x3a44]
jmp 0x14010fc28
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov r9d, dword [r13 + 0x1b]
test r9d, r9d
jne 0x14010fc44
mov r15, qword [rsp + 0x70]
mov rbx, r15
jmp 0x14010fc89
movsxd rax, dword [0x1414476d0]
lea rcx, [0x14145c6e0]
mov rbx, rax
shl rbx, 0xc
add rbx, rcx
inc eax
and eax, 0x80000007
jge 0x14010fc6c
dec eax
or eax, 0xfffffff8
inc eax
mov r15, qword [rsp + 0x70]
lea rdx, [0x1413c5ce0]
mov r8, r15
mov dword [0x1414476d0], eax
mov rcx, rbx
call fcn.140005590
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 0xb]
call fcn.14004a750
mov r8, rbx
lea rcx, [0x1413c9280]
mov rdx, rax
call fcn.1402166f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010fd37
mov r8d, dword [r13 + 0x1b]
mov r9d, r12d
mov rdx, r15
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.140081120
xor r8d, r8d
xor edx, edx
mov ecx, r12d
call fcn.1401f4650
test al, al
je 0x14010fd37
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x14010fd37
mov rdx, qword [rsi + 0x238]
lea r9, [rsi + 0x150]
mov r8, rsi
mov rcx, r15
call fcn.140027490
test al, al
je 0x14010fd17
mov r8d, dword [r13 + 0x1b]
mov rdx, r15
mov rcx, rsi
call fcn.14007aec0
jmp 0x14010fd37
mov rax, qword [rdi + 8]
mov byte [rsi + 0x3064], r12b
mov dword [rsi + 0x3068], 0x3f000000
movzx eax, word [rax + 3]
mov word [rsi + 0x306c], ax
mov r8, qword [rbp - 0x70]
mov rax, qword [r14 + 1]
inc r14
add rdi, 0x10
test rax, rax
jne 0x14010fd61
nop dword [rax + rax]
mov rax, qword [r14 + 8]
add r14, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010fd50
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r14, rcx
shl rcx, 4
add rdi, rcx
cmp rdi, r8
jne 0x14010f890
call fcn.140229f60
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x14010fdda
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [rsp + 0x40]
lea rcx, [0x1413c9298]
call fcn.1402166f0
jmp 0x140110801
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413cbe40]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x14010fe1b
lea r8, [0x1413cbe40]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbe40]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
movzx ebx, al
call fcn.1401f6d00
mov rdx, qword [rsp + 0x40]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x140110801
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x50]
xor r13d, r13d
lea rcx, [0x1413ca3d0]
mov r8d, 0x8000
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rbp + 0x50], xmm7
vmovss dword [rbp + 0x54], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14011005c
cmp qword [rsi + 0x1418], r13
je 0x14011005c
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x14010fef8
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x14010fee0
mov r12, qword [rsi + 0x1410]
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14011005c
nop dword [rax]
nop word [rax + rax]
mov r15, qword [rdi + 8]
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
jne 0x140110004
lea r14, [rsi + 0x32f0]
mov qword [rsp + 0x40], r15
mov rcx, r14
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x80]
call fcn.140049af0
mov rax, qword [rbp - 0x80]
cmp rax, qword [rsi + 0x3308]
jne 0x140110000
lea r8, [rbp + 0x150]
mov qword [rbp + 0x150], r15
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x158], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111df0
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x14010ffd1
sub ecx, 1
je 0x14010ffba
cmp ecx, 1
jne 0x14010ffd1
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x150]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x270], rdx
mov qword [rbp + 0x278], rcx
vmovups xmm0, xmmword [rbp + 0x270]
vmovups xmmword [rbp - 0x80], xmm0
vmovq rax, xmm0
mov byte [rax + 8], 1
mov rax, qword [rbx + 1]
inc rbx
add rdi, 0x10
test rax, rax
jne 0x140110031
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x140110020
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x14010ff30
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x58]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rbp + 0x58], xmm7
vmovss dword [rbp + 0x5c], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x14011025c
cmp qword [rsi + 0x1418], r13
je 0x1401107fc
mov rbx, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r12, rbx
mov rax, qword [rbx]
test rax, rax
jne 0x1401100f8
nop word [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x1401100e0
mov r12, qword [rsi + 0x1410]
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
je 0x14011025c
nop dword [rax]
nop word [rax + rax]
mov r15, qword [rdi + 8]
mov rax, qword [r15 + 0x58]
sub rax, qword [r15 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
jne 0x140110204
lea r14, [rsi + 0x32f0]
mov qword [rsp + 0x40], r15
mov rcx, r14
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x80]
call fcn.140049af0
mov rax, qword [rbp - 0x80]
cmp rax, qword [rsi + 0x3308]
jne 0x140110200
lea r8, [rbp + 0x160]
mov qword [rbp + 0x160], r15
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x168], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111df6
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x1401101d1
sub ecx, 1
je 0x1401101ba
cmp ecx, 1
jne 0x1401101d1
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x160]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x280], rdx
mov qword [rbp + 0x288], rcx
vmovups xmm0, xmmword [rbp + 0x280]
vmovups xmmword [rbp - 0x80], xmm0
vmovq rax, xmm0
mov byte [rax + 8], r13b
mov rax, qword [rbx + 1]
inc rbx
add rdi, 0x10
test rax, rax
jne 0x140110231
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbx + 8]
add rbx, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x140110220
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
shl rcx, 4
add rdi, rcx
cmp rdi, r12
jne 0x140110130
cmp qword [rsi + 0x1418], r13
je 0x1401107fc
mov r14, qword [rsi + 0x1410]
mov rdi, qword [rsi + 0x1408]
mov r8, r14
mov qword [rbp - 0x70], r14
mov rax, qword [r14]
test rax, rax
jne 0x1401102ac
nop word [rax + rax]
mov rax, qword [r14 + 8]
add r14, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x140110290
mov r8, qword [rsi + 0x1410]
mov qword [rbp - 0x70], r8
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r14, rcx
shl rcx, 4
add rdi, rcx
cmp rdi, r8
je 0x1401107fc
nop word [rax + rax]
mov r12, qword [rdi + 8]
cmp byte [r12 + 0x79], 0
je 0x1401107b0
cmp dword [r12 + 0xb], 0
je 0x1401107b0
mov rax, qword [r12 + 0x58]
sub rax, qword [r12 + 0x50]
and rax, 0xfffffffffffffff8
cmp rax, 8
jne 0x1401107b0
movsx ebx, word [r12 + 3]
mov word [rsp + 0x50], bx
test bx, bx
jns 0x140110354
mov eax, dword [rsi + 0xef8]
movzx edx, word [rsi + 0xefc]
shl rdx, 0x20
or rdx, rax
mov eax, ebx
not eax
cdqe
lea rcx, [rax + rax*2]
movzx r15d, word [rdx + rcx*2 + 4]
mov eax, dword [rdx + rcx*2]
shl r15, 0x20
or r15, rax
jmp 0x14011039a
mov eax, dword [rsi + 0xf48]
movzx ecx, word [rsi + 0xf4c]
shl rcx, 0x20
or rcx, rax
movsx rax, word [r12 + 3]
lea rdx, [rcx + rax*8]
lea rcx, [rsi + 0xeb8]
call fcn.1401b58e0
mov r15, qword [rsi + 0xec8]
movzx ebx, word [r12 + 3]
add r15, 8
lea rcx, [rax + rax*2]
shl rcx, 4
add r15, rcx
movzx ecx, byte [r15 + 0x1a]
test cl, 1
je 0x1401103c2
mov eax, dword [rsi + 0xde8]
movzx ecx, word [rsi + 0xdec]
shl rcx, 0x20
or rcx, rax
mov rax, qword [r15 + 0x12]
mov r13, qword [rcx + rax*8]
jmp 0x1401103e6
test cl, 2
je 0x1401103df
mov rdx, qword [r15 + 0x12]
lea rcx, [rsi + 0x150]
call fcn.140184990
mov r13, rax
jmp 0x1401103e6
lea r13, [0x1413ca658]
xor ecx, ecx
mov dword [rbp - 0x60], ecx
cmp word [r12], cx
jne 0x1401104c1
movzx eax, byte [r12 + 2]
cmp al, byte [rbp - 0x5e]
jne 0x1401104c1
test bx, bx
jns 0x14011043b
mov eax, dword [rsi + 0xef8]
movzx edx, word [rsi + 0xefc]
shl rdx, 0x20
or rdx, rax
movsx eax, bx
not eax
cdqe
lea rcx, [rax + rax*2]
movzx r8d, word [rdx + rcx*2 + 4]
mov eax, dword [rdx + rcx*2]
shl r8, 0x20
or r8, rax
jmp 0x14011047b
mov eax, dword [rsi + 0xf48]
movzx ecx, word [rsi + 0xf4c]
shl rcx, 0x20
or rcx, rax
movsx rax, word [rsp + 0x50]
lea rdx, [rcx + rax*8]
lea rcx, [rsi + 0xeb8]
call fcn.1401b58e0
mov r8, qword [rsi + 0xec8]
add r8, 8
lea rcx, [rax + rax*2]
shl rcx, 4
add r8, rcx
movzx eax, byte [r8 + 0x11]
test al, 1
je 0x1401104a2
mov eax, dword [rsi + 0xde8]
movzx ecx, word [rsi + 0xdec]
shl rcx, 0x20
or rcx, rax
mov rax, qword [r8 + 9]
mov rax, qword [rcx + rax*8]
jmp 0x1401104f7
test al, 2
je 0x1401104b8
mov rdx, qword [r8 + 9]
lea rcx, [rsi + 0x150]
call fcn.140184990
jmp 0x1401104f7
lea rax, [0x1413ca658]
jmp 0x1401104f7
movzx eax, word [r12]
movzx edx, word [rsi + 0xdec]
mov dword [rsp + 0x50], ecx
mov word [rsp + 0x50], ax
movzx eax, byte [r12 + 2]
mov byte [rsp + 0x52], al
mov eax, dword [rsi + 0xde8]
shl rdx, 0x20
or rdx, rax
mov eax, dword [rsp + 0x50]
dec eax
mov rax, qword [rdx + rax*8]
mov r8d, dword [rdi]
lea rdx, [0x1413cac40]
mov r9, rax
lea rcx, [rbp + 0xbb00]
call fcn.140005590
mov rax, qword [rdi + 8]
lea rbx, [rsi + 0x32f0]
mov rcx, rbx
mov qword [rsp + 0x70], rax
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x80]
call fcn.140049af0
mov r12, qword [rbp - 0x80]
cmp r12, qword [rsi + 0x3308]
jne 0x1401105d8
mov rax, qword [rsp + 0x70]
lea r8, [rbp + 0x170]
lea rdx, [rsp + 0x60]
mov qword [rbp + 0x170], rax
mov rcx, rbx
mov byte [rbp + 0x178], 1
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111dfc
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x1401105a9
sub ecx, 1
je 0x140110592
cmp ecx, 1
jne 0x1401105a9
mov rax, qword [rbx + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x170]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [rbx + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [rbx + 0x10]
mov qword [rbp + 0x290], rdx
mov qword [rbp + 0x298], rcx
vmovups xmm0, xmmword [rbp + 0x290]
vmovups xmmword [rbp - 0x80], xmm0
vmovq r12, xmm0
lea rdx, [rbp + 0x60]
mov ecx, 0xb
vmovss dword [rbp + 0x60], xmm7
vmovss dword [rbp + 0x64], xmm7
call fcn.1401e3960
lea rdx, [r12 + 8]
lea rcx, [rbp + 0xbb00]
call fcn.140218f00
mov r12d, 1
mov ecx, r12d
call fcn.1401e39f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x140110651
mov eax, dword [rdi]
xor r8d, r8d
mov dword [rsi + 0x29d0], eax
xor edx, edx
mov ecx, r12d
mov byte [rsi + 0x29d4], r12b
call fcn.1401f4650
test al, al
je 0x140110651
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x140110651
mov eax, dword [rdi]
mov dword [rsi + 0x2a38], eax
cmp byte [rsi + 0x3064], 0
je 0x14011069a
mov rcx, qword [rdi + 8]
movzx eax, word [rsi + 0x306c]
cmp word [rcx + 3], ax
jne 0x14011069a
vmovss xmm6, dword [rsi + 0x3068]
vmulss xmm0, xmm6, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
mov rax, qword [0x141443c60]
vmulss xmm1, xmm0, xmm9
vmulss xmm2, xmm1, xmm6
vaddss xmm1, xmm2, dword [rax + 0x3a44]
jmp 0x14011069f
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov r9d, dword [r15 + 0x1b]
test r9d, r9d
jne 0x1401106ba
mov rbx, r13
jmp 0x1401106fe
movsxd rax, dword [0x1414476d0]
lea rcx, [0x14145c6e0]
mov rbx, rax
shl rbx, 0xc
add rbx, rcx
inc eax
and eax, 0x80000007
jge 0x1401106e6
dec eax
or eax, 0xfffffff8
inc eax
mov r8, r13
mov dword [0x1414476d0], eax
lea rdx, [0x1413c5ce0]
mov rcx, rbx
call fcn.140005590
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 0xb]
call fcn.14004a750
mov r8, rbx
lea rcx, [0x1413c9280]
mov rdx, rax
call fcn.1402166f0
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1401107ac
mov r8d, dword [r15 + 0x1b]
mov r9d, r12d
mov rdx, r13
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.140081120
xor r8d, r8d
xor edx, edx
mov ecx, r12d
call fcn.1401f4650
test al, al
je 0x1401107ac
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1401107ac
mov rdx, qword [rsi + 0x238]
lea r9, [rsi + 0x150]
mov r8, rsi
mov rcx, r13
call fcn.140027490
test al, al
je 0x14011078c
mov r8d, dword [r15 + 0x1b]
mov rdx, r13
mov rcx, rsi
call fcn.14007aec0
jmp 0x1401107ac
mov rax, qword [rdi + 8]
mov byte [rsi + 0x3064], r12b
mov dword [rsi + 0x3068], 0x3f000000
movzx eax, word [rax + 3]
mov word [rsi + 0x306c], ax
mov r8, qword [rbp - 0x70]
mov rax, qword [r14 + 1]
inc r14
add rdi, 0x10
test rax, rax
jne 0x1401107d1
mov rax, qword [r14 + 8]
add r14, 8
sub rdi, 0xffffffffffffff80
test rax, rax
je 0x1401107c0
bsf rcx, rax
mov eax, 0x40
cmovne eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rcx, eax
add r14, rcx
shl rcx, 4
add rdi, rcx
cmp rdi, r8
jne 0x1401102e0
call fcn.140229f60
call fcn.140229f60
xor r12d, r12d
mov ebx, 4
cmp dword [rsi + 0xc2e], 0
je 0x140110bee
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x140110863
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140110859
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
cmp byte [rsi + 0x27b3], 0
lea rdx, [rsp + 0x50]
lea rcx, [0x1413cbe68]
setne byte [rsp + 0x50]
call fcn.140218f00
movzx eax, byte [rsp + 0x50]
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
mov byte [rsi + 0x27b3], al
call fcn.1401f6d00
mov eax, dword [rsi + 0x27c4]
lea r9, [rsp + 0x50]
mov dword [rbp - 0x48], eax
lea r8, [rbp - 0x48]
lea rax, [0x1413a1d4c]
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x28], rax
lea rcx, [0x1413cbe78]
lea rax, [rbp - 0x60]
mov dword [rbp - 0x60], 0xc8
mov edx, ebx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x50], 0x1e
call fcn.14021cdc0
mov eax, dword [rbp - 0x48]
mov rcx, qword [0x141443c60]
mov dword [rsi + 0x27c4], eax
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x140110918
xor bl, bl
jmp 0x14011096f
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413cbe88]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x140110959
lea r8, [0x1413cbe88]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbe88]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
movzx ebx, al
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov edx, dword [rsi + 0xc2e]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x140110bee
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x68]
mov r8d, 0x8000
lea rcx, [0x1413ca3d0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x68], xmm7
vmovss dword [rbp + 0x6c], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140110a48
mov eax, dword [rsi + 0xc28]
movzx ebx, word [rsi + 0xc2c]
shl rbx, 0x20
or rbx, rax
mov eax, dword [rsi + 0xc2e]
lea rdi, [rbx + rax*8]
cmp rbx, rdi
je 0x140110a48
nop word [rax + rax]
mov rax, qword [rbx]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rcx, [rsi + 0x27e0]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
mov dl, 1
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
add rbx, 8
cmp rbx, rdi
jne 0x140110a10
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x70]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x70], xmm7
vmovss dword [rbp + 0x74], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140110af8
mov eax, dword [rsi + 0xc28]
movzx ebx, word [rsi + 0xc2c]
shl rbx, 0x20
or rbx, rax
mov eax, dword [rsi + 0xc2e]
lea rdi, [rbx + rax*8]
cmp rbx, rdi
je 0x140110af8
nop dword [rax + rax]
mov rax, qword [rbx]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rcx, [rsi + 0x27e0]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
xor edx, edx
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
add rbx, 8
cmp rbx, rdi
jne 0x140110ac0
mov eax, dword [rsi + 0xc28]
movzx r14d, word [rsi + 0xc2c]
shl r14, 0x20
or r14, rax
mov eax, dword [rsi + 0xc2e]
lea r15, [r14 + rax*8]
cmp r14, r15
je 0x140110be9
lea r12, [rsi + 0x150]
lea r13, [rsi + 0x27e0]
mov esi, 1
mov rcx, qword [r14]
mov rdx, r12
call fcn.140077970
mov ecx, eax
call fcn.14002d4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [r14]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rdx
mov rcx, r13
lea rdx, [rsp + 0x60]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
mov rdi, qword [rax + 8]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + 0x38]
lea rdx, [rbp + 0x78]
mov ecx, 0xb
mov rbx, rax
vmovss dword [rbp + 0x78], xmm7
vmovss dword [rbp + 0x7c], xmm7
call fcn.1401e3960
lea rdx, [rdi + 8]
mov rcx, rbx
call fcn.140218f00
mov ecx, esi
call fcn.1401e39f0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [r14]
mov ecx, dword [rdx + 0x26]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413cbe18]
call fcn.1402166f0
add r14, 8
cmp r14, r15
jne 0x140110b33
mov rsi, qword [rbp - 0x50]
xor r12d, r12d
call fcn.140229f60
mov rax, qword [0x141443c60]
mov rdx, qword [rax + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x140110c32
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x140110c28
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x140110c5f
xor bl, bl
jmp 0x140110cb6
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413ca3e0]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x140110ca0
lea r8, [0x1413ca3e0]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413ca3e0]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
movzx ebx, al
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov edx, dword [rsi + 0x13e]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x140111794
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x80]
mov r8d, 0x8000
lea rcx, [0x1413ca3d0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x80], xmm7
vmovss dword [rbp + 0x84], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140110d96
mov eax, dword [rsi + 0x138]
movzx ebx, word [rsi + 0x13c]
shl rbx, 0x20
or rbx, rax
mov eax, dword [rsi + 0x13e]
lea rdi, [rbx + rax*8]
cmp rbx, rdi
je 0x140110d96
nop word [rax + rax]
mov rax, qword [rbx]
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x60]
mov qword [rbp - 0x50], rax
lea rcx, [rsi + 0x27e0]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
mov dl, 1
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
add rbx, 8
cmp rbx, rdi
jne 0x140110d60
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x88]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x88], xmm7
vmovss dword [rbp + 0x8c], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140110e56
mov eax, dword [rsi + 0x138]
movzx ebx, word [rsi + 0x13c]
shl rbx, 0x20
or rbx, rax
mov eax, dword [rsi + 0x13e]
lea rdi, [rbx + rax*8]
cmp rbx, rdi
je 0x140110e56
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx]
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x60]
mov qword [rbp - 0x50], rax
lea rcx, [rsi + 0x27e0]
call fcn.140049af0
mov rax, qword [rsp + 0x60]
xor edx, edx
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
add rbx, 8
cmp rbx, rdi
jne 0x140110e20
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0x90]
mov r8d, 0x8000
lea rcx, [0x1413cbe28]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r12d
vmovss dword [rbp + 0x90], xmm7
vmovss dword [rbp + 0x94], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140110ed6
movzx ecx, word [rsi + 0x13c]
mov r9, rsi
mov eax, dword [rsi + 0x138]
mov r8d, dword [rsi + 0x13e]
shl rcx, 0x20
or rcx, rax
lea rdx, [rcx + r8*8]
call fcn.1401120d0
mov rdx, qword [0x141443c60]
mov r13d, r12d
mov rax, qword [rdx + 0x4150]
vmovss xmm10, dword [rax + 0x140]
mov dword [rsi + 0x149], r12d
mov eax, dword [rsi + 0x138]
movzx r14d, word [rsi + 0x13c]
shl r14, 0x20
or r14, rax
mov eax, dword [rsi + 0x13e]
lea rax, [r14 + rax*8]
mov qword [rsp + 0x70], rax
cmp r14, rax
je 0x14011138c
vmovdqu xmm8, xmmword [0x14140f020]
vmovdqu xmm9, xmmword [0x14140f010]
lea r15, [rsi + 0x143]
mov rax, qword [rdx + 0x4150]
lea r12, [rsi + 0x150]
movzx ecx, word [r15 + 4]
shl rcx, 0x20
vmovss xmm6, dword [rax + 0x144]
mov eax, dword [r15]
or rcx, rax
jne 0x140110f69
xor eax, eax
jmp 0x140110f7b
movzx eax, byte [r15 + 0xa]
mov ecx, 1
and eax, 0x7f
shlx eax, ecx, eax
cmp dword [r15 + 6], eax
jne 0x140110f90
mov rcx, r15
call fcn.140111f10
mov rdx, qword [0x141443c60]
mov eax, dword [r15]
movzx ecx, word [r15 + 4]
shl rcx, 0x20
or rcx, rax
mov eax, dword [r15 + 6]
vmovss dword [rcx + rax*4], xmm6
inc dword [r15 + 6]
mov rbx, qword [rdx + 0x4150]
mov edx, r13d
mov rcx, rbx
call fcn.1401f34b0
add rbx, 0x130
mov edi, eax
mov ecx, dword [rbx]
mov r8d, dword [rbx + 4]
cmp ecx, r8d
jne 0x140110ffd
inc ecx
test r8d, r8d
je 0x140110fe9
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140110fee
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], edi
mov rcx, r12
inc dword [rbx]
mov rdx, qword [r14]
mov rdx, qword [rdx]
call fcn.140184a80
cmp byte [rsi + 0x27bc], 0
mov qword [rsp + 0x40], rax
jne 0x140111031
mov r12d, 0xffcc5555
jmp 0x140111041
mov rcx, qword [r14]
xor edx, edx
mov rcx, qword [rcx]
call fcn.1400271a0
mov r12d, eax
mov ecx, r12d
call fcn.14002d4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [r14]
lea r8, [rbp - 0x50]
mov qword [rbp - 0x50], rdx
lea rcx, [rsi + 0x27e0]
lea rdx, [rsp + 0x60]
call fcn.140049af0
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rcx + 8]
mov rcx, rdi
mov rax, qword [rdi]
call qword [rax + 0x38]
lea rdx, [rbp + 0x98]
mov ecx, 0xb
mov rbx, rax
vmovss dword [rbp + 0x98], xmm7
vmovss dword [rbp + 0x9c], xmm7
call fcn.1401e3960
lea rdx, [rdi + 8]
mov rcx, rbx
call fcn.140218f00
mov edi, 1
mov ecx, edi
call fcn.1401e39f0
mov ecx, 4
call fcn.1401fd370
test al, al
je 0x1401111b3
mov rdi, qword [0x141443c60]
lea rdx, [0x1413cbe30]
mov r8d, 0x20
lea rcx, [rdi + 0x4f48]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea rcx, [rdi + 0x4fb0]
mov byte [rdi + 0x4f68], 0
xor edx, edx
call fcn.14020b280
lea rax, [rdi + 0x4fc0]
xor edx, edx
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rax], xmm0
mov qword [rdi + 0x4f30], rax
lea rcx, [0x1413cbe3c]
mov dword [rax], r13d
mov dword [rdi + 0x4f38], 4
mov eax, dword [rdi + 0x40a8]
mov dword [rdi + 0x4f44], eax
mov edi, 1
mov r8d, edi
call fcn.140215e20
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov ecx, r12d
call fcn.14002d4e0
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rcx, qword [rsp + 0x40]
mov r8d, edi
xor edx, edx
call fcn.140215e20
mov rbx, qword [0x141443c60]
test byte [rbx + 0x4f20], dil
jne 0x14011119a
call fcn.1401f7f30
cmp dword [rbx + 0x4f44], 0xffffffff
jne 0x1401111ac
call fcn.1401fd250
mov byte [rbx + 0x4f1d], 0
mov rax, qword [0x141443c60]
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
call fcn.1401f6d00
mov rcx, qword [r14]
mov rcx, qword [rcx]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413a2644]
call fcn.1402166f0
mov rax, qword [r14]
mov rcx, qword [rax]
cmp qword [rsi + 0x1589], rcx
jne 0x1401112ca
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor ecx, ecx
lea rdx, [rbp + 0x2d0]
vmovups xmmword [rbp + 0x2d0], xmm9
call fcn.1401e3800
mov r8d, edi
lea rcx, [0x1413c84ac]
xor edx, edx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140111274
mov rcx, qword [r8 + 0x4c08]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
xor ecx, ecx
call fcn.1401e7340
test al, al
je 0x1401112ca
xor edx, edx
xor ecx, ecx
call fcn.1401f7d60
mov r8d, edi
lea rcx, [0x1413cbe90]
xor edx, edx
call fcn.140215e20
call fcn.1401f2010
cmp byte [0x141446be5], 0
je 0x1401112b2
mov byte [rsi + 0x2fab], 1
cmp byte [0x141446be7], 0
je 0x1401112ca
mov rdx, qword [rsi + 0x1591]
mov rcx, rsi
call fcn.14010ba30
mov rax, qword [r14]
cmp byte [rax + 0xa0], 0
je 0x140111348
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
xor ecx, ecx
lea rdx, [rbp + 0x2e0]
vmovups xmmword [rbp + 0x2e0], xmm8
call fcn.1401e3800
mov r8d, edi
lea rcx, [0x1413c71f8]
xor edx, edx
call fcn.140215e20
mov r8, qword [0x141443c60]
movsxd rax, dword [r8 + 0x4c00]
cmp eax, 1
jl 0x140111348
mov rcx, qword [r8 + 0x4c08]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
vmovups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
vmovups xmmword [r8 + rax*8 + 0x3ae8], xmm0
dec dword [r8 + 0x4c00]
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rdx, qword [r14]
mov ecx, dword [rdx + 0x16]
call fcn.14004a750
mov rdx, rax
lea rcx, [0x1413cbce0]
call fcn.1402166f0
mov rdx, qword [0x141443c60]
inc r13d
add r14, 8
cmp r14, qword [rsp + 0x70]
jne 0x140110f3a
xor r12d, r12d
mov r8d, dword [rsi + 0x149]
cmp r8d, 1
jbe 0x14011178f
mov rcx, qword [rdx + 0x4150]
mov rax, rcx
cmp qword [rcx + 0x1e8], 0
jne 0x1401113ca
cmp qword [rdx + 0x4fe8], 0
jne 0x1401113ca
add rax, 0x290
jmp 0x1401113d0
add rax, 0x260
vmovss xmm0, dword [rax]
vsubss xmm9, xmm0, dword [rcx + 0x140]
lea rdi, [rsi + 0x143]
mov eax, dword [rdi]
movzx edx, word [rdi + 4]
shl rdx, 0x20
or rdx, rax
lea eax, [r8 - 1]
vmovss xmm0, dword [rdx + 4]
vsubss xmm1, xmm0, dword [rdx]
vmulss xmm6, xmm1, dword [0x14140e804]
vaddss xmm8, xmm1, dword [rdx + rax*4]
je 0x14011142e
movzx eax, byte [rdi + 0xa]
mov ecx, 1
and eax, 0x7f
shlx eax, ecx, eax
cmp r8d, eax
jne 0x14011142e
mov rcx, rdi
call fcn.140111f10
mov eax, dword [rdi]
mov r14d, 0xffffffff
movzx ecx, word [rdi + 4]
mov rbx, r12
shl rcx, 0x20
or rcx, rax
mov eax, dword [rdi + 6]
vmovss dword [rcx + rax*4], xmm8
inc dword [rdi + 6]
cmp dword [rsi + 0x149], 0
jbe 0x14011178f
mov r15d, dword [rbp - 0x60]
vaddss xmm8, xmm10, xmm9
vmovss xmm9, dword [0x14140e940]
nop dword [rax]
movzx ecx, word [rdi + 4]
lea edx, [rbx + 1]
mov eax, dword [rdi]
shl rcx, 0x20
or rcx, rax
vmovss xmm1, dword [rcx + rbx*4]
vsubss xmm0, xmm1, xmm6
vaddss xmm1, xmm6, xmm1
lea rcx, [rbp + 0x180]
vmovss dword [rbp + 0x18c], xmm1
vmovss dword [rbp + 0x180], xmm10
vmovss dword [rbp + 0x184], xmm0
vmovss dword [rbp + 0x188], xmm8
call fcn.1401fd660
test al, al
je 0x1401115a4
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
vmovups xmm0, xmmword [rcx + 0x3e08]
mov rax, qword [rcx + 0x4150]
movzx edx, word [rdi + 4]
vmovups xmmword [rsp + 0x60], xmm0
vshufps xmm0, xmm0, xmm0, 0xff
vmulss xmm0, xmm0, dword [rcx + 0x39f8]
mov r10, qword [rax + 0x2e0]
lea rcx, [rsp + 0x60]
mov eax, dword [rdi]
shl rdx, 0x20
or rdx, rax
vmovss dword [rsp + 0x6c], xmm0
vmovss xmm0, dword [rdx + rbx*4]
vmovss dword [rbp + 0xa4], xmm0
vmovss dword [rbp + 0xa0], xmm8
vmovss xmm1, dword [rdx + rbx*4]
vmovss dword [rbp + 0xac], xmm1
vmovss dword [rbp + 0xa8], xmm10
call fcn.1401e1f60
mov r9d, eax
lea rdx, [rbp + 0xa8]
lea r8, [rbp + 0xa0]
mov rcx, r10
vmovss dword [rsp + 0x20], xmm9
call fcn.1401d8af0
mov edx, 0x800
lea rcx, [0x1413cbe30]
call fcn.1401fd700
test rax, rax
je 0x140111584
mov rax, qword [rax]
mov r14d, ebx
mov r15d, dword [rax]
mov rax, qword [0x141443c60]
mov byte [rax + 0x4f1e], 0
cmp byte [rax + 0x4f6a], 0
je 0x1401115a4
call fcn.1401fd250
mov eax, dword [rsi + 0x149]
inc rbx
cmp rbx, rax
jb 0x140111470
test r14d, r14d
js 0x14011178f
cmp r14d, r15d
je 0x14011178f
movzx edx, word [rsi + 0x13c]
lea rbx, [rsi + 0x138]
mov ecx, dword [rsi + 0x138]
shl rdx, 0x20
or rcx, rdx
movsxd rax, r15d
lea r13, [rax*8]
mov r12, qword [rcx + r13]
lea r9, [rcx + r13]
cmp r14d, r15d
jge 0x1401116c3
mov r8d, dword [rbx + 6]
mov rcx, r9
dec r8d
mov dword [rbx + 6], r8d
mov eax, dword [rbx]
or rax, rdx
mov rdx, r9
sub rdx, rax
sar rdx, 3
sub r8, rdx
lea rdx, [r9 + 8]
shl r8, 3
call sub.VCRUNTIME140.dll_memmove
lea rbx, [rsi + 0x138]
movsxd rdi, r14d
movzx ecx, word [rbx + 4]
mov eax, dword [rbx]
shl rcx, 0x20
or rcx, rax
jne 0x14011164d
xor eax, eax
jmp 0x14011165e
movzx eax, byte [rbx + 0xa]
mov ecx, 1
and eax, 0x7f
shlx eax, ecx, eax
cmp dword [rbx + 6], eax
jne 0x14011166f
mov rcx, rbx
call fcn.140111ff0
mov r8d, dword [rbx + 6]
cmp rdi, r8
je 0x140111699
movzx ecx, word [rbx + 4]
sub r8, rdi
mov eax, dword [rbx]
shl rcx, 0x20
or rcx, rax
shl r8, 3
lea rdx, [rcx + rdi*8]
lea rcx, [rdx + 8]
call sub.VCRUNTIME140.dll_memmove
inc dword [rbx + 6]
mov eax, dword [rbx]
movzx ecx, word [rbx + 4]
shl rcx, 0x20
or rcx, rax
mov qword [rcx + rdi*8], r12
movzx ecx, word [rbx + 4]
mov eax, dword [rbx]
shl rcx, 0x20
or rcx, rax
mov qword [rcx + rdi*8], r12
jmp 0x14011178f
movsxd rdi, r14d
test rcx, rcx
jne 0x1401116d3
xor eax, eax
jmp 0x1401116e4
movzx eax, byte [rbx + 0xa]
mov ecx, 1
and eax, 0x7f
shlx eax, ecx, eax
cmp dword [rbx + 6], eax
jne 0x1401116f5
mov rcx, rbx
call fcn.140111ff0
mov r8d, dword [rbx + 6]
cmp rdi, r8
je 0x14011171f
movzx ecx, word [rbx + 4]
sub r8, rdi
mov eax, dword [rbx]
shl rcx, 0x20
or rcx, rax
shl r8, 3
lea rdx, [rcx + rdi*8]
lea rcx, [rdx + 8]
call sub.VCRUNTIME140.dll_memmove
inc dword [rbx + 6]
mov eax, dword [rbx]
movzx ecx, word [rbx + 4]
shl rcx, 0x20
or rcx, rax
mov qword [rcx + rdi*8], r12
mov eax, dword [rbx]
movzx ecx, word [rbx + 4]
shl rcx, 0x20
or rcx, rax
mov qword [rcx + rdi*8], r12
mov r8d, dword [rsi + 0x13e]
movzx edx, word [rsi + 0x13c]
dec r8d
mov ecx, dword [rsi + 0x138]
shl rdx, 0x20
or rcx, rdx
mov dword [rsi + 0x13e], r8d
mov eax, dword [rsi + 0x138]
add rcx, r13
or rax, rdx
mov rdx, rcx
sub rdx, rax
sar rdx, 3
sub r8, rdx
lea rdx, [rcx + 8]
shl r8, 3
call sub.VCRUNTIME140.dll_memmove
call fcn.140229f60
cmp dword [rsi + 0xb3e], 1
ja 0x1401117ae
mov rax, qword [rsi + 0xc08]
cmp dword [rax + 0xe], 2
jbe 0x140111d40
mov rcx, qword [0x141443c60]
mov rdx, qword [rcx + 0x4150]
cmp byte [rdx + 0xf8], 0
jne 0x1401117fd
mov r8d, dword [rdx + 0x1f4]
mov eax, r8d
neg eax
sbb ecx, ecx
add ecx, 2
cmp qword [rdx + 0x1e8], 0
je 0x1401117ec
neg r8d
sbb ecx, ecx
add ecx, 6
vmovaps xmm1, xmm14
call fcn.14021a1b0
mov rcx, qword [0x141443c60]
mov rax, qword [rcx + 0x4150]
mov byte [rax + 0xf5], 1
mov rbx, qword [rcx + 0x4150]
cmp byte [rbx + 0xf8], 0
je 0x140111823
xor bl, bl
jmp 0x14011187a
movsxd rax, dword [rbx + 0x130]
lea rcx, [0x1413cbe98]
mov r8, qword [rbx + 0x138]
xor edx, edx
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1401e1830
mov rcx, qword [rbx]
mov edi, eax
cmp dword [rcx + 0x419c], eax
jne 0x140111864
lea r8, [0x1413cbe98]
mov edx, 0xb
mov ecx, eax
call fcn.14020a960
xor r9d, r9d
lea r8, [0x1413cbe98]
xor edx, edx
mov ecx, edi
call fcn.1402291e0
movzx ebx, al
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov edx, dword [rsi + 0xb3e]
lea rcx, [0x1413c9298]
call fcn.1402166f0
test bl, bl
je 0x140111d40
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0xb0]
xor r13d, r13d
lea rcx, [0x1413ca3d0]
mov r8d, 0x8000
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rbp + 0xb0], xmm7
vmovss dword [rbp + 0xb4], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x1401119f5
mov eax, dword [rsi + 0xb38]
movzx edi, word [rsi + 0xb3c]
shl rdi, 0x20
or rdi, rax
mov eax, dword [rsi + 0xb3e]
lea r15, [rdi + rax*8]
cmp rdi, r15
je 0x1401119f5
lea rbx, [rsi + 0x32f0]
mov r14, qword [rdi]
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x80]
mov qword [rbp - 0x50], r14
mov rcx, rbx
call fcn.140049af0
mov rax, qword [rbp - 0x80]
cmp rax, qword [rsi + 0x3308]
jne 0x1401119e4
lea r8, [rbp + 0x190]
mov qword [rbp + 0x190], r14
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x198], 1
mov rcx, rbx
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111e02
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x1401119b5
sub ecx, 1
je 0x14011199e
cmp ecx, 1
jne 0x1401119b5
mov rax, qword [rbx + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x190]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [rbx + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [rbx + 0x10]
mov qword [rbp + 0x2a0], rdx
mov qword [rbp + 0x2a8], rcx
vmovups xmm0, xmmword [rbp + 0x2a0]
vmovups xmmword [rbp - 0x80], xmm0
vmovq rax, xmm0
add rdi, 8
mov byte [rax + 8], 1
cmp rdi, r15
jne 0x140111930
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
call fcn.1401f6d00
mov rbx, qword [0x141443c60]
lea rdx, [rbp + 0xb8]
mov r8d, 0x8000
lea rcx, [0x1413ca3c0]
vmovss xmm6, dword [rbx + 0x3a38]
mov dword [rbx + 0x3a38], r13d
vmovss dword [rbp + 0xb8], xmm7
vmovss dword [rbp + 0xbc], xmm7
call fcn.140217480
vmovss dword [rbx + 0x3a38], xmm6
test al, al
je 0x140111b45
mov eax, dword [rsi + 0xb38]
movzx edi, word [rsi + 0xb3c]
shl rdi, 0x20
or rdi, rax
mov eax, dword [rsi + 0xb3e]
lea r15, [rdi + rax*8]
cmp rdi, r15
je 0x140111b45
lea rbx, [rsi + 0x32f0]
mov r14, qword [rdi]
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x80]
mov qword [rbp - 0x50], r14
mov rcx, rbx
call fcn.140049af0
mov rax, qword [rbp - 0x80]
cmp rax, qword [rsi + 0x3308]
jne 0x140111b34
lea r8, [rbp + 0x1a0]
mov qword [rbp + 0x1a0], r14
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x1a8], 1
mov rcx, rbx
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111dae
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x140111b05
sub ecx, 1
je 0x140111aee
cmp ecx, 1
jne 0x140111b05
mov rax, qword [rbx + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x1a0]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [rbx + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [rbx + 0x10]
mov qword [rbp + 0x2b0], rdx
mov qword [rbp + 0x2b8], rcx
vmovups xmm0, xmmword [rbp + 0x2b0]
vmovups xmmword [rbp - 0x80], xmm0
vmovq rax, xmm0
add rdi, 8
mov byte [rax + 8], r13b
cmp rdi, r15
jne 0x140111a80
mov eax, dword [rsi + 0xb38]
movzx edi, word [rsi + 0xb3c]
shl rdi, 0x20
or rdi, rax
mov eax, dword [rsi + 0xb3e]
lea r12, [rdi + rax*8]
cmp rdi, r12
je 0x140111d3b
lea r14, [rsi + 0x32f0]
mov rax, qword [0x141443c60]
mov edx, r13d
inc r13d
mov rbx, qword [rax + 0x4150]
mov rcx, rbx
call fcn.1401f34b0
add rbx, 0x130
mov r15d, eax
mov ecx, dword [rbx]
mov r8d, dword [rbx + 4]
cmp ecx, r8d
jne 0x140111bcf
inc ecx
test r8d, r8d
je 0x140111bbb
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140111bc0
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1401deb40
movsxd rcx, dword [rbx]
lea r8, [rbp - 0x50]
mov rax, qword [rbx + 8]
lea rdx, [rbp - 0x80]
mov dword [rax + rcx*4], r15d
mov rcx, r14
inc dword [rbx]
mov rbx, qword [rdi]
mov qword [rbp - 0x50], rbx
call fcn.140049af0
mov r15, qword [rbp - 0x80]
cmp r15, qword [rsi + 0x3308]
jne 0x140111c90
lea r8, [rbp + 0x1b0]
mov qword [rbp + 0x1b0], rbx
lea rdx, [rsp + 0x60]
mov byte [rbp + 0x1b8], 1
mov rcx, r14
call fcn.14006db40
mov ecx, dword [rsp + 0x68]
test ecx, ecx
je 0x140111db4
mov rdx, qword [rsp + 0x60]
sub ecx, 1
je 0x140111c61
sub ecx, 1
je 0x140111c4a
cmp ecx, 1
jne 0x140111c61
mov rax, qword [r14 + 0x10]
mov rcx, rdx
vmovups xmm0, xmmword [rbp + 0x1b0]
add rcx, rcx
vmovups xmmword [rax + rcx*8], xmm0
mov rcx, qword [r14 + 0x18]
add rcx, rdx
shl rdx, 4
add rdx, qword [r14 + 0x10]
mov qword [rbp + 0x2c0], rdx
mov qword [rbp + 0x2c8], rcx
vmovups xmm0, xmmword [rbp + 0x2c0]
vmovups xmmword [rbp - 0x80], xmm0
vmovq r15, xmm0
mov rcx, qword [rdi]
lea rdx, [rsi + 0x150]
call fcn.14014d370
lea rdx, [rbp + 0xc0]
mov ecx, 0xb
vmovss dword [rbp + 0xc0], xmm7
vmovss dword [rbp + 0xc4], xmm7
mov rbx, rax
call fcn.1401e3960
lea rdx, [r15 + 8]
mov rcx, rbx
call fcn.140218f00
mov ecx, 1
call fcn.1401e39f0
mov rax, qword [0x141443c60]
vmovaps xmm1, xmm11
vmovaps xmm0, xmm7
mov rcx, qword [rax + 0x4150]
dec dword [rcx + 0x130]
call fcn.1401f6d00
mov rdx, qword [rdi]
lea rax, [0x1413a1907]
lea rbx, [0x1413cbeb0]
cmp byte [rdx + 0x13], 0
mov ecx, dword [rdx + 0xe]
cmovne rbx, rax
call fcn.14004a750
mov r8, rbx
lea rcx, [0x1413cbec0]
mov rdx, rax
call fcn.1402166f0
add rdi, 8
cmp rdi, r12
jne 0x140111b73
call fcn.140229f60
call fcn.1401f2010
mov rcx, qword [rbp + 0xbf00]
xor rcx, rsp
call fcn.1403f4b10
lea r11, [rsp + 0xc0a0]
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]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3
call fcn.14001c8f0
int3