Function at 0x140013071
Capabilities:
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2c8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x230], xmm6
mov edx, 0x10
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1c0], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x58], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x108], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x28], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x198], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x160], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x100], rsp
mov eax, 0x280
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x188], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x150], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xf0], rsp
mov eax, 0x280
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x10], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x18], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xd0], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xe8], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xe0], rsp
mov eax, 0x40
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x120], rsp
mov eax, 0x40
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1a0], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x168], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x38], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1a8], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x50], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x118], rsp
mov eax, 0x40
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x220], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x60], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x30], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x200], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x190], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x20], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xd8], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xf8], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x110], rsp
mov eax, 0x280
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1c8], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x28], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x158], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x48], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x68], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x30], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x80], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov rdi, rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xa0], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x58], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xb0], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xa8], rsp
mov eax, 0x30
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x98], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x148], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xb8], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x50], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x48], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x80], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x140], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1e0], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x68], rsp
mov eax, 0x30
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x208], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1f8], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov r13, rsp
mov eax, 0x90
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x60], rsp
mov eax, 0x30
call fcn.140074a70
sub rsp, rax
mov r12, rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x90], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x178], rsp
mov eax, 0x10
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x40], rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov r15, rsp
mov eax, 0xd0
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x210], rsp
mov eax, 0xc0
call fcn.140074a70
sub rsp, rax
mov rsi, rsp
mov eax, 0xc0
call fcn.140074a70
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.140074a70
sub rsp, rax
mov qword [rbp - 0x20], rsp
mov eax, 0x50
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0x1d8], rsp
mov eax, 0x60
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xc8], rsp
mov eax, 0x230
call fcn.140074a70
sub rsp, rax
mov qword [rbp + 0xc0], rsp
mov al, byte [0x1400a5058]
movabs rax, 0x851821b80f3dc6e3
or rdx, rax
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rbx, rax
movabs rax, 0xac3ac2d7dd940f5e
lea rcx, [rax + 1]
xor rcx, rax
mov qword [rbx], rcx
movabs rax, 0x1dfe84dbfa99f5b4
lea rcx, [rax + 1]
xor rcx, rax
mov qword [rbx + 8], rcx
sub rsp, 0x20
call fcn.140062f5c
add rsp, 0x20
mov rcx, rax
shr rcx, 0x20
cmp eax, 2
mov edx, 1
cmovae edx, eax
mov byte [r14 + 0xb0], 1
movabs rax, 0xf137365274de80b3
lea r8, [rax + 0x400]
xor r8, rax
mov qword [r14 + 0x48], r8
xor eax, eax
mov byte [r14 + 0xb3], al
mov qword [r14], rax
movabs r8, 0x66198fe871cdac1a
lea r9, [r8 + 0x200]
xor r9, r8
mov qword [r14 + 0x50], r9
mov qword [r14 + 0x38], rbx
lea r8, [0x1400954f8]
mov qword [r14 + 0x40], r8
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x58], rax
mov qword [r14 + 0x68], rax
mov qword [r14 + 0x78], rax
mov qword [r14 + 0x88], rax
mov dword [r14 + 0x30], 0x3b9aca00
mov dword [r14 + 0x20], 0
mov dword [r14 + 0xa0], 0x3d
movabs r8, 0xddf4b2941ccc5442
lea r9, [r8 + 0x100]
xor r9, r8
mov qword [r14 + 0x98], r9
mov word [r14 + 0xb4], 0
mov byte [r14 + 0xa4], al
mov dword [r14 + 0xa8], ecx
mov dword [r14 + 0xac], edx
mov qword [rbp + 0x1e8], r14
mov word [r14 + 0xb1], 0x101
movabs rax, 0xc25b214e160f9da1
lea r8, [rax + 0x14]
xor r8, rax
sub rsp, 0x20
lea rdx, str.TOKIO_WORKER_THREADSA_Tokio_1.x_context_was_found__but_it_is_being_shutdown.task_was_cancelledtask_panickedearly_eof
mov rcx, r13
call fcn.14004da2a
add rsp, 0x20
mov rax, qword [r13]
movabs rcx, 0x8000000000000000
movabs rdx, 0x8000000000000001
cmp rax, rcx
mov qword [rbp + 0x228], r12
je 0x1400137ad
cmp rax, rdx
jne case.0x140015692.3
mov r14, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
mov r8, qword [r13 + 0x18]
sub rsp, 0x20
mov r13, qword [rbp + 0x1f8]
mov rcx, r13
mov rdx, rbx
call fcn.14003f7ca
add rsp, 0x20
cmp byte [r13], 0
jne case.0x140015692.3
mov rax, qword [r13 + 8]
test rax, rax
je case.0x140015692.3
mov r13, rax
test r14, r14
je 0x140013793
mov rcx, qword [0x1400a5b60]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
add rsp, 0x20
mov rdx, qword [rbp + 0x1e8]
mov rbx, r13
mov r12, qword [rbp + 0x228]
mov r14, qword [rbp + 0x210]
jmp 0x14001380d
pxor xmm0, xmm0
mov rbx, qword [rbp + 0x208]
movdqu xmmword [rbx + 0x20], xmm0
movdqu xmmword [rbx + 0x10], xmm0
movdqu xmmword [rbx], xmm0
sub rsp, 0x20
mov rcx, rbx
call qword [sym.imp.kernel32.dll_GetSystemInfo]
add rsp, 0x20
mov eax, dword [rbx + 0x20]
lea rbx, str.The_number_of_hardware_threads_is_not_known_for_the_target_platform
test rax, rax
cmovne rbx, rax
mov r14, qword [rbp + 0x210]
jne 0x140013806
sub rsp, 0x20
mov rcx, rbx
call fcn.14004df29
add rsp, 0x20
mov ebx, 1
mov rdx, qword [rbp + 0x1e8]
movzx eax, word [rdx + 0xb1]
mov cl, byte [rdx + 0xb3]
mov rdx, qword [rdx + 0x48]
mov word [r15 + 0x10], ax
mov byte [r15 + 0x12], 0
mov byte [r15 + 0x13], cl
mov qword [r15], rdx
mov qword [r15 + 8], rbx
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
call fcn.14006e039
add rsp, 0x20
mov rcx, qword [r14]
movabs rax, 0x9967964aad2cf8
lea rdx, [rax + 2]
xor rdx, rax
mov qword [rbp + 0x70], rcx
cmp rcx, rdx
je case.0x140015692.3
mov qword [rbp - 0x18], rdx
mov rax, qword [r14 + 8]
mov qword [rbp + 0x78], rax
add r14, 0x10
sub rsp, 0x20
mov r8d, 0xb8
mov rcx, rsi
mov rdx, r14
call fcn.140084cc0
add rsp, 0x20
movdqu xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movdqu xmmword [r12], xmm0
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12 + 0x20], xmm2
add rsi, 0x30
sub rsp, 0x20
mov r8d, 0x88
mov rcx, qword [rbp + 0x60]
mov rdx, rsi
call fcn.140084cc0
add rsp, 0x20
mov r15, qword [rbp + 0x1e8]
mov rdx, qword [r15 + 0x50]
mov qword [rbp + 0x180], rbx
add rdx, rbx
sub rsp, 0x20
mov rcx, r15
call fcn.1400665bd
add rsp, 0x20
mov qword [rbp - 0x10], rdx
mov qword [rbp + 0x88], rax
lock inc qword [rax]
jle case.0x140015692.3
lea r13, [r15 + 0x78]
lea r14, [r15 + 0xa4]
sub rsp, 0x20
mov rcx, r14
call fcn.14006af97
add rsp, 0x20
mov esi, eax
mov ebx, edx
sub rsp, 0x20
mov rcx, r14
call fcn.14006af97
add rsp, 0x20
mov qword [rbp - 8], r13
mov r12, qword [r13]
test r12, r12
je 0x140013955
mov rcx, qword [r15 + 0x80]
lock inc qword [r12]
jg 0x140013955
jmp case.0x140015692.3
lea r8, [r15 + 0x88]
mov r14, r15
mov qword [rbp], r8
mov r15, qword [r8]
test r15, r15
mov dword [rbp + 0x128], eax
mov dword [rbp + 0x12c], edx
je 0x140013989
mov r8, qword [r14 + 0x90]
lock inc qword [r15]
jg 0x140013989
jmp case.0x140015692.3
mov r9d, dword [r14 + 0xa0]
mov r10, qword [r14 + 0x20]
mov r11, qword [r14 + 0x98]
movzx r14d, word [r14 + 0xb4]
mov r13, qword [rbp + 0x178]
mov qword [r13], r10
mov dword [r13 + 0x30], r9d
mov qword [r13 + 8], r11
mov qword [r13 + 0x10], r12
mov qword [r13 + 0x18], rcx
mov qword [r13 + 0x20], r15
mov qword [r13 + 0x28], r8
mov word [r13 + 0x40], r14w
mov byte [r13 + 0x34], 0
mov dword [r13 + 0x38], esi
mov dword [r13 + 0x3c], ebx
mov al, byte [0x1400a5058]
movabs rax, 0xff4f0ec3953f30a0
lea rdx, [rax + 0x58]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rsi, rax
movabs rax, 0xb5e27e013fa20d1c
lea rcx, [rax + 1]
xor rcx, rax
mov qword [rsi], rcx
movabs rax, 0xfb5ca3794baffc8c
lea rcx, [rax + 1]
xor rcx, rax
mov qword [rsi + 8], rcx
mov rax, qword [rbp + 0x70]
mov qword [rsi + 0x10], rax
mov rax, qword [rbp + 0x78]
mov qword [rsi + 0x18], rax
mov rax, qword [rbp + 0x228]
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movdqu xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
movups xmmword [rsi + 0x40], xmm2
mov byte [rsi + 0x50], 0
mov al, byte [0x1400a5058]
movabs rax, 0x77e65e3fa173438f
lea rdx, [rax + 0x30]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
mov rdx, qword [rbp + 0x68]
mov rbx, qword [rbp + 0x180]
je case.0x140015692.3
mov r15, rax
movabs rax, 0xeb71f736a48e22ce
lea rcx, [rax + 1]
xor rcx, rax
mov qword [r15], rcx
movabs rax, 0x939863a257debd66
lea rcx, [rax + 1]
xor rcx, rax
mov qword [r15 + 8], rcx
mov qword [r15 + 0x10], rsi
pxor xmm0, xmm0
movdqu xmmword [r15 + 0x18], xmm0
mov byte [r15 + 0x28], 0
mov qword [rdx], r15
mov rax, rbx
shr rax, 0x3d
jne case.0x140015692.3
lea r12, [rbx*8]
movabs rsi, 0x7ffffffffffffff8
cmp r12, rsi
ja case.0x140015692.3
test r12, r12
jne 0x140013b19
xor ecx, ecx
mov eax, 8
jmp 0x140013b3d
mov al, byte [0x1400a5058]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rcx, rbx
mov rdx, qword [rbp + 0x1e0]
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], 0
mov rax, rbx
shr rax, 0x3c
mov r14, qword [rbp + 0x140]
jne case.0x140015692.3
mov rdx, rbx
shl rdx, 4
cmp rdx, rsi
ja case.0x140015692.3
test rdx, rdx
mov qword [rbp - 0x38], r12
jne 0x140013b8a
mov eax, 8
xor r8d, r8d
jmp 0x140013bab
mov al, byte [0x1400a5058]
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov r8, rbx
movabs rcx, 0x435e77d27d2cf175
lea rdx, [rcx + 8]
xor rdx, rcx
mov qword [rbp + 0x40], rdx
movabs rcx, 0x53d050044f0b312
lea rdx, [rcx + 8]
xor rdx, rcx
mov qword [rbp + 0x1d0], rdx
mov rcx, qword [rbp + 0x1d8]
mov qword [rbp + 0x218], rcx
mov r13, qword [rbp + 0x1e8]
lea rcx, [r13 + 0x38]
mov qword [rbp + 0x1f0], rcx
lea rcx, [r13 + 0x58]
mov qword [rbp + 8], rcx
add r13, 0x68
mov qword [rbp + 0x1e8], r13
mov rcx, qword [rbp + 0x178]
add rcx, 0x34
mov qword [rbp - 0x78], rcx
movabs r13, 0x941e508f3a0f4600
mov qword [r14], r8
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], 0
xorps xmm6, xmm6
movabs rbx, 0x104513696b624f96
xor r12d, r12d
mov qword [rbp - 0x70], r15
mov qword [rbp + 0x1f8], rax
mov al, byte [0x1400a5058]
movabs rax, 0xd457145de319f511
lea rdx, [rax + 0x800]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
movabs rcx, 0xf8489ca30a62229e
lea rdx, [rcx + 1]
xor rdx, rcx
add rdx, r12
mov qword [rbp + 0x208], rdx
movabs rdx, 0x906cc0e254a6e07
lea rcx, [rdx + 0x100]
xor rcx, rdx
mov qword [rdi], rcx
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], 0
xor esi, esi
mov r14, qword [rbp - 0x80]
cmp rsi, qword [rdi]
jne 0x140013cd9
sub rsp, 0x20
mov rcx, rdi
call case.0x140009db8.270
add rsp, 0x20
lea rax, [rbx + 1]
xor rax, rbx
add rsi, rax
mov qword [rdi + 0x10], rsi
lea rax, [r13 + 0x100]
xor rax, r13
cmp rsi, rax
jne 0x140013cc4
movdqu xmm0, xmmword [rdi]
movdqu xmmword [r14], xmm0
mov rdx, qword [rdi + 0x10]
mov qword [r14 + 0x10], rdx
cmp qword [r14], rdx
jbe 0x140013d55
movabs rax, 0x9a866f2dcc8e1f3
lea r8, [rax + 8]
xor r8, rax
movabs rax, 0x5f01b176b8c38282
lea r9, [rax + 8]
xor r9, rax
sub rsp, 0x20
mov rcx, r14
call fcn.14002147b
add rsp, 0x20
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x14001745c
mov rdx, qword [r14 + 0x10]
movabs rcx, 0x1b9699621bd25264
lea rax, [rcx + 0x100]
xor rax, rcx
cmp rdx, rax
jne case.0x140015692.3
mov rsi, qword [r14 + 8]
mov al, byte [0x1400a5058]
movabs rax, 0xf9b648fd43272b8d
lea rdx, [rax + 0x18]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov r14, rax
movabs rcx, 0x9191ac0ab44d61d0
lea rax, [rcx + 1]
xor rax, rcx
mov qword [r14], rax
movabs rcx, 0x5b914fe01807c352
lea rax, [rcx + 1]
xor rax, rcx
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], 0
mov dword [r14 + 0x20], 0
lock inc qword [r14]
jle case.0x140015692.3
mov qword [rbp + 0x228], r12
mov rsi, qword [r15 + 0x10]
lock inc qword [rsi]
jle case.0x140015692.3
mov al, byte [0x1400a5058]
movabs rax, 0x9441cb8511e3c53
lea rdx, [rax + 0x10]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov r12, rax
mov qword [rbp + 0x210], r14
movabs rcx, 0x42a6bdfdf1c49a2
lea rax, [rcx + 1]
xor rax, rcx
mov qword [r12], rax
movabs rcx, 0x5c8dd144d6b61b40
lea rax, [rcx + 1]
xor rax, rcx
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], rsi
movups xmmword [r12 + 0x18], xmm6
mov byte [r12 + 0x28], 0
lock inc qword [r12]
jle case.0x140015692.3
sub rsp, 0x20
call fcn.14005a6a3
add rsp, 0x20
mov qword [rbp + 0x1b0], rax
mov dword [rbp + 0x1b8], edx
mov rax, qword [rbp + 0x178]
mov sil, byte [rax + 0x40]
mov ecx, dword [rax]
mov dword [rbp + 0x138], ecx
mov r15d, dword [rax + 4]
sub rsp, 0x20
mov rcx, qword [rbp - 0x78]
call fcn.14006af97
add rsp, 0x20
mov dword [rbp + 0x130], eax
mov dword [rbp + 0x170], edx
mov al, byte [0x1400a5058]
movabs rax, 0x5f8e88416e043110
lea rdx, [rax + 0x30]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov r14, rax
cmp dword [rbp + 0x138], 0
mov eax, 0
mov qword [r14], rax
mov qword [r14 + 8], r12
mov ecx, dword [rbp + 0x130]
mov dword [r14 + 0x10], ecx
mov ecx, dword [rbp + 0x170]
mov dword [r14 + 0x14], ecx
mov rcx, qword [rbp + 0x210]
mov qword [r14 + 0x18], rcx
mov qword [r14 + 0x20], rax
movabs rax, 0x40a99d60864b8a7e
mov qword [r14 + 0x28], rax
mov rax, qword [rbp + 0x1b0]
mov qword [r14 + 0x30], rax
mov eax, dword [rbp + 0x1b8]
mov dword [r14 + 0x38], eax
mov eax, 0x3d
cmove r15d, eax
mov dword [r14 + 0x40], 0
mov dword [r14 + 0x44], r15d
xor sil, 1
mov byte [r14 + 0x48], sil
mov word [r14 + 0x49], 0
mov byte [r14 + 0x4b], 0
mov r15, qword [rbp + 0x1e0]
mov rsi, qword [r15 + 0x10]
cmp rsi, qword [r15]
jne 0x140013fa6
sub rsp, 0x20
mov rcx, r15
call case.0x140009db8.270
add rsp, 0x20
mov rax, qword [r15 + 8]
mov qword [rax + rsi*8], r14
movabs rcx, 0x41a1895afd26a73e
lea rax, [rcx + 1]
xor rax, rcx
add rax, rsi
mov qword [r15 + 0x10], rax
mov rsi, qword [rbp + 0x140]
mov rax, qword [rbp + 0x228]
cmp rax, qword [rsi]
mov rax, qword [rbp + 0x1f8]
jne 0x140013ff4
sub rsp, 0x20
mov rcx, rsi
call case.0x14004ba74.222
add rsp, 0x20
mov rax, qword [rsi + 8]
mov rcx, qword [rbp + 0x228]
shl rcx, 4
mov rdx, qword [rbp + 0x210]
mov qword [rax + rcx], rdx
mov qword [rax + rcx + 8], r12
mov rcx, qword [rbp + 0x208]
mov qword [rsi + 0x10], rcx
mov r12, rcx
mov r14, qword [rbp + 0x180]
cmp rcx, r14
mov r15, qword [rbp - 0x70]
jne 0x140013c47
mov rdx, qword [rbp - 0x38]
test rdx, rdx
jne 0x14001405f
mov edi, 8
xor ebx, ebx
mov r15, qword [rbp + 0xa0]
mov r12, qword [rbp + 0xa8]
mov r13, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb8]
jmp 0x14001409f
mov al, byte [0x1400a5058]
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
mov r15, qword [rbp + 0xa0]
mov r12, qword [rbp + 0xa8]
mov r13, qword [rbp + 0xb0]
mov rsi, qword [rbp + 0xb8]
je case.0x140015692.3
mov rdi, rax
mov rbx, r14
pxor xmm0, xmm0
mov rax, qword [rbp + 0x80]
movdqu xmmword [rax], xmm0
mov byte [rax + 0x10], 0
mov rax, qword [rbp + 0x140]
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsi], xmm0
mov rdx, qword [rax + 0x10]
mov qword [rsi + 0x10], rdx
cmp qword [rsi], rdx
jbe 0x140014120
movabs rax, 0xcac14ef382693815
lea r8, [rax + 8]
xor r8, rax
movabs rax, 0x377f071cd976ef60
lea r9, [rax + 0x10]
xor r9, rax
sub rsp, 0x20
mov rcx, rsi
call fcn.14002147b
add rsp, 0x20
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x14001745c
mov rax, qword [rsi + 0x10]
mov qword [rbp + 0x228], rax
jmp 0x140014127
mov qword [rbp + 0x228], rdx
lea rax, [r14 - 1]
bsr rcx, rax
not ecx
mov rax, 0xffffffffffffffff
shr rax, cl
movabs rcx, 0x3737e62a28fb0f1e
lea rdx, [rcx + 1]
xor rdx, rcx
movabs rcx, 0x6ada27be99f1860b
lea r8, [rcx + 4]
xor r8, rcx
lea rax, [r8 + rax*4]
mov ecx, 0x10000
cmp rax, rcx
cmovb rcx, rax
movabs rax, 0x44c6288aa6fb5ecb
mov r8, r14
lea r14, [rax + 4]
xor r14, rax
cmp r8, rdx
cmova r14, rcx
mov rax, r14
shr rax, 1
movabs rcx, 0x5555555555555554
and rcx, rax
mov rax, r14
sub rax, rcx
movabs rcx, 0x3333333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
mov rcx, rax
shr rcx, 4
add rcx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rcx
movabs rcx, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
movabs rax, 0xef3438e392ae85c4
lea rdx, [rax + 1]
xor rdx, rax
cmp rcx, rdx
jne case.0x140015692.3
mov rax, qword [rsi + 8]
test r14, r14
mov qword [rbp + 0x210], rdi
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x208], rax
jne 0x140014242
xor eax, eax
mov qword [r12], rax
movabs rcx, 0x5cc3391d42c36014
lea rdx, [rcx + 8]
xor rdx, rcx
mov qword [r12 + 8], rdx
mov qword [r12 + 0x10], rax
jmp 0x1400142fd
movabs rax, 0x4760bf7ee115fe84
lea rdx, [rax + 0x18]
xor rdx, rax
imul rdx, r14
mov al, byte [0x1400a5058]
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
movabs rcx, 0xa70a1bee089990e8
mov qword [r12], r14
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], 0
mov rsi, r15
add rsi, 7
xor edi, edi
lea rbx, [rcx + 1]
xor rbx, rcx
xorps xmm6, xmm6
movups xmmword [rsi], xmm6
mov rcx, qword [r15 + 0xf]
mov qword [r13 + 0xf], rcx
movups xmm0, xmmword [r15]
movups xmmword [r13], xmm0
cmp rdi, qword [r12]
jne 0x1400142d3
sub rsp, 0x20
mov rcx, r12
call fcn.140003fa8
add rsp, 0x20
mov rax, qword [r12 + 8]
lea rcx, [rdi + rdi*2]
add rdi, rbx
mov byte [rax + rcx*8], 0
movdqu xmm0, xmmword [r13]
movdqu xmmword [rax + rcx*8 + 1], xmm0
mov rdx, qword [r13 + 0xf]
mov qword [rax + rcx*8 + 0x10], rdx
mov qword [r12 + 0x10], rdi
cmp rdi, r14
jne 0x1400142a4
mov rax, qword [r12]
mov rsi, qword [rbp - 0x58]
mov qword [rsi], rax
mov rax, qword [r12 + 8]
mov qword [rsi + 8], rax
mov r12, qword [r12 + 0x10]
mov qword [rsi + 0x10], r12
cmp qword [rsi], r12
jbe 0x14001436b
movabs rax, 0x8e31dfca51d9dc92
lea r8, [rax + 8]
xor r8, rax
movabs rax, 0x8418fbb2ab91e1e8
lea r9, [rax + 8]
xor r9, rax
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call fcn.14002147b
add rsp, 0x20
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x14001745c
mov r12, qword [rsi + 0x10]
mov rbx, qword [rbp + 0x180]
shl rbx, 0x10
mov r13, qword [rsi + 8]
mov rax, qword [rbp - 0x50]
mov r15d, 1
lock xadd qword [0x1400a5050], r15
test r15, r15
je 0x14001437e
mov ecx, 9
mov rdi, rax
mov rsi, qword [rbp + 0x178]
rep movsq qword [rdi], qword [rsi]
mov rsi, rax
mov al, byte [0x1400a5058]
movabs rax, 0x8479164bc4d334fc
lea rdx, [rax + 0x40]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
movabs rdx, 0x5318d8ccfb82de92
lea rcx, [rdx + 1]
xor rcx, rdx
mov qword [rax], rcx
movabs rdx, 0x8c81dc6435dfe618
lea rcx, [rdx + 1]
xor rcx, rdx
mov qword [rax + 8], rcx
mov ecx, 9
lea rdi, [rax + 0x10]
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rbp + 0x208]
mov qword [rax + 0x58], rcx
mov rcx, qword [rbp + 0x228]
mov qword [rax + 0x60], rcx
mov qword [rax + 0x68], r13
mov qword [rax + 0x70], r12
dec r14
xorps xmm6, xmm6
movups xmmword [rax + 0x78], xmm6
mov qword [rax + 0x88], r14
mov qword [rax + 0x90], r15
movabs rdx, 0x1e14cd5de3fd2122
lea rcx, [rdx + 1]
xor rdx, rcx
xor r14d, r14d
mov byte [rax + 0x98], r14b
mov qword [rax + 0xa0], rdx
mov rcx, qword [rbp + 0x180]
mov qword [rax + 0xa8], rcx
mov qword [rax + 0xb0], r14
mov qword [rax + 0xb8], rbx
mov qword [rax + 0xc0], rcx
mov byte [rax + 0xc8], r14b
mov rcx, qword [rbp - 0x48]
mov edx, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rax + 0xc9], edx
mov dword [rax + 0xcc], ecx
mov rcx, qword [rbp + 0x1f8]
mov qword [rax + 0xd0], rcx
mov rcx, qword [rbp + 0x210]
mov qword [rax + 0xd8], rcx
mov qword [rax + 0xe0], r14
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rcx + 0x10]
mov qword [rax + 0xf8], rdx
movdqu xmm0, xmmword [rcx]
movabs rdx, 0xfb1133830f123427
lea rcx, [rdx + 8]
xor rcx, rdx
movdqu xmmword [rax + 0xe8], xmm0
mov byte [rax + 0x100], r14b
mov qword [rax + 0x108], r14
mov qword [rax + 0x110], rcx
mov qword [rax + 0x118], r14
mov rcx, rax
add rcx, 0x120
sub rsp, 0x20
mov qword [rbp + 0x210], rax
mov r8d, 0x88
mov rdx, qword [rbp + 0x60]
call fcn.140084cc0
mov r8, qword [rbp + 0x210]
add rsp, 0x20
mov rax, qword [rbp + 0x88]
mov qword [r8 + 0x1a8], rax
mov byte [r8 + 0x1b0], r14b
mov rcx, qword [rbp - 0x40]
movzx eax, word [rcx]
mov word [r8 + 0x1b1], ax
mov al, byte [rcx + 2]
mov byte [r8 + 0x1b3], al
mov eax, dword [rbp + 0x128]
mov dword [r8 + 0x1b4], eax
mov eax, dword [rbp + 0x12c]
mov dword [r8 + 0x1b8], eax
mov rdx, qword [rbp + 0x148]
mov qword [rdx], r14
movabs rax, 0x9b55b021bc037ae1
lea rcx, [rax + 8]
xor rcx, rax
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], r14
mov rax, qword [rbp + 0x1e0]
mov rdx, qword [rax + 8]
mov r15, qword [rax + 0x10]
mov qword [rax + 0x10], r14
lea r9, [rdx + r15*8]
mov rcx, qword [rbp + 0x98]
mov qword [rcx + 0x18], r15
movups xmmword [rcx + 0x20], xmm6
mov qword [rbp + 0x228], rdx
mov qword [rcx], rdx
mov qword [rcx + 8], r9
mov qword [rcx + 0x10], rax
mov r12d, 0
test r15, r15
je 0x14001470a
mov qword [rbp + 0x1f8], r9
movabs rbx, 0x9de524dba5cd0add
movabs r12, 0x7b03361cf4517182
shl r15, 3
xor r13d, r13d
xor edi, edi
mov rax, qword [rbp + 0x228]
mov r14, qword [rax + r13]
lock inc qword [r8]
jle case.0x140015692.3
mov al, byte [0x1400a5058]
lea rdx, [rbx + 0x18]
xor rdx, rbx
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rsi, rax
lea rax, [r12 + 1]
xor rax, r12
mov qword [rsi], rax
movabs rcx, 0xc82c71d7a6da7dcc
lea rax, [rcx + 1]
xor rax, rcx
mov qword [rsi + 8], rax
mov r8, qword [rbp + 0x210]
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], r14
mov rax, qword [rbp + 0x148]
cmp rdi, qword [rax]
jne 0x1400146b7
sub rsp, 0x20
mov rcx, rax
call case.0x140009db8.270
mov r8, qword [rbp + 0x210]
mov rax, qword [rbp + 0x148]
add rsp, 0x20
mov rcx, qword [rax + 8]
mov qword [rbp + 0x40], rcx
movabs rcx, 0xba2ed8f9c120ffa2
lea r14, [rcx + 1]
xor r14, rcx
add r14, rdi
mov rcx, qword [rbp + 0x40]
mov qword [rcx + rdi*8], rsi
mov qword [rax + 0x10], r14
add r13, 8
mov rdi, r14
cmp r15, r13
jne 0x140014615
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x1f8]
mov qword [rcx], rdx
mov qword [rcx + 0x28], r14
mov r12, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x1d0], rax
sub rsp, 0x20
call fcn.14006779d
add rsp, 0x20
mov rax, qword [rbp + 0x1e0]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x14001475e
mov rax, qword [rbp + 0x1e0]
mov rdi, qword [rax + 8]
movabs rax, 0x3e7e9f63b08a2d2e
xor ebx, ebx
lea r15, [rax + 1]
xor r15, rax
lea rcx, [rdi + rbx*8]
add rbx, r15
sub rsp, 0x20
call fcn.140067264
add rsp, 0x20
cmp rbx, rsi
jne 0x140014745
mov rax, qword [rbp + 0x1e0]
cmp qword [rax], 0
mov r15, qword [rbp + 0x48]
je 0x14001478a
mov r8, qword [rax + 8]
mov rcx, qword [0x1400a5b60]
sub rsp, 0x20
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
add rsp, 0x20
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
movabs rax, 0xa0e2d5efc08fb1aa
lea rdx, [rax + 1]
xor rdx, rax
cmp r8, rdx
mov rsi, qword [rbp - 0x30]
jne 0x1400147c4
sub rsp, 0x20
call fcn.140068f6d
add rsp, 0x20
movabs rax, 0x65c64b5167dbb3d8
lea rdx, [rax + 1]
xor rdx, rax
sub rsp, 0x20
mov rcx, rsi
mov r8, qword [rbp + 0x210]
call fcn.14006c14e
add rsp, 0x20
movabs rax, 0x745a9c54eda05c14
lea rcx, [rax + 3]
xor rcx, rax
cmp qword [rsi], rcx
je case.0x140015692.3
mov qword [rbp + 0x208], r12
mov rax, qword [rsi + 0x10]
mov rcx, qword [rbp + 0x90]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rsi]
movdqu xmmword [rcx], xmm0
test r14, r14
jne 0x1400148a6
mov rax, qword [rbp + 0x1d0]
lea rsi, [rax + r14*8]
sub rsi, rax
je 0x140014a82
shr rsi, 3
movabs rax, 0xa82e25f0d7c3915a
movabs rcx, 0xde664f939fe240a
xor edi, edi
lea rbx, [rax + 1]
xor rbx, rax
lea r14, [rcx + 1]
xor r14, rcx
mov rax, qword [rbp + 0x1d0]
mov rax, qword [rax + rdi*8]
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
cmp rcx, r14
jne 0x140014899
mov rax, qword [rbp + 0x1d0]
lea rcx, [rax + rdi*8]
sub rsp, 0x20
call fcn.14006b4d0
add rsp, 0x20
add rdi, rbx
cmp rdi, rsi
jne 0x140014865
jmp 0x140014a82
movabs rax, 0x25dfc1d298833fc5
shl r14, 3
lea rcx, [rax + 2]
xor rcx, rax
mov qword [rbp + 0x1f8], rcx
xorps xmm6, xmm6
xor r12d, r12d
mov rbx, qword [rbp - 0x68]
mov rax, qword [rbp + 0x1d0]
mov rax, qword [rax + r12]
mov qword [rbp + 0x228], rax
sub rsp, 0x20
mov rcx, r15
call fcn.14006b5e2
add rsp, 0x20
mov rdi, qword [r15]
cmp rdi, qword [rbp + 0x1f8]
je case.0x140015692.3
mov r13, qword [r15 + 8]
mov qword [rbx], rdi
mov qword [rbx + 8], r13
mov r15d, 1
lock xadd qword [0x1400a5048], r15
mov al, byte [0x1400a5058]
movabs rax, 0x77b4795535591e95
lea rdx, [rax + 0x100]
xor rdx, rax
sub rsp, 0x20
xor ecx, ecx
call fcn.14004fc65
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rsi, rax
movabs rcx, 0xb5786d49bf9e32f1
lea rdx, [rcx + 0xc8]
xor rdx, rcx
movabs r8, 0xb79977e580b08c3e
lea rcx, [r8 + 0x158]
xor rcx, r8
test rdi, rdi
cmove rcx, rdx
movabs r8, 0x26a8e845074e0e94
lea rdx, [r8 + 0x57]
xor rdx, r8
and rdx, rax
movabs r9, 0x3de4b47396fa540
lea r8, [r9 + 0x80]
xor r8, r9
sub r8, rdx
mov qword [rsi + r8 - 8], rsi
movabs r9, 0x48f816858b2f7731
lea rdx, [r9 + 0xcc]
xor rdx, r9
mov qword [rsi + r8], rdx
xor r10d, r10d
mov qword [rsi + r8 + 8], r10
lea rdx, [0x1400953e0]
mov qword [rsi + r8 + 0x10], rdx
mov qword [rsi + r8 + 0x18], r10
mov qword [rsi + r8 + 0x20], r15
movabs r9, 0x9b1edaa460636cac
lea rdx, [r9 + 2]
xor rdx, r9
mov qword [rsi + r8 + 0x28], rdx
mov rdx, qword [rbp + 0x228]
mov qword [rsi + r8 + 0x30], rdx
movups xmmword [rsi + r8 + 0x48], xmm6
mov qword [rsi + r8 + 0x58], r10
add rsi, r8
mov rcx, qword [r13 + rcx]
sub rsp, 0x20
mov rdx, rsi
mov r8, rbx
call fcn.14006d61c
add rsp, 0x20
test rax, rax
sete al
test rdx, rdx
sete cl
or cl, al
je case.0x140015692.3
sub rsp, 0x20
mov rcx, rbx
call fcn.14000237e
add rsp, 0x20
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg qword [rsi], rcx
mov r15, qword [rbp + 0x48]
je 0x140014a75
mov rax, qword [rsi + 0x10]
sub rsp, 0x20
mov rcx, rsi
call qword [rax + 0x20]
add rsp, 0x20
add r12, 8
cmp r14, r12
jne 0x1400148cc
cmp qword [rbp + 0x208], 0
je 0x140014aaa
mov rcx, qword [0x1400a5b60]
sub rsp, 0x20
xor edx, edx
mov r8, qword [rbp + 0x1d0]
call qword [sym.imp.kernel32.dll_HeapFree]
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp + 0x90]
call fcn.140068bfa
add rsp, 0x20
mov rax, qword [rbp - 0x18]
cmp qword [rbp + 0x70], rax
je case.0x140015692.3
movabs rax, 0x5e545c20a76850ec
lea rcx, [rax + 1]
xor rcx, rax
mov rsi, qword [rbp + 0x218]
mov qword [rsi], rcx
mov rax, qword [rbp + 0x78]
mov qword [rsi + 8], rax
mov byte [rsi + 0x10], 0
mov rax, qword [rbp - 0x20]
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsi + 0x11], xmm0
mov rax, qword [rax + 0xf]
mov qword [rsi + 0x20], rax
movabs rax, 0xc65373a63af9dc30
lea rcx, [rax + 1]
xor rcx, rax
mov qword [rsi + 0x30], rcx
mov r8, qword [rbp + 0x210]
mov qword [rsi + 0x38], r8
mov rax, qword [rbp + 0x88]
mov qword [rsi + 0x40], rax
mov rax, qword [rbp - 0x10]
mov qword [rsi + 0x48], rax
movabs rax, 0x5d5314cefc198098
lea rdx, [rax + 1]
xor rdx, rax
sub rsp, 0x20
mov rdi, qword [rbp - 0x28]
mov rcx, rdi
call fcn.14006c14e
add rsp, 0x20
movabs rax, 0xf1a15bc9c7ab76f0
lea rcx, [rax + 3]
xor rcx, rax
cmp qword [rdi], rcx
je case.0x140015692.3
mov rax, qword [rbp + 0x1d8]
lea rcx, [rax + 8]
mov qword [rbp + 0x1b8], rcx
lea r12, [rax + 0x30]
mov rax, qword [rdi + 0x10]
mov r15, qword [rbp + 0x158]
mov qword [r15 + 0x10], rax
movdqu xmm0, xmmword [rdi]
movdqu xmmword [r15], xmm0
cmp qword [rsi], 0
jne 0x140014c25
mov ecx, 0xa
mov rdx, qword [rbp + 0x1c8]
mov rdi, rdx
mov rax, qword [rbp + 0xc8]
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov al, byte [rax + 0x50]
mov byte [rdx + 0x50], al
mov byte [rdx + 0x51], 0
add rdx, 0x52
sub rsp, 0x20
mov r8d, 0x22e
mov rcx, rdx
mov rdx, qword [rbp + 0xc0]
call fcn.140084cc0
add rsp, 0x20
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140014c56
cmp eax, 1
mov r15, qword [rbp + 0x110]
je 0x140014c92
jmp case.0x140015692.3
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140014d4e
cmp eax, 1
je 0x140014d83
jmp case.0x140015692.3
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0xb8]
sub rsp, 0x20
lea rdx, [0x1400670f3]
mov rcx, rsi
call fcn.14005aa99
add rsp, 0x20
mov byte [rsi + 0x50], 1
mov r15, qword [rbp + 0x110]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x106], 2
jne case.0x140015692.3
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov r14, qword [rcx + rax*8]
mov byte [r14 + 0x106], 0
movabs rax, 0x4b4933ea3ff9e85c
lea rdx, [rax + 0xb0]
xor rdx, rax
movabs rax, 0x33376648e8f7067a
lea rcx, [rax + 0x150]
xor rcx, rax
mov rax, qword [rbp + 0x218]
cmp qword [rax + 0x30], 0
cmove rcx, rdx
add rcx, qword [rax + 0x38]
sub rsp, 0x20
call fcn.14006af97
add rsp, 0x20
mov esi, eax
mov edi, edx
cmp dword [r14 + 0xf8], 0
jne 0x140014e3f
sub rsp, 0x20
call fcn.140062f5c
add rsp, 0x20
mov rbx, rax
shr rbx, 0x20
cmp eax, 2
mov r14d, 1
cmovae r14d, eax
jmp 0x140014e4d
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0xb8]
sub rsp, 0x20
lea rdx, [0x1400670f3]
mov rcx, rsi
call fcn.14005aa99
add rsp, 0x20
mov byte [rsi + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x106], 2
jne case.0x140015692.3
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov r14, qword [rcx + rax*8]
mov byte [r14 + 0x106], 1
movabs rax, 0xda6a6fafcd46c79
lea rdx, [rax + 0xb0]
xor rdx, rax
movabs rax, 0xc9ff17d23a426669
lea rcx, [rax + 0x170]
xor rcx, rax
mov rax, qword [rbp + 0x218]
cmp qword [rax + 0x30], 0
cmove rcx, rdx
add rcx, qword [rax + 0x38]
sub rsp, 0x20
call fcn.14006af97
add rsp, 0x20
mov esi, eax
mov edi, edx
cmp dword [r14 + 0xf8], 0
jne 0x140015872
sub rsp, 0x20
call fcn.140062f5c
add rsp, 0x20
mov rbx, rax
shr rbx, 0x20
cmp eax, 2
mov r14d, 1
cmovae r14d, eax
jmp 0x140015880
mov ebx, dword [r14 + 0xfc]
mov r14d, dword [r14 + 0x100]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdx, [rax + 0xb8]
mov dword [rdx + 0x40], 1
mov dword [rdx + 0x44], esi
mov dword [rdx + 0x48], edi
mov rax, qword [rbp + 0x218]
mov r8, qword [rax + 0x30]
mov r9, qword [rax + 0x38]
sub rsp, 0x20
mov rsi, qword [rbp + 0x20]
mov rcx, rsi
call fcn.14006b010
add rsp, 0x20
mov dword [rsi + 0x18], ebx
mov dword [rsi + 0x1c], r14d
mov rax, qword [rsi]
movdqu xmm0, xmmword [rsi + 8]
mov rdx, qword [rbp + 0xd8]
movdqu xmmword [rdx], xmm0
mov rcx, qword [rsi + 0x18]
mov qword [rdx + 0x10], rcx
movabs rcx, 0xbc320d762e01e180
lea rdx, [rcx + 4]
xor rdx, rcx
cmp rax, rdx
mov rsi, qword [rbp + 0x190]
mov r11, qword [rbp + 0x220]
je case.0x140015692.3
mov rdx, qword [rbp + 0xd8]
mov rcx, qword [rdx + 0x10]
mov qword [r15 + 0x10], rcx
movdqu xmm0, xmmword [rdx]
movdqu xmmword [r15], xmm0
movabs rcx, 0xa6d29e1186182518
lea rdx, [rcx + 3]
xor rdx, rcx
cmp rax, rdx
je case.0x140015692.3
mov rcx, qword [rbp + 0xf8]
mov qword [rcx], rax
mov rax, qword [r15 + 0x10]
mov qword [rcx + 0x18], rax
movdqu xmm0, xmmword [r15]
movdqu xmmword [rcx + 8], xmm0
mov qword [rbp + 0x170], r12
cmp qword [r12], 0
jne case.0x140015692.3
movabs r12, 0xaf6be574d85e4ac0
movabs rbx, 0x692081dcaaf31595
mov rax, rsi
add rax, 0x20
mov qword [rbp + 0x138], rax
mov rax, r11
add rax, 0x39
mov qword [rbp + 0x130], rax
xorps xmm6, xmm6
lea rax, [r11 + 0x10]
mov qword [rbp + 0x208], rax
xor eax, eax
mov rcx, qword [rbp + 0x218]
xchg qword [rcx + 0x28], rax
test rax, rax
jne 0x140015b26
movabs rcx, 0x4e784477d02304a8
lea rax, [rcx + 2]
xor rax, rcx
mov qword [rsi], rax
mov rdx, qword [rbp + 0x1b8]
mov rax, qword [rdx]
movabs r8, 0x7be5d4dc4504ae1
lea ecx, [r8 + 2]
xor ecx, r8d
shr rax, cl
mov qword [r11], rdx
mov qword [r11 + 8], rax
mov rax, qword [rbp + 0x208]
movups xmmword [rax + 0x19], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov rcx, qword [rbp - 0x60]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov rdx, qword [rbp + 0x130]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
sub rsp, 0x20
call case.0x14004b959.376
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rcx, qword [rbp + 0x50]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [rbp + 0x1a8]
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], 0
mov r8, qword [rbp + 0x220]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x14001505b
mov cl, 2
cmp eax, 1
je 0x140015097
jmp 0x1400150c5
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0xb8]
sub rsp, 0x20
mov rcx, rsi
lea rdx, [0x1400670f3]
call fcn.14005aa99
mov r8, qword [rbp + 0x220]
add rsp, 0x20
mov byte [rsi + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov cl, byte [rax + 0x104]
mov dl, byte [rax + 0x105]
mov byte [rbp + 0x210], dl
mov word [rax + 0x104], 0x8001
mov byte [rbp + 0x228], cl
mov rax, qword [rbp + 0x1a8]
mov r14, qword [rax]
mov rdi, qword [r8]
lea r15, [rdi + 8]
lea rax, [rdi + 0x18]
mov qword [rbp + 0x1f8], rax
movzx eax, byte [r8 + 0x38]
test rax, rax
jne 0x140015247
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffc
movabs rdx, 0xbc97148606e0b781
lea rax, [rdx + 2]
xor rax, rdx
or rax, rcx
lock cmpxchg qword [rdi], rcx
jne 0x14001511e
mov byte [r8 + 0x38], 2
jmp 0x1400150e7
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov r13, rax
mov rsi, rdx
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15], cl
jne 0x1400152c6
mov rdx, qword [rdi]
movabs rax, 0xf2bf90074f147df9
lea ecx, [rax + 2]
xor ecx, eax
mov rax, rdx
shr rax, cl
mov r8, qword [rbp + 0x220]
cmp rax, qword [r8 + 8]
movabs r9, 0xb437d73b01777246
movabs r10, 0x7add3111f3a03311
movabs r11, 0x6f131b5c2c6c1f39
jne 0x14001520f
lea rax, [rbx + 1]
xor rax, rbx
and rax, rdx
je 0x1400151d5
cmp rax, 2
jne 0x1400153a6
and rdx, 0xfffffffffffffffc
lea rax, [r12 + 2]
xor rax, r12
or rax, rdx
lock cmpxchg qword [rdi], rdx
je 0x14001520f
mov rdx, rax
movabs rcx, 0x6748b0e388b5b775
lea rax, [rcx + 1]
xor rax, rcx
test rdx, rax
je 0x14001518b
jmp case.0x140015692.3
and rdx, 0xfffffffffffffffc
lea rcx, [r9 + 1]
xor rcx, r9
or rcx, rdx
mov rax, rdx
lock cmpxchg qword [rdi], rcx
je 0x1400153b0
mov rdx, rax
lea rax, [r10 + 1]
xor rax, r10
and rax, rdx
lea rcx, [r11 + 2]
xor rcx, r11
cmp rax, rcx
je 0x14001518b
jmp case.0x140015692.3
mov byte [r8 + 0x38], 2
mov al, 1
xor ecx, ecx
lock cmpxchg byte [r15], cl
jne 0x1400152db
test r13, r13
je 0x1400150e7
sub rsp, 0x20
mov rcx, rsi
call qword [r13 + 0x18]
mov r8, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x1400150e7
cmp eax, 1
jne 0x140015496
mov rax, qword [r8 + 0x30]
test rax, rax
jne 0x1400154b7
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15], cl
jne 0x140015371
mov rax, qword [r8 + 0x30]
test rax, rax
jne 0x14001551a
mov rax, qword [rdi]
movabs rdx, 0x8e77c86f216a9128
lea ecx, [rdx + 2]
xor ecx, edx
shr rax, cl
mov rsi, qword [r8 + 0x20]
cmp rax, qword [r8 + 8]
je 0x14001558f
mov rax, qword [r8 + 0x10]
mov rcx, qword [r8 + 0x28]
mov qword [rbp + 0x1b0], rcx
mov qword [r8 + 0x20], 0
test rax, rax
je 0x1400152f7
mov rcx, qword [r8 + 0x18]
mov qword [rax + 8], rcx
mov rax, qword [r8 + 0x18]
jmp 0x140015311
sub rsp, 0x20
mov rcx, r15
call fcn.140087d85
add rsp, 0x20
jmp 0x140015144
sub rsp, 0x20
mov rcx, r15
call fcn.14008824c
mov r8, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x140015223
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140015345
cmp rax, qword [rbp + 0x208]
jne 0x140015345
mov rax, qword [r8 + 0x18]
mov qword [rdi + 0x10], rax
test rax, rax
jne 0x140015335
mov rax, qword [rbp + 0x1f8]
mov rcx, qword [rax]
test rcx, rcx
je 0x140015345
mov rax, qword [rbp + 0x1f8]
cmp rcx, qword [rbp + 0x208]
jne 0x140015345
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rdx]
mov qword [rax], rcx
movups xmmword [rdx], xmm6
mov byte [r8 + 0x38], 2
mov al, 1
xor ecx, ecx
lock cmpxchg byte [r15], cl
jne 0x14001538d
test rsi, rsi
je 0x1400150e7
sub rsp, 0x20
mov rcx, qword [rbp + 0x1b0]
call qword [rsi + 0x18]
jmp 0x140015237
sub rsp, 0x20
mov rcx, r15
call fcn.140087d85
mov r8, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x14001526c
sub rsp, 0x20
mov rcx, r15
call fcn.14008824c
mov r8, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x140015355
cmp rax, 1
jne case.0x140015692.3
test r13, r13
je 0x1400153c7
mov r14, qword [r8 + 0x20]
mov rdx, qword [r8 + 0x28]
mov qword [r8 + 0x20], r13
mov qword [r8 + 0x28], rsi
jmp 0x1400153ca
xor r14d, r14d
mov rcx, qword [rbp + 0x208]
mov rax, qword [rdi + 0x10]
adc byte [rax - 0x7b], cl
invalid
je 0x1400153e3
invalid
cmp rax, rcx
je case.0x140015692.3
add byte [rax], al
mov qword [r8 + 0x18], rax
mov qword [r8 + 0x10], 0
test rax, rax
je 0x1400153f7
mov qword [rax], rcx
mov qword [rdi + 0x10], rcx
cmp qword [rdi + 0x18], 0
mov rsi, rdx
jne 0x14001540f
mov rax, qword [rbp + 0x1f8]
mov qword [rax], rcx
mov byte [r8 + 0x38], 1
mov al, 1
xor ecx, ecx
lock cmpxchg byte [r15], cl
mov dil, byte [rbp + 0x228]
jne 0x1400154a2
test r14, r14
je 0x14001543a
sub rsp, 0x20
mov rcx, rsi
call qword [r14 + 0x18]
add rsp, 0x20
sub rsp, 0x20
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1a8]
call fcn.140017473
add rsp, 0x20
mov r15d, eax
inc r15b
mov r14b, byte [rbp + 0x210]
cmp dil, 2
je 0x14001547a
sub rsp, 0x20
mov ecx, edi
mov edx, r14d
call fcn.140069a7a
add eax, 0xc4834800
invalid
cmp r15b, 2
jne 0x140015633
sub rsp, 0x20
call fcn.14006332d
add rsp, 0x20
jmp 0x14001502c
invalid
invalid
xor r15d, r15d
mov dil, byte [rbp + 0x228]
jmp 0x14001545b
invalid
sub rsp, 0x20
mov rcx, r15
call fcn.14008824c
add rsp, 0x20
jmp 0x140015426
cmp rax, 5
ja case.0x140015692.3
invalid
mov ecx, 0x26
bt rcx, rax
jae case.0x140015692.3
invalid
add byte [rax], al
mov rax, qword [r8 + 0x20]
mov rcx, qword [r8 + 0x28]
mov qword [r8 + 0x20], 0
test rax, rax
mov dil, byte [rbp + 0x228]
mov bh, byte [rbp + 0x228]
mov r14b, byte [rbp + 0x210]
je case.0x14000a14e.103
sub rsp, 0x20
call qword [rax + 0x18]
push rax
sbb byte [rbx + rcx*4 - 0x7b], cl
and byte [rdx], al
add byte [rax], al
add rsp, 0x20
mov qword [r8 + 0x30], 0
mov byte [r8 + 0x38], 2
xor r15d, r15d
invalid
jmp 0x140015462
invalid
cmp rax, 5
ja case.0x140015692.3
invalid
add byte [rax], al
mov ecx, 0x26
bt rcx, rax
jae case.0x140015692.3
invalid
add byte [rax], al
mov rdi, qword [r8 + 0x20]
mov rsi, qword [r8 + 0x28]
mov qword [r8 + 0x20], 0
and byte [rax], al
add byte [rax], al
add byte [rcx - 0x39], cl
xor byte [rax], al
add byte [rax], al
invalid
mov al, 1
add dword [rcx], esi
leave
lock cmpxchg byte [r15], cl
mov r14b, byte [rbp + 0x210]
jne 0x140015605
test rdi, rdi
je 0x14001557b
sub rsp, 0x20
mov rcx, rsi
call qword [rdi + 0x18]
mov r8, qword [rbp + 0x220]
add rsp, 0x20
mov byte [r8 + 0x38], 2
xor r15d, r15d
mov dil, byte [rbp + 0x228]
jmp 0x140015462
mov rax, qword [r14]
test rsi, rsi
je 0x1400155b6
mov rcx, qword [r14 + 8]
mov rdx, qword [r8 + 0x28]
push rax
sub byte [rax + 0x31], cl
xor edx, ecx
xor rsi, rax
or rsi, rdx
mov dil, byte [rbp + 0x228]
add byte [rax], al
jne 0x1400155c1
xor r14d, r14d
jmp 0x1400155e5
mov rcx, qword [r14 + 8]
mov dil, byte [rbp + 0x228]
sub rsp, 0x20
mov rsi, r8
call qword [rax]
add rsp, 0x20
mov r14, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
mov qword [rbp + 0x1b0], rcx
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rdx
mov al, 1
xor ecx, ecx
lock cmpxchg byte [r15], cl
jne 0x140015621
test r14, r14
mov rsi, qword [rbp + 0x1b0]
jne 0x14001542b
jmp 0x14001543a
sub rsp, 0x20
mov rcx, r15
call fcn.14008824c
mov r8, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x140015561
sub rsp, 0x20
mov rcx, r15
call fcn.14008824c
add rsp, 0x20
jmp 0x1400155f0
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
sub rsp, 0x20
call qword [rax + 0x18]
add rsp, 0x20
mov r11, qword [rbp + 0x220]
cmp byte [r11 + 0x38], 1
jne 0x1400157b9
mov rsi, qword [r11]
lea r14, [rsi + 8]
xor eax, eax
mov cl, 1
lock cmpxchg byte [rsi + 8], cl
jne 0x140015825
mov r8, qword [rsi]
mov rcx, qword [r11 + 0x30]
cmp rcx, 5
ja case.0x140015692.3
mov al, 1
lea rdx, [0x14009641c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
xor r9d, r9d
jmp 0x14001569f
mov r9d, 1
xor eax, eax
lea rcx, [rsi + 0x10]
mov rdx, qword [rbp + 0x208]
mov rdx, qword [rdx]
test rdx, rdx
je 0x1400156c2
mov r10, qword [r11 + 0x18]
mov qword [rdx + 8], r10
mov rdx, qword [r11 + 0x18]
jmp 0x1400156da
mov rdx, qword [rcx]
test rdx, rdx
je 0x140015706
cmp rdx, qword [rbp + 0x208]
jne 0x140015706
mov rdx, qword [r11 + 0x18]
mov qword [rcx], rdx
test rdx, rdx
jne 0x1400156f5
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x140015706
cmp rdx, qword [rbp + 0x208]
jne 0x140015706
lea rdx, [rsi + 0x18]
mov r11, qword [rbp + 0x208]
mov r10, qword [r11]
mov qword [rdx], r10
movups xmmword [r11], xmm6
mov rdx, qword [rsi + 0x10]
test rdx, rdx
sete r10b
cmp qword [rsi + 0x18], 0
setne r11b
and r11b, r10b
cmp r11b, 1
je case.0x140015692.3
movabs r11, 0xb611c13527cb5248
lea r10, [r11 + 3]
xor r10, r11
and r10, r8
movabs rdi, 0x6919a1281624100a
lea r11, [rdi + 1]
xor r11, rdi
xor r11, r10
or rdx, r11
jne 0x14001575e
and r8, 0xfffffffffffffffc
mov rdx, r8
xchg qword [rsi], rdx
test al, al
jne 0x1400157a3
sub rsp, 0x20
mov rdx, rsi
call fcn.140066be5
add rsp, 0x20
test rax, rax
je 0x1400157a3
mov rsi, rax
mov r13, rdx
mov al, 1
xor ecx, ecx
lock cmpxchg byte [r14], cl
jne 0x14001585d
sub rsp, 0x20
mov rcx, r13
call qword [rsi + 8]
add rsp, 0x20
mov r11, qword [rbp + 0x220]
jmp 0x1400157b9
mov al, 1
xor ecx, ecx
lock cmpxchg byte [r14], cl
mov r11, qword [rbp + 0x220]
jne 0x140015841
test r15b, r15b
jne 0x140015c76
mov rax, qword [r11 + 0x20]
test rax, rax
je 0x1400157e1
mov rcx, qword [r11 + 0x28]
sub rsp, 0x20
call qword [rax + 0x18]
mov r11, qword [rbp + 0x220]
add rsp, 0x20
movabs rcx, 0x981a707015892f78
lea rax, [rcx + 2]
xor rax, rcx
mov rsi, qword [rbp + 0x190]
cmp qword [rsi], rax
je 0x140014f7f
sub rsp, 0x20
mov rcx, rsi
call fcn.140002a89
mov r11, qword [rbp + 0x220]
mov rsi, qword [rbp + 0x190]
add rsp, 0x20
jmp 0x140014f7f
sub rsp, 0x20
mov rcx, r14
call fcn.140087d85
mov r11, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x140015671
sub rsp, 0x20
mov rcx, r14
call fcn.14008824c
mov r11, qword [rbp + 0x220]
add rsp, 0x20
jmp 0x1400157b9
sub rsp, 0x20
mov rcx, r14
call fcn.14008824c
add rsp, 0x20
jmp 0x14001578c
mov ebx, dword [r14 + 0xfc]
mov r14d, dword [r14 + 0x100]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdx, [rax + 0xb8]
mov dword [rdx + 0x40], 1
mov dword [rdx + 0x44], esi
mov dword [rdx + 0x48], edi
mov rax, qword [rbp + 0x218]
mov r8, qword [rax + 0x30]
mov r9, qword [rax + 0x38]
sub rsp, 0x20
mov rsi, qword [rbp + 0x18]
mov rcx, rsi
call fcn.14006b010
add rsp, 0x20
mov dword [rsi + 0x18], ebx
mov dword [rsi + 0x1c], r14d
mov rax, qword [rsi]
movdqu xmm0, xmmword [rsi + 8]
mov rdx, qword [rbp + 0xd0]
movdqu xmmword [rdx], xmm0
mov rcx, qword [rsi + 0x18]
mov qword [rdx + 0x10], rcx
movabs rcx, 0x2a38446a7dd901ab
lea rdx, [rcx + 4]
xor rdx, rcx
cmp rax, rdx
mov r8, qword [rbp + 0x10]
je case.0x140015692.3
mov r9, qword [rbp + 0xd0]
mov rcx, qword [r9 + 0x10]
mov rdx, qword [rbp + 0xe0]
mov qword [rdx + 0x10], rcx
movdqu xmm0, xmmword [r9]
movdqu xmmword [rdx], xmm0
movabs rcx, 0xc5b3f67faf341edd
lea rdx, [rcx + 1]
xor rdx, rcx
cmp rax, rdx
je case.0x140015692.3
mov rcx, qword [rbp + 0xe8]
mov qword [rcx], rax
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rdx + 0x10]
mov qword [rcx + 0x18], rax
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rcx + 8], xmm0
mov ecx, 0xa
mov rdi, r8
mov rax, qword [rbp + 0xc8]
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov al, byte [rax + 0x50]
mov byte [r8 + 0x50], al
mov byte [r8 + 0x51], 0
mov rcx, r8
add rcx, 0x52
sub rsp, 0x20
mov rsi, r8
mov r8d, 0x22e
mov rdx, qword [rbp + 0xc0]
call fcn.140084cc0
call case.0x14004b959.376
add rsp, 0x20
test rax, rax
je 0x140017461
mov rcx, qword [rbp + 0xf0]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [rbp + 0x150]
mov qword [rax], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], 0
sub rsp, 0x20
mov r8d, 0x280
mov rcx, qword [rbp + 0x188]
mov rdx, rsi
call fcn.140084cc0
add rsp, 0x20
lea rsi, [0x1400670f3]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140015a4c
cmp eax, 1
je 0x140015a7d
sub rsp, 0x20
mov rcx, qword [rbp + 0x188]
mov rdx, qword [rbp + 0x150]
call fcn.140017473
add rsp, 0x20
test al, al
jne 0x140015ada
jmp 0x140015aec
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0xb8]
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call fcn.14005aa99
add rsp, 0x20
mov byte [rdi + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov bl, byte [rax + 0x104]
mov dil, byte [rax + 0x105]
mov word [rax + 0x104], 0x8001
sub rsp, 0x20
mov rcx, qword [rbp + 0x188]
mov rdx, qword [rbp + 0x150]
call fcn.140017473
add rsp, 0x20
mov r14d, eax
sub rsp, 0x20
mov ecx, ebx
mov edx, edi
call fcn.140069a7a
add rsp, 0x20
test r14b, r14b
je 0x140015aec
sub rsp, 0x20
call fcn.14006332d
add rsp, 0x20
jmp 0x140015a00
sub rsp, 0x20
mov rcx, qword [rbp + 0x188]
call fcn.1400024cb
add rsp, 0x20
mov rcx, qword [rbp + 0xf0]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
sub rsp, 0x20
call qword [rax + 0x18]
mov rcx, qword [rbp + 0xe8]
call fcn.140002a20
jmp 0x1400165d3
mov rcx, qword [rcx + 0x38]
lock inc qword [rcx]
jle case.0x140015692.3
pxor xmm0, xmm0
mov rdx, qword [rbp + 0x138]
movdqu xmmword [rdx], xmm0
movabs rdx, 0x95ee423bd41f5d04
lea r8, [rdx + 8]
xor r8, rdx
mov qword [rsi + 0x30], r8
xor edx, edx
mov qword [rsi + 0x38], rdx
mov qword [rsi], rdx
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rsi + 0x40], rax
mov ecx, 9
mov rdi, qword [rbp + 0x200]
rep movsq qword [rdi], qword [rsi]
sub rsp, 0x20
call case.0x1400251cc.297
add rsp, 0x20
test rax, rax
je case.0x140015692.3
mov rcx, qword [rbp + 0x30]
mov qword [rcx], rax
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
movabs rax, 0x39b00d38d744b4c2
lea rdx, [rax + 1]
xor rdx, rax
cmp r8, rdx
jne 0x140015bd3
sub rsp, 0x20
call fcn.14005b18b
add rsp, 0x20
mov rax, qword [rbp + 0x200]
cmp qword [rax], 0
jne case.0x140015692.3
cmp qword [rax + 0x10], 0
jne case.0x140015692.3
mov qword [rax + 0x10], 0xffffffffffffffff
mov r12, qword [rax + 0x18]
mov qword [rax + 0x18], 0
test r12, r12
je case.0x140015692.3
lea rsi, [rax + 8]
mov qword [rax + 0x10], 0
mov rcx, qword [rbp + 0x118]
mov qword [rcx], rax
mov rax, qword [rbp + 0x1c8]
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], rsi
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140015ccf
cmp eax, 1
je 0x140015d04
mov rcx, qword [rbp + 0x118]
add rcx, 0x10
sub rsp, 0x20
call fcn.140003961
jmp 0x14001746d
mov rax, qword [r11 + 0x20]
test rax, rax
je 0x140015c8e
mov rcx, qword [r11 + 0x28]
sub rsp, 0x20
call qword [rax + 0x18]
add rsp, 0x20
movabs rax, 0x1d4488ffb3be3e38
lea rdx, [rax + 2]
xor rdx, rax
mov rcx, qword [rbp + 0x190]
cmp qword [rcx], rdx
mov r15, qword [rbp + 0x158]
mov r12, qword [rbp + 0x170]
je 0x1400165b7
sub rsp, 0x20
call fcn.140002a89
add rsp, 0x20
jmp 0x1400165b7
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0xb8]
sub rsp, 0x20
lea rdx, [0x1400670f3]
mov rcx, rdi
call fcn.14005aa99
add rsp, 0x20
mov byte [rdi + 0x50], 1
mov r8, qword [rbp + 0x200]
lea rdi, [r8 + 0x18]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0xf0]
mov qword [rbp + 0x220], rcx
mov qword [rax + 0xf0], r8
mov rax, qword [r8 + 8]
lea rcx, [rax + 0x10]
mov byte [rax + 0xb8], 1
lea rdx, [0x140095540]
mov r9, qword [rbp + 0x38]
mov qword [r9], rdx
mov qword [r9 + 8], rcx
mov rcx, qword [rbp + 0x168]
mov qword [rcx], r9
mov qword [rcx + 8], r9
mov qword [rcx + 0x10], 0
add r8, 0x20
mov qword [rbp + 0x228], r8
mov rcx, qword [rbp + 0x1a0]
add rcx, 8
mov qword [rbp + 0x1a8], rcx
xor ecx, ecx
xchg byte [rax + 0xb8], cl
test cl, cl
je 0x140015f0c
mov rcx, qword [rbp + 0x200]
cmp qword [rcx + 0x10], 0
jne case.0x140015692.3
mov qword [rcx + 0x10], 0xffffffffffffffff
cmp qword [rcx + 0x18], 0
je 0x140015dea
sub rsp, 0x20
mov rcx, rdi
call fcn.140003961
mov rcx, qword [rbp + 0x200]
add rsp, 0x20
movabs rdx, 0x5911f9a5449b1358
lea rax, [rdx + 1]
xor rax, rdx
add rax, qword [rcx + 0x10]
jmp 0x140015dec
xor eax, eax
mov qword [rcx + 0x18], r12
mov qword [rcx + 0x10], rax
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140015e3b
cmp eax, 1
je 0x140015e71
sub rsp, 0x20
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x168]
call fcn.140017473
add rsp, 0x20
mov r15d, eax
jmp 0x140015ecc
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r15, [rax + 0xb8]
sub rsp, 0x20
mov rcx, r15
lea rdx, [0x1400670f3]
call fcn.14005aa99
add rsp, 0x20
mov byte [r15 + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12b, byte [rax + 0x104]
mov r13b, byte [rax + 0x105]
mov word [rax + 0x104], 0x8001
sub rsp, 0x20
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x168]
call fcn.140017473
add rsp, 0x20
mov r15d, eax
sub rsp, 0x20
mov ecx, r12d
mov edx, r13d
call fcn.140069a7a
add rsp, 0x20
mov rax, qword [rbp + 0x200]
cmp qword [rax + 0x10], 0
jne case.0x140015692.3
mov qword [rax + 0x10], 0xffffffffffffffff
mov r12, qword [rax + 0x18]
mov qword [rax + 0x18], 0
test r12, r12
je case.0x140015692.3
mov qword [rax + 0x10], 0
test r15b, r15b
je 0x140017417
mov r8, qword [rsi]
mov ebx, dword [r8 + 0x40]
test ebx, ebx
je 0x14001617d
xor r14d, r14d
cmp byte [r12 + 0x68], 0
jne 0x140016517
mov eax, dword [r12 + 0x60]
mov r8d, dword [r12 + 0x64]
inc eax
mov dword [r12 + 0x60], eax
test r8d, r8d
je case.0x140015692.3
mov rcx, qword [rsi]
xor edx, edx
div r8d
test edx, edx
jne 0x140015fbb
add rcx, 0x90
sub rsp, 0x20
call fcn.140068105
add rsp, 0x20
mov r15, rax
test rax, rax
jne 0x14001602a
mov rcx, qword [r12 + 0x58]
test rcx, rcx
je 0x14001619f
mov rdx, qword [r12 + 0x40]
mov rax, qword [r12 + 0x50]
movabs r9, 0x60037a4f02ac5d9c
lea r8, [r9 + 1]
xor r8, r9
add r8, rax
cmp r8, rdx
mov r9d, 0
cmovae r9, rdx
sub r8, r9
mov qword [r12 + 0x50], r8
dec rcx
mov qword [r12 + 0x58], rcx
jmp 0x140016021
mov rdx, qword [r12 + 0x58]
test rdx, rdx
jne 0x140015fe6
add rcx, 0x90
sub rsp, 0x20
call fcn.140068105
add rsp, 0x20
mov r15, rax
test rax, rax
jne 0x14001602a
jmp 0x14001619f
mov rcx, qword [r12 + 0x40]
mov rax, qword [r12 + 0x50]
movabs r9, 0xdb1247a9cfde0d3a
lea r8, [r9 + 1]
xor r8, r9
add r8, rax
cmp r8, rcx
mov r9d, 0
cmovae r9, rcx
sub r8, r9
mov qword [r12 + 0x50], r8
dec rdx
mov qword [r12 + 0x58], rdx
mov rcx, qword [r12 + 0x48]
mov r15, qword [rcx + rax*8]
mov rcx, qword [rbp + 0x200]
cmp qword [rcx + 0x10], 0
jne case.0x140015692.3
mov qword [rcx + 0x10], 0xffffffffffffffff
cmp qword [rcx + 0x18], 0
je 0x140016079
sub rsp, 0x20
mov rcx, rdi
call fcn.140003961
mov rcx, qword [rbp + 0x200]
add rsp, 0x20
movabs rdx, 0x23eccb3264882202
lea rax, [rdx + 1]
xor rax, rdx
add rax, qword [rcx + 0x10]
jmp 0x14001607b
xor eax, eax
mov qword [rcx + 0x18], r12
mov qword [rcx + 0x10], rax
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x1400160ac
mov r12b, 2
cmp eax, 1
je 0x1400160e3
jmp 0x14001610d
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r12, [rax + 0xb8]
sub rsp, 0x20
mov rcx, r12
lea rdx, [0x1400670f3]
call fcn.14005aa99
add rsp, 0x20
mov byte [r12 + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12b, byte [rax + 0x104]
mov r13b, byte [rax + 0x105]
mov word [rax + 0x104], 0x8001
mov rax, qword [r15 + 0x10]
sub rsp, 0x20
mov rcx, r15
call qword [rax]
add rsp, 0x20
cmp r12b, 2
je 0x140016137
sub rsp, 0x20
mov ecx, r12d
mov edx, r13d
call fcn.140069a7a
add rsp, 0x20
mov rax, qword [rbp + 0x200]
cmp qword [rax + 0x10], 0
jne case.0x140015692.3
mov qword [rax + 0x10], 0xffffffffffffffff
mov r12, qword [rax + 0x18]
mov qword [rax + 0x18], 0
test r12, r12
je case.0x140015692.3
inc r14d
mov qword [rax + 0x10], 0
cmp r14d, ebx
jne 0x140015f1e
mov r8, qword [rsi]
add r8, 0x10
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call fcn.14006c693
add rsp, 0x20
mov r12, rax
mov rax, qword [rsi]
jmp 0x140015d8b
mov rax, qword [rbp + 0x228]
movabs rcx, 0x7fffffffffffffff
cmp qword [rax], rcx
jae case.0x140015692.3
mov rax, qword [rbp + 0x200]
cmp qword [rax + 0x38], 0
mov r15, qword [rax + 8]
jne 0x14001628d
mov rax, qword [r12]
movabs rdx, 0x4b6cc1af5eb51fbc
lea rcx, [rdx + 2]
xor rcx, rdx
mov qword [r12], rcx
movabs rdx, 0xc9969d4ea600c474
lea rcx, [rdx + 2]
xor rcx, rdx
cmp rax, rcx
je case.0x140015692.3
mov rcx, qword [rbp + 0x1a0]
mov qword [rcx], rax
mov rax, qword [r12 + 0x38]
mov rcx, qword [rbp + 0x1a8]
mov qword [rcx + 0x30], rax
movups xmm0, xmmword [r12 + 8]
movups xmm1, xmmword [r12 + 0x18]
movups xmm2, xmmword [r12 + 0x28]
movups xmmword [rcx + 0x20], xmm2
movups xmmword [rcx + 0x10], xmm1
movups xmmword [rcx], xmm0
mov rax, qword [r15 + 0x20]
test rax, rax
je 0x1400162a3
mov rbx, qword [rbp + 0x200]
cmp qword [rbx + 0x10], 0
jne case.0x140015692.3
mov qword [rbx + 0x10], 0xffffffffffffffff
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400162ac
sub rsp, 0x20
call fcn.14006a97a
add rsp, 0x20
movabs rax, 0x268d81400985e0e0
lea rcx, [rax + 1]
xor rcx, rax
add rcx, qword [rbx + 0x10]
mov rax, qword [r15 + 0x20]
jmp 0x1400162ae
add r15, 0x10
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
mov r8, r15
jmp 0x14001618b
mov rcx, qword [rbp + 0x200]
jmp 0x14001631a
xor ecx, ecx
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x10], rcx
mov rdx, qword [r15 + 0x28]
mov r8, qword [rdx + 0x10]
dec r8
and r8, 0xfffffffffffffff0
movabs r9, 0x1cb0275f27548060
lea rcx, [r9 + 0x10]
xor rcx, r9
add rcx, rax
add rcx, r8
sub rsp, 0x20
call qword [rdx + 0x28]
add rsp, 0x20
cmp qword [rbx + 0x10], 0
jne case.0x140015692.3
mov rcx, rbx
mov qword [rbx + 0x10], 0xffffffffffffffff
mov r12, qword [rbx + 0x18]
mov qword [rbx + 0x18], 0
test r12, r12
je case.0x140015692.3
mov qword [rcx + 0x10], 0
cmp qword [r12 + 0x58], 0
jne 0x1400163d1
cmp qword [rcx + 0x10], 0
jne case.0x140015692.3
mov qword [rcx + 0x10], 0xffffffffffffffff
mov rbx, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x140016369
sub rsp, 0x20
call fcn.14006a97a
add rsp, 0x20
movabs rcx, 0x34105d35a784b388
lea rax, [rcx + 1]
xor rax, rcx
add rax, qword [rbx + 0x10]
jmp 0x14001636b
xor eax, eax
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x10], rax
lea rdx, [r15 + 0xc0]
sub rsp, 0x20
mov rcx, qword [rbp + 0x1a0]
call fcn.14006bf4e
mov rcx, qword [rbp + 0x228]
call fcn.14006a4c5
mov rcx, qword [rbp + 0x200]
add rsp, 0x20
cmp qword [rcx + 0x10], 0
jne case.0x140015692.3
mov qword [rcx + 0x10], 0xffffffffffffffff
mov r12, qword [rcx + 0x18]
mov qword [rcx + 0x18], 0
test r12, r12
je case.0x140015692.3
mov qword [rcx + 0x10], 0
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x140016490
cmp qword [rcx + 0x10], 0
jne case.0x140015692.3
mov qword [rcx + 0x10], 0xffffffffffffffff
mov rbx, rcx
mov rcx, qword [rcx + 0x18]
test rcx, rcx
je 0x140016425
sub rsp, 0x20
call fcn.14006a97a
add rsp, 0x20
movabs rax, 0x27cc52f208f649c4
lea rcx, [rax + 1]
xor rcx, rax
add rcx, qword [rbx + 0x10]
mov rax, qword [r15 + 0x30]
jmp 0x140016427
xor ecx, ecx
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x10], rcx
mov rdx, qword [r15 + 0x38]
mov r8, qword [rdx + 0x10]
dec r8
and r8, 0xfffffffffffffff0
movabs r9, 0x1b2b5d1ecc98afc8
lea rcx, [r9 + 0x10]
xor rcx, r9
add rcx, rax
add rcx, r8
sub rsp, 0x20
call qword [rdx + 0x28]
add rsp, 0x20
cmp qword [rbx + 0x10], 0
jne case.0x140015692.3
mov qword [rbx + 0x10], 0xffffffffffffffff
mov r12, qword [rbx + 0x18]
mov qword [rbx + 0x18], 0
test r12, r12
je case.0x140015692.3
mov qword [rbx + 0x10], 0
mov rax, qword [rbp + 0x1a0]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
mov rax, qword [rbp + 0x120]
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
movabs rcx, 0x4ba78c8582e91ab1
lea rax, [rcx + 2]
xor rax, rcx
cmp qword [r12], rax
je 0x1400164e3
sub rsp, 0x20
mov rcx, r12
call fcn.1400696f4
add rsp, 0x20
mov rax, qword [rbp + 0x120]
movdqu xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movups xmmword [r12 + 0x30], xmm3
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movdqu xmmword [r12], xmm0
jmp 0x140016197
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rbp + 0x200]
cmp qword [rcx + 0x10], 0
mov rdx, qword [rbp + 0x220]
mov qword [rax + 0xf0], rdx
jne case.0x140015692.3
xor esi, esi
mov qword [rcx + 0x10], 0xffffffffffffffff
cmp qword [rcx + 0x18], 0
je 0x140016589
sub rsp, 0x20
mov rcx, rdi
call fcn.140003961
add rsp, 0x20
movabs rcx, 0x9f2d235d9980a7f6
lea rax, [rcx + 1]
xor rax, rcx
mov rcx, qword [rbp + 0x200]
add rax, qword [rcx + 0x10]
jmp 0x14001658b
xor eax, eax
mov qword [rcx + 0x18], r12
mov qword [rcx + 0x10], rax
sub rsp, 0x20
call fcn.140002a89
add rsp, 0x20
test sil, sil
mov r15, qword [rbp + 0x158]
mov r12, qword [rbp + 0x170]
je case.0x140015692.3
sub rsp, 0x20
mov rcx, qword [rbp + 0xf8]
call fcn.140002a20
mov rcx, qword [rbp + 0x1c8]
call fcn.1400024cb
add rsp, 0x20
mov rdx, qword [r15 + 0x10]
sub rsp, 0x20
mov rcx, r15
call fcn.1400697b7
add rsp, 0x20
mov rax, qword [r15]
movabs rcx, 0x6d76d42f6fc28ca5
lea rdx, [rcx + 2]
xor rdx, rcx
cmp rax, rdx
je 0x140016675
add r15, 8
test rax, rax
jne 0x140016640
mov rax, qword [r15]
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
movabs rax, 0x494ba0747928525c
lea rdx, [rax + 1]
xor rdx, rax
cmp rcx, rdx
jne 0x140016675
sub rsp, 0x20
mov rcx, r15
call fcn.140068c34
jmp 0x140016671
mov rax, qword [r15]
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
movabs rax, 0x6b82d21990b738ac
lea rdx, [rax + 1]
xor rdx, rax
cmp rcx, rdx
jne 0x140016675
sub rsp, 0x20
mov rcx, r15
call fcn.140068cf7
add rsp, 0x20
mov rax, qword [rbp + 0x218]
cmp qword [rax], 0
jne 0x140016748
mov rdx, qword [rax + 0x30]
mov r8, qword [rax + 0x38]
sub rsp, 0x20
mov rcx, qword [rbp + 0x100]
call fcn.14006c14e
mov rax, qword [rbp + 0x218]
add rsp, 0x20
cmp qword [rax + 0x30], 0
jne case.0x140015692.3
xor esi, esi
xchg qword [rax + 0x28], rsi
test rsi, rsi
je case.0x140015692.3
mov rax, qword [rax + 0x38]
lock inc qword [rax]
jle case.0x140015692.3
xor ecx, ecx
mov r8, qword [rbp + 0x160]
mov qword [r8], rcx
mov qword [r8 + 8], rax
mov qword [r8 + 0x10], rcx
mov qword [r8 + 0x18], rsi
pxor xmm0, xmm0
movdqu xmmword [r8 + 0x20], xmm0
movabs rax, 0x8d34ebbab881dc3
lea rdx, [rax + 8]
xor rdx, rax
mov qword [r8 + 0x30], rdx
mov qword [r8 + 0x38], rcx
mov rax, qword [rbp + 0x1b8]
mov qword [r8 + 0x40], rax
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x1400167f3
cmp eax, 1
je 0x14001682a
jmp 0x140016881
cmp qword [r12], 0
je case.0x140015692.3
mov rsi, qword [rax + 0x38]
lea rdi, [rsi + 0xc8]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0xc8], cl
jne 0x1400173c0
cmp byte [rsi + 0xf8], 0
jne 0x1400167d4
mov byte [rsi + 0xf8], 1
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rsi + 0xc8], cl
jne 0x140017447
mov rdi, qword [rsi + 0x60]
test rdi, rdi
je 0x140016a3c
mov rbx, qword [rsi + 0x58]
add rsi, 0x120
shl rdi, 4
xor r14d, r14d
mov rcx, qword [rbx + r14 + 8]
sub rsp, 0x20
mov rdx, rsi
call case.0x14004d04e.296
add rsp, 0x20
add r14, 0x10
cmp rdi, r14
jne 0x1400167b1
jmp 0x140016a3c
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rdi], cl
je 0x140016a3c
sub rsp, 0x20
mov rcx, rdi
call fcn.14008824c
jmp 0x140016a38
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0xb8]
sub rsp, 0x20
lea rdx, [0x1400670f3]
mov rcx, rdi
call fcn.14005aa99
add rsp, 0x20
mov byte [rdi + 0x50], 1
mov al, 1
mov ecx, dword [0x1400a5be8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
movabs rdx, 0x7fffffffffffffff
cmp qword [rcx + 0xb8], rdx
jae case.0x140015692.3
mov ecx, dword [0x1400a5be8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
movabs rdx, 0x8c4678694c53a74
lea r8, [rdx + 2]
xor r8, rdx
cmp qword [rcx + 0xc0], r8
jne 0x1400168bc
mov rax, qword [rbp + 0x218]
mov rdx, qword [rax + 0x38]
add rdx, 0x10
sub rsp, 0x20
mov rcx, rsi
call fcn.14006a9db
add rsp, 0x20
mov rcx, qword [rbp + 0x160]
mov qword [rcx + 0x18], rsi
mov qword [rcx + 0x10], 0
sub rsp, 0x20
jmp 0x140016a06
mov ecx, 9
mov rdx, qword [rbp + 0x198]
mov rdi, rdx
mov rsi, qword [rbp + 0x160]
rep movsq qword [rdi], qword [rsi]
cmp qword [rdx], 0
jne case.0x140015692.3
cmp qword [rdx + 0x10], 0
jne case.0x140015692.3
mov rsi, qword [rdx + 0x18]
mov qword [rdx + 0x18], 0
test rsi, rsi
je case.0x140015692.3
mov qword [rdx + 0x10], 0
test al, al
je 0x140016924
movzx eax, al
cmp eax, 1
je 0x140016960
sub rsp, 0x20
mov rcx, rsi
call fcn.14006a97a
jmp 0x14001746d
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0xb8]
sub rsp, 0x20
lea rdx, [0x1400670f3]
mov rcx, rdi
call fcn.14005aa99
mov rdx, qword [rbp + 0x198]
add rsp, 0x20
mov byte [rdi + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
mov rbx, qword [rdi + 0xf0]
mov qword [rdi + 0xf0], rdx
mov rax, qword [rbp + 0x218]
mov rdx, qword [rax + 0x38]
add rdx, 0x10
sub rsp, 0x20
mov rcx, rsi
call fcn.14006a9db
mov rdx, qword [rbp + 0x198]
add rsp, 0x20
mov qword [rdi + 0xf0], rbx
cmp qword [rdx + 0x10], 0
jne case.0x140015692.3
mov qword [rdx + 0x10], 0xffffffffffffffff
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400169f5
sub rsp, 0x20
call fcn.14006a97a
mov rdx, qword [rbp + 0x198]
add rsp, 0x20
movabs rcx, 0xf550c80cecc005d0
lea rax, [rcx + 1]
xor rax, rcx
add rax, qword [rdx + 0x10]
jmp 0x1400169f7
xor eax, eax
mov qword [rdx + 0x18], rsi
mov qword [rdx + 0x10], rax
sub rsp, 0x20
mov rcx, rdx
call fcn.14006cbff
add rsp, 0x20
movabs rax, 0x67cd051246ab35b1
lea rcx, [rax + 1]
xor rcx, rax
mov rax, qword [rbp + 0x100]
cmp qword [rax], rcx
je 0x140016a3c
mov rcx, rax
sub rsp, 0x20
call fcn.140068bfa
add rsp, 0x20
mov rdi, qword [rbp + 0x1d8]
add rdi, 0x40
mov rax, qword [rbp + 0x218]
cmp qword [rax], 0
jne 0x140016a75
xor eax, eax
mov rcx, qword [rbp + 0x218]
xchg qword [rcx + 0x28], rax
mov rcx, qword [rbp + 0x28]
mov qword [rcx], rax
sub rsp, 0x20
call fcn.1400678d5
add rsp, 0x20
sub rsp, 0x20
mov rcx, r12
call fcn.14000237e
add rsp, 0x20
mov rbx, qword [rdi]
lea rsi, [rbx + 0x40]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rbx + 0x40], cl
jne 0x1400173ab
cmp byte [rbx + 0xc4], 0
jne 0x140016c17
mov qword [rbp + 0x1d8], rdi
mov byte [rbx + 0xc4], 1
lea rdi, [rbx + 0x98]
mov rax, qword [rbx + 0x98]
test rax, rax
je 0x140016afb
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
movabs rax, 0x60aba71deb2d2290
lea rdx, [rax + 1]
xor rdx, rax
cmp rcx, rdx
jne 0x140016afb
sub rsp, 0x20
mov rcx, rdi
call fcn.140068afd
add rsp, 0x20
mov qword [rdi], 0
mov rax, qword [rbp + 0x1d8]
mov rcx, qword [rax]
mov rdx, qword [rcx + 0xc8]
test rdx, rdx
jne 0x1400173d5
mov rax, qword [rbx + 0xb0]
mov rcx, qword [rbp + 0x108]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rbx + 0xa0]
movups xmmword [rcx], xmm0
mov qword [rbx + 0xa0], 0
lea rdi, [rbx + 0x68]
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x78], 0
je 0x1400173ee
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x88]
movabs r8, 0x8827c3686a027b7e
lea r9, [r8 + 1]
xor r9, r8
add r9, rcx
mov qword [rax + 0x80], r9
mov r13, qword [rbx + 0x68]
mov rax, qword [rbx + 0x70]
mov qword [rbp + 0x228], rax
mov r12, qword [rbx + 0x80]
movups xmm0, xmmword [0x140095450]
movups xmmword [rdi + 0x10], xmm0
movdqu xmm0, xmmword [str.0T_t_]
movdqu xmmword [rdi], xmm0
mov qword [rbx + 0x88], rcx
mov qword [rbx + 0x90], rdx
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rbx + 0x40], cl
jne 0x140017402
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140016c48
cmp eax, 1
je 0x140016c7d
jmp 0x140016c9d
xor ecx, ecx
mov al, 1
lock cmpxchg byte [rsi], cl
mov rcx, qword [rbp + 0x1f0]
je 0x14001715e
sub rsp, 0x20
mov rcx, rsi
call fcn.14008824c
mov rcx, qword [rbp + 0x1f0]
add rsp, 0x20
jmp 0x14001715e
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rsi, [rax + 0xb8]
sub rsp, 0x20
lea rdx, [0x1400670f3]
mov rcx, rsi
call fcn.14005aa99
add rsp, 0x20
mov byte [rsi + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x106], 2
jne case.0x140015692.3
sub rsp, 0x20
call case.0x14004b959.376
add rsp, 0x20
test rax, rax
je 0x140016fac
mov rcx, qword [rbp + 0x1c0]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x108]
test rax, rax
je 0x140016ce9
mov bl, 2
cmp eax, 1
je 0x140016d1e
jmp 0x140016d4c
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rdi, [rax + 0xb8]
sub rsp, 0x20
mov rcx, rdi
lea rdx, [0x1400670f3]
call fcn.14005aa99
add rsp, 0x20
mov byte [rdi + 0x50], 1
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov bl, byte [rax + 0x104]
mov cl, byte [rax + 0x105]
mov byte [rbp + 0x220], cl
mov word [rax + 0x104], 0x8001
mov rax, qword [rbp + 0x218]
mov rsi, qword [rax + 0x48]
test rsi, rsi
je case.0x140015692.3
sub rsp, 0x20
mov rcx, qword [rbp + 0x1c0]
call fcn.14006be5c
add rsp, 0x20
mov r14d, eax
cmp r14b, 2
jne 0x140016d85
xor r15d, r15d
xor r14d, r14d
jmp 0x140016dae
sub rsp, 0x20
xor ecx, ecx
xor edx, edx
call fcn.14006c609
add rsp, 0x20
mov r15b, 1
test r14b, 1
jne 0x140016f62
mov r15d, r14d
shr r15d, 8
shr r14d, 0x10
mov rax, qword [rsi + 0x30]
movabs rdx, 0x42c01734acbf7935
lea rcx, [rdx + 2]
xor rcx, rdx
test rax, rcx
jne 0x140016edd
movabs rdx, 0x2b16246e89181f8
lea rcx, [rdx + 4]
xor rcx, rdx
test rax, rcx
jne 0x140016e46
movabs rdx, 0x7e6b35d95a738fbe
lea rcx, [rdx + 1]
xor rcx, rdx
test rax, rcx
jne 0x140016e60
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov qword [rsi + 0x20], rax
mov qword [rsi + 0x28], rdx
mov rax, qword [rsi + 0x30]
mov rcx, rax
or rcx, 1
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x140016e1c
movabs rdx, 0xc1e14b8a561ffe44
lea rcx, [rdx + 2]
xor rcx, rdx
test rax, rcx
je 0x140016e7b
jmp 0x140016edd
sub rsp, 0x20
xor r15d, r15d
xor ecx, ecx
mov edx, r14d
call fcn.14006c609
add rsp, 0x20
jmp 0x140016f62
mov rax, qword [rsi + 0x28]
mov rdx, qword [rbp + 0x1c0]
xor rax, qword [rdx + 8]
mov rcx, qword [rsi + 0x20]
xor rcx, qword [rdx]
or rcx, rax
jne 0x140016e96
sub rsp, 0x20
mov ecx, r15d
mov edx, r14d
call fcn.14006c609
add rsp, 0x20
mov r15b, 1
jmp 0x140016f62
mov rax, qword [rsi + 0x30]
mov rcx, rax
and rcx, 0xfffffffffffffffe
lock cmpxchg qword [rsi + 0x30], rcx
jne 0x140016e9a
movabs rdx, 0xb66038d41c0d0fcd
lea rcx, [rdx + 2]
xor rcx, rdx
test rax, rcx
jne 0x140016ed7
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
sub rsp, 0x20
call qword [rax + 0x18]
add rsp, 0x20
jmp 0x140016df8
lock or qword [rsi + 0x30], 1
mov dil, byte [rsi + 0x38]
mov byte [rsi + 0x38], 0
sub rsp, 0x20
xor r15d, r15d
xor ecx, ecx
mov edx, r14d
call fcn.14006c609
add rsp, 0x20
test dil, dil
je 0x140016f62
mov rcx, qword [rbp + 0x218]
mov rax, qword [rcx + 0x48]
test rax, rax
je 0x140016f57
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
movabs rdx, 0x53c60c888c0bb5dc
lea rax, [rdx + 1]
xor rax, rdx
cmp rcx, rax
mov rcx, qword [rbp + 0x218]
jne 0x140016f57
mov rax, qword [rbp + 0x218]
mov rcx, qword [rax + 0x48]
sub rsp, 0x20
call fcn.140069929
mov rcx, qword [rbp + 0x218]
add rsp, 0x20
mov qword [rcx + 0x48], 0
xor r15d, r15d
cmp bl, 2
je 0x140016f7c
sub rsp, 0x20
mov ecx, ebx
mov dl, byte [rbp + 0x220]
call fcn.140069a7a
add rsp, 0x20
test r15b, r15b
je 0x140016f93
sub rsp, 0x20
call fcn.14006332d
add rsp, 0x20
jmp 0x140016cc1
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
sub rsp, 0x20
call qword [rax + 0x18]
add rsp, 0x20
mov rcx, qword [rbp + 0x108]
cmp qword [rcx], 0
je 0x140016fce
sub rsp, 0x20
call fcn.140061c43
mov rcx, rax
call fcn.140068a9d
add rsp, 0x20
movdqa xmm0, xmmword [r13]
mov rcx, qword [rbp + 0x228]
test rcx, rcx
jne 0x140016fe2
jmp 0x140017021
mov rax, rcx
shl rax, 5
mov r8, rcx
movabs rcx, 0x7c65cfbc524b4618
lea rdx, [rcx + 0x20]
xor rdx, rcx
add rdx, rax
movabs rcx, 0x619bec3894e8334a
lea rbx, [rcx + 0x11]
xor rbx, rcx
add rbx, r8
add rbx, rdx
mov rsi, r13
sub rsi, rax
add rsi, 0xffffffffffffffe0
mov rcx, qword [rbp + 0x1f0]
lea r14, [r13 + 0x10]
pmovmskb r15d, xmm0
not r15d
mov rdi, qword [rbp + 0x58]
add rdi, 8
test r12, r12
je 0x140017127
test r15w, r15w
jne 0x14001706c
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
add r13, 0xfffffffffffffe00
add r14, 0x10
cmp r15d, 0xffff
je 0x14001704b
not r15d
mov eax, r15d
lea r15d, [rax - 1]
and r15d, eax
dec r12
bsf eax, eax
shl rax, 5
mov rdx, r13
sub rdx, rax
movdqu xmm0, xmmword [rdx - 0x20]
movups xmm1, xmmword [rdx - 0x10]
mov rax, qword [rbp + 0x58]
movdqu xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
cmp qword [rax + 8], 0
je 0x1400170c6
sub rsp, 0x20
mov rcx, rdi
call fcn.140061c43
mov rcx, rax
call fcn.140068a9d
mov rcx, qword [rbp + 0x1f0]
add rsp, 0x20
jmp 0x14001703c
test r12, r12
je 0x140017127
test r15w, r15w
jne 0x1400170f2
movdqa xmm0, xmmword [r14]
pmovmskb r15d, xmm0
add r13, 0xfffffffffffffe00
add r14, 0x10
cmp r15d, 0xffff
je 0x1400170d1
not r15d
lea edi, [r15 - 1]
and edi, r15d
bsf eax, r15d
shl rax, 5
mov rcx, r13
sub rcx, rax
add rcx, 0xffffffffffffffe0
sub rsp, 0x20
call fcn.140067853
add rsp, 0x20
mov r15d, edi
dec r12
mov rcx, qword [rbp + 0x1f0]
jne 0x1400170cb
cmp qword [rbp + 0x228], 0
je 0x140017157
test rbx, rbx
je 0x140017157
mov rcx, qword [0x1400a5b60]
sub rsp, 0x20
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rbp + 0x1f0]
add rsp, 0x20
mov rdi, qword [rbp + 0x1d8]
mov rax, qword [rdi]
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
movabs rax, 0x9e1d6f68f03618c0
lea rdx, [rax + 1]
xor rdx, rax
cmp r8, rdx
mov rbx, qword [rbp + 8]
jne 0x14001719e
sub rsp, 0x20
mov rcx, rdi
call fcn.140069204
mov rcx, qword [rbp + 0x1f0]
add rsp, 0x20
mov rax, qword [rbp + 0x218]
mov r9, qword [rax + 0x48]
test r9, r9
mov rdi, qword [rbp - 8]
je 0x14001726a
mov rsi, qword [r9 + 0x30]
mov rdx, rsi
or rdx, 4
mov rax, rsi
lock cmpxchg qword [r9 + 0x30], rdx
mov rsi, rax
jne 0x1400171ba
mov eax, esi
and eax, 0xa
movabs rdx, 0x68328c51d4ba6d47
lea r8, [rdx + 8]
xor r8, rdx
cmp rax, r8
jne 0x1400171fd
mov rax, qword [r9 + 0x10]
mov rcx, qword [r9 + 0x18]
sub rsp, 0x20
call qword [rax + 0x10]
add rsp, 0x20
test sil, 2
mov rcx, qword [rbp + 0x1f0]
je 0x140017219
mov rax, qword [rbp + 0x218]
mov rax, qword [rax + 0x48]
mov byte [rax + 0x38], 0
mov rax, qword [rbp + 0x218]
mov rax, qword [rax + 0x48]
test rax, rax
je 0x14001726a
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
movabs rax, 0xcfb0533e014f52b8
lea rdx, [rax + 1]
xor rdx, rax
cmp r8, rdx
jne 0x14001726a
mov rax, qword [rbp + 0x218]
mov rcx, qword [rax + 0x48]
sub rsp, 0x20
call fcn.140069929
mov rcx, qword [rbp + 0x1f0]
add rsp, 0x20
mov rax, qword [rcx]
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
movabs rax, 0x9c117fb3564eca6a
lea rdx, [rax + 1]
xor rdx, rax
cmp r8, rdx
cmp eax, edx
jne 0x14001729c
sub rsp, 0x20
call fcn.14006958e
add rsp, 0x20
mov rax, qword [rbx]
test rax, rax
je 0x1400172d6
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
or byte [rax - 0x48], cl
jle 0x14001726d
invalid
popfq
pop rcx
fistp dword [rbp + 0x508d4845]
add dword [rax + 0x31], ecx
ret 0x3948
sal dword [rbp + 0x10], 1
sub rsp, 0x20
mov rcx, rbx
call fcn.14006958e
add rsp, 0x20
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax]
add byte [rax - 0x7b], cl
invalid
je 0x14001731b
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
movabs rax, 0x9d9e0041f6184eec
lea rdx, [rax + 1]
xor rdx, rax
cmp rcx, rdx
mov rcx, qword [rbp + 0x1e8]
jne 0x14001731b
sub rsp, 0x20
call fcn.14006958e
add rsp, 0x20
mov rax, qword [rdi]
test rax, rax
je 0x140017355
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
movabs rax, 0x4db8fa7b1ddd6606
lea rdx, [rax + 1]
xor rdx, rax
cmp rcx, rdx
jne 0x140017355
sub rsp, 0x20
mov rcx, rdi
call fcn.14006958e
add rsp, 0x20
mov rcx, qword [rbp]
mov rax, qword [rcx]
add dword [rax - 0x7b], ecx
invalid
je 0x140017390
mov r8, 0xffffffffffffffff
lock xadd qword [rax], r8
rol dword [rax], 0x48
mov eax, 0x57019c5a
scasd eax, dword [rdi]
invalid
xor al, 0xdb
lea rdx, [rax + 1]
xor rdx, rax
cmp r8, rdx
jne 0x140017390
sub rsp, 0x20
call fcn.14006958e
add rsp, 0x20
movaps xmm6, xmmword [rbp + 0x230]
lea rsp, [rbp + 0x248]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
sub rsp, 0x20
mov rcx, rsi
call fcn.140087d85
add rsp, 0x20
jmp 0x140016a9b
sub rsp, 0x20
mov rcx, rdi
call fcn.140087d85
add rsp, 0x20
jmp 0x140016770
add rcx, 0xc8
sub rsp, 0x20
call fcn.1400879c1
add rsp, 0x20
jmp 0x140016b1c
sub rsp, 0x20
xor ecx, ecx
call fcn.14008932b
add rsp, 0x20
jmp 0x140016b68
sub rsp, 0x20
mov rcx, rsi
call fcn.14008824c
add rsp, 0x20
jmp 0x140016bee
mov eax, dword [0x1400a5be8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rbp + 0x200]
mov rdx, qword [rbp + 0x220]
mov qword [rax + 0xf0], rdx
mov sil, 1
jmp 0x14001654c
sub rsp, 0x20
mov rcx, rdi
call fcn.14008824c
add rsp, 0x20
jmp 0x140016792
test rax, rax
ud2
sub rsp, 0x20
mov rcx, rsi
call fcn.1400024cb
add rsp, 0x20
ud2