Function at 0x14001fbe0
Capabilities:
Get system information on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x8b8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x820], xmm8
movdqa xmmword [rbp + 0x810], xmm7
movaps xmmword [rbp + 0x800], xmm6
and rsp, 0xffffffffffffff80
mov r14, rdx
mov qword [rsp + 0xe8], rcx
mov r15, qword [rdx + 0x10]
test r15, r15
jne 0x14001ff1d
lea rdx, [0x142f4c998]
lea rcx, [rsp + 0x200]
call fcn.140023410
mov rax, qword [rsp + 0x200]
movabs rdi, 0x8000000000000000
movabs rsi, 0x8000000000000001
cmp rax, rdi
je 0x14001fe28
cmp rax, rsi
jne 0x14001fcc9
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001fe28
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
test r9, r9
je 0x14001fd78
cmp r9, 1
jne 0x14001fced
movzx eax, byte [r8]
xor ebx, ebx
cmp eax, 0x2b
je 0x140021dd3
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
je 0x14001fd7a
jmp 0x14001fd41
test rax, rax
je 0x14001fe28
mov r8, qword [rsp + 0x208]
mov rcx, qword [0x142f53058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14001fe28
cmp byte [r8], 0x2b
jne 0x14001fd38
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x14001fd41
xor r11d, r11d
mov ebx, 0xa
xor r15d, r15d
mov rax, r15
mul rbx
jo 0x14001fd78
mov r15, rax
movzx eax, byte [r10 + r11]
add eax, 0xffffffd0
cmp eax, 9
ja 0x14001fd78
mov eax, eax
add r15, rax
jb 0x14001fd78
inc r11
cmp r9, r11
jne 0x14001fd0f
jmp 0x14001fd6f
mov r10, r8
cmp r9, 0x11
jae 0x14001fd04
xor eax, eax
xor r15d, r15d
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001fd78
lea r11, [r15 + r15*4]
mov edx, edx
lea r15, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14001fd50
mov bl, 1
test rcx, rcx
jne 0x14001fd7f
jmp 0x14001fd8d
xor ebx, ebx
test rcx, rcx
je 0x14001fd8d
mov rcx, qword [0x142f53058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test bl, bl
je 0x14001fe28
test r15, r15
jne 0x14001ff1d
call fcn.14002a690
test rax, rax
je 0x140021de1
mov eax, edx
and eax, 3
mov r15d, 1
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14001ff1d
test rax, rax
je 0x14001ff1d
mov rsi, qword [rdx - 1]
mov rdi, qword [rdx + 7]
mov rax, qword [rdi]
test rax, rax
je 0x14001fde9
mov rcx, rsi
mov rbx, rdx
call rax
mov rdx, rbx
dec rdx
mov rbx, rdx
cmp qword [rdi + 8], 0
je 0x14001fe12
cmp qword [rdi + 0x10], 0x11
jb 0x14001fe01
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
jmp 0x14001ff1d
lea rdx, [0x142f4c9a9]
lea rcx, [rsp + 0x200]
call fcn.140023410
mov rax, qword [rsp + 0x200]
cmp rax, rdi
je 0x14001fee1
cmp rax, rsi
jne 0x14001fec6
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001fee1
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov sil, 1
test r9, r9
je 0x14001fea6
cmp r9, 1
jne 0x140021d39
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14001fea6
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
jne 0x140021d99
test rcx, rcx
je 0x14001feb9
mov rcx, qword [0x142f53058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test r15, r15
sete al
or sil, al
je 0x14001ff1d
jmp 0x14001fee1
test rax, rax
je 0x14001fee1
mov r8, qword [rsp + 0x208]
mov rcx, qword [0x142f53058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x220], xmm0
movdqa xmmword [rsp + 0x210], xmm0
movdqa xmmword [rsp + 0x200], xmm0
lea rcx, [rsp + 0x200]
call sub.KERNEL32.dll_GetSystemInfo
mov r15d, dword [rsp + 0x220]
cmp r15d, 1
adc r15d, 0
cmp r15, 0xffff
mov esi, 0xffff
cmovb rsi, r15
movzx eax, byte [r14 + 0x59]
mov byte [rsp + 0x6f], al
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], 8
mov qword [rsp + 0x228], 0
test r15, r15
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x70], r15
jne 0x14002199b
mov rsi, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xa8], rax
mov r11, qword [rsp + 0x218]
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x220], 8
mov qword [rsp + 0x228], 0
mov r13, qword [rsp + 0x70]
test r13, r13
jne 0x140021b63
mov r15d, 8
xor ebx, ebx
xor r12d, r12d
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xc0], rax
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0xb0], xmm0
test rdi, rdi
mov r14, qword [rsp + 0x88]
je 0x1400201c3
movabs rax, 0x333333333333333
cmp rdi, rax
ja 0x140021e20
mov r14, r12
mov r12, r11
lea rax, [rdi*8]
lea rdx, [rax + rax*4]
movzx eax, byte [0x142f53108]
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rcx, rdi
shl rcx, 4
add rcx, rsi
mov qword [rsp + 0x200], rdi
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], 0
add rax, 0x20
xor edx, edx
pxor xmm0, xmm0
mov r8, rsi
mov r11, r12
mov r12, r14
mov r14, qword [rsp + 0x88]
nop
mov r9, qword [r8]
movzx r10d, byte [r8 + 8]
movdqu xmmword [rax - 0x20], xmm0
mov qword [rax - 0x10], 0
mov qword [rax - 8], r9
mov byte [rax], r10b
inc rdx
add rax, 0x28
add r8, 0x10
cmp r8, rcx
jne 0x1400200e0
mov qword [rsp + 0x210], rdx
test r11, r11
je 0x14002012a
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xe0], rax
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0xd0], xmm0
test r13, r13
je 0x1400201ff
mov rsi, qword [rsp + 0x80]
mov rdx, rsi
shl rdx, 7
movzx eax, byte [0x142f53108]
sub rdx, 0xffffffffffffff80
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov r8d, eax
and r8d, 0x7f
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
sub rcx, 0xffffffffffffff80
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x210], 0
mov ecx, esi
and ecx, 3
cmp r13, 4
jae 0x14002023b
xor edx, edx
jmp 0x140020285
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
mov qword [rsp + 0x210], 0
xor edx, edx
mov qword [rsp + 0x210], rdx
test r11, r11
jne 0x140020119
jmp 0x14002012a
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], pe_nt_image_headers64
mov qword [rsp + 0x210], 0
mov rdx, qword [rsp + 0x80]
test rdx, rdx
jne 0x140021d1f
xor edx, edx
jmp 0x1400202c6
and esi, 0xfffc
mov r9, rax
sub r9, r8
add r9, 0x200
xor edx, edx
mov qword [r9 - 0x180], 0
mov qword [r9 - 0x100], 0
mov qword [r9 - 0x80], 0
mov qword [r9], 0
add rdx, 4
add r9, 0x200
cmp rsi, rdx
jne 0x140020250
test rcx, rcx
je 0x1400202c6
mov r9, rdx
shl r9, 7
sub r9, r8
add rax, r9
add rax, 0x80
neg rcx
xor r8d, r8d
nop word cs:[rax + rax]
mov qword [rax], 0
dec r8
sub rax, 0xffffffffffffff80
cmp rcx, r8
jne 0x1400202b0
sub rdx, r8
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x120], rdx
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x200], xmm0
mov qword [rsp + 0x210], 0
movdqu xmmword [rsp + 0x218], xmm0
mov qword [rsp + 0x228], 0
movdqa xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], 0
movdqu xmmword [rsp + 0x248], xmm0
mov qword [rsp + 0x258], 0
movdqa xmmword [rsp + 0x260], xmm0
mov qword [rsp + 0x270], 0
movdqu xmmword [rsp + 0x278], xmm0
mov qword [rsp + 0x288], 0
movdqa xmmword [rsp + 0x290], xmm0
mov qword [rsp + 0x2a0], 0
movdqu xmmword [rsp + 0x2a8], xmm0
mov qword [rsp + 0x2b8], 0
movdqa xmmword [rsp + 0x2c0], xmm0
mov qword [rsp + 0x2d0], 0
movdqu xmmword [rsp + 0x2d8], xmm0
mov qword [rsp + 0x2e8], 0
movdqa xmmword [rsp + 0x2f0], xmm0
mov qword [rsp + 0x300], 0
movdqu xmmword [rsp + 0x308], xmm0
mov qword [rsp + 0x318], 0
movdqa xmmword [rsp + 0x320], xmm0
mov qword [rsp + 0x330], 0
movdqu xmmword [rsp + 0x338], xmm0
mov qword [rsp + 0x348], 0
movdqa xmmword [rsp + 0x350], xmm0
mov qword [rsp + 0x360], 0
movdqu xmmword [rsp + 0x368], xmm0
mov qword [rsp + 0x378], 0
movdqa xmmword [rsp + 0x380], xmm0
mov qword [rsp + 0x390], 0
movdqu xmmword [rsp + 0x398], xmm0
mov qword [rsp + 0x3a8], 0
movdqa xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], 0
movdqu xmmword [rsp + 0x3c8], xmm0
mov qword [rsp + 0x3d8], 0
movdqa xmmword [rsp + 0x3e0], xmm0
mov qword [rsp + 0x3f0], 0
movdqu xmmword [rsp + 0x3f8], xmm0
mov qword [rsp + 0x408], 0
movdqa xmmword [rsp + 0x410], xmm0
mov qword [rsp + 0x420], 0
movdqu xmmword [rsp + 0x428], xmm0
mov qword [rsp + 0x438], 0
movdqa xmmword [rsp + 0x440], xmm0
mov qword [rsp + 0x450], 0
movdqu xmmword [rsp + 0x458], xmm0
mov qword [rsp + 0x468], 0
movdqa xmmword [rsp + 0x470], xmm0
mov qword [rsp + 0x480], 0
movdqu xmmword [rsp + 0x488], xmm0
mov qword [rsp + 0x498], 0
movdqa xmmword [rsp + 0x4a0], xmm0
mov qword [rsp + 0x4b0], 0
movdqu xmmword [rsp + 0x4b8], xmm0
mov qword [rsp + 0x4c8], 0
movdqa xmmword [rsp + 0x4d0], xmm0
mov qword [rsp + 0x4e0], 0
movdqu xmmword [rsp + 0x4e8], xmm0
mov qword [rsp + 0x4f8], 0
movdqa xmmword [rsp + 0x500], xmm0
mov qword [rsp + 0x510], 0
movdqu xmmword [rsp + 0x518], xmm0
mov qword [rsp + 0x528], 0
movdqa xmmword [rsp + 0x530], xmm0
mov qword [rsp + 0x540], 0
movdqu xmmword [rsp + 0x548], xmm0
mov qword [rsp + 0x558], 0
movdqa xmmword [rsp + 0x560], xmm0
mov qword [rsp + 0x570], 0
movdqu xmmword [rsp + 0x578], xmm0
mov qword [rsp + 0x588], 0
movdqa xmmword [rsp + 0x590], xmm0
mov qword [rsp + 0x5a0], 0
movdqu xmmword [rsp + 0x5a8], xmm0
mov qword [rsp + 0x5b8], 0
movdqa xmmword [rsp + 0x5c0], xmm0
mov qword [rsp + 0x5d0], 0
movdqu xmmword [rsp + 0x5d8], xmm0
mov qword [rsp + 0x5e8], 0
movdqa xmmword [rsp + 0x5f0], xmm0
mov qword [rsp + 0x600], 0
movdqu xmmword [rsp + 0x608], xmm0
mov qword [rsp + 0x618], 0
movdqa xmmword [rsp + 0x620], xmm0
mov qword [rsp + 0x630], 0
movdqu xmmword [rsp + 0x638], xmm0
mov qword [rsp + 0x648], 0
movdqa xmmword [rsp + 0x650], xmm0
mov qword [rsp + 0x660], 0
movdqu xmmword [rsp + 0x668], xmm0
mov qword [rsp + 0x678], 0
movdqa xmmword [rsp + 0x680], xmm0
mov qword [rsp + 0x690], 0
movdqu xmmword [rsp + 0x698], xmm0
mov qword [rsp + 0x6a8], 0
movdqa xmmword [rsp + 0x6b0], xmm0
mov qword [rsp + 0x6c0], 0
movdqu xmmword [rsp + 0x6c8], xmm0
mov qword [rsp + 0x6d8], 0
movdqa xmmword [rsp + 0x6e0], xmm0
mov qword [rsp + 0x6f0], 0
movdqu xmmword [rsp + 0x6f8], xmm0
mov qword [rsp + 0x708], 0
movdqa xmmword [rsp + 0x710], xmm0
mov qword [rsp + 0x720], 0
movdqu xmmword [rsp + 0x728], xmm0
mov qword [rsp + 0x738], 0
movdqa xmmword [rsp + 0x740], xmm0
mov qword [rsp + 0x750], 0
movdqu xmmword [rsp + 0x758], xmm0
mov qword [rsp + 0x768], 0
movdqa xmmword [rsp + 0x770], xmm0
mov qword [rsp + 0x780], 0
movdqu xmmword [rsp + 0x788], xmm0
mov qword [rsp + 0x798], 0
movdqa xmmword [rsp + 0x7a0], xmm0
mov qword [rsp + 0x7b0], 0
movdqu xmmword [rsp + 0x7b8], xmm0
mov qword [rsp + 0x7c8], 0
movdqa xmmword [rsp + 0x7d0], xmm0
mov qword [rsp + 0x7e0], 0
movzx eax, byte [0x142f53108]
mov edx, 0x5f0
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rsi, rax
mov qword [rsp + 0x130], r12
mov qword [rax], 0
mov rcx, rax
add rcx, 8
lea rdx, [rsp + 0x200]
mov r8d, 0x5e8
call sub.msvcrt.dll_memcpy
movdqa xmm0, xmmword [rsp + 0xb0]
movdqu xmmword [rsp + 0x868], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x878], rax
movups xmm6, xmmword [r14 + 0x18]
movdqu xmm7, xmmword [r14 + 0x38]
movups xmm8, xmmword [r14 + 0x48]
mov qword [r14 + 0x18], 0
mov qword [r14 + 0x38], 0
mov qword [r14 + 0x48], 0
movzx eax, byte [0x142f53108]
mov edx, 0x300
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rcx, rax
and rcx, 0xffffffffffffff80
lea rdx, [rcx + 0x80]
mov qword [rcx + 0x78], rax
mov qword [rcx + 0x80], 1
mov qword [rcx + 0x88], 1
mov qword [rcx + 0x100], 0
mov qword [rcx + 0x108], rsi
mov qword [rcx + 0x180], 0
mov qword [rcx + 0x188], rsi
mov byte [rcx + 0x200], 0
movups xmm0, xmmword [rsp + 0x861]
movdqu xmm1, xmmword [rsp + 0x870]
movups xmmword [rcx + 0x201], xmm0
movdqu xmmword [rcx + 0x210], xmm1
movaps xmmword [rcx + 0x220], xmm6
movdqa xmmword [rcx + 0x230], xmm7
movaps xmmword [rcx + 0x240], xmm8
mov qword [rcx + 0x250], 1
movaps xmm0, xmmword [rsp + 0x110]
movups xmmword [rcx + 0x258], xmm0
mov rax, qword [rsp + 0x120]
mov qword [rcx + 0x268], rax
mov qword [rcx + 0x270], 0
mov rax, qword [rsp + 0xe0]
mov qword [rcx + 0x288], rax
movdqa xmm0, xmmword [rsp + 0xd0]
movdqu xmmword [rcx + 0x278], xmm0
mov qword [rsp + 0x90], rdx
mov rax, qword [rsp + 0xa8]
mov r14, rax
shl r14, 5
mov r12, qword [rsp + 0x98]
add r14, r12
shl rbx, 4
add rbx, r15
mov qword [rsp + 0xf0], r15
test rax, rax
je 0x1400214d3
xorps xmm6, xmm6
movdqa xmm7, xmmword [0x140058d90]
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0xf0]
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0x108], r14
jmp 0x140020a21
inc qword [rsp + 0x80]
cmp r12, r14
je 0x1400214fd
mov rax, r12
add r12, 0x20
movzx esi, byte [rax + 0x18]
cmp sil, 2
je 0x1400214d3
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x210], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x200], xmm0
mov byte [rsp + 0x218], sil
mov ecx, dword [rax + 0x19]
mov edx, dword [rax + 0x1c]
lea r8, [rsp + 0x219]
mov dword [r8 + 3], edx
mov dword [r8], ecx
cmp r15, rbx
je 0x1400214b5
mov r13, rbx
lea rcx, [rax + 0x19]
mov rdi, qword [r15]
movzx r14d, byte [r15 + 8]
mov rdx, qword [rax + 0x10]
mov qword [rsp + 0x1f0], rdx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x1e0], xmm0
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0xcb], ecx
mov rbx, qword [rsp + 0x88]
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x140020ae0
mov rax, qword [rbx + 0x30]
lea rcx, [rsp + 0x200]
mov r8, qword [rsp + 0x80]
call qword [rax + 0x20]
jmp 0x140020af2
movabs rax, 0x8000000000000000
mov qword [rsp + 0x200], rax
mov r9, qword [rbx]
mov r10, qword [rbx + 8]
mov rdx, qword [rsp + 0x90]
lock inc qword [rdx]
jle 0x140021e20
add r15, 0x10
mov rax, qword [rsp + 0x210]
lea r8, [rsp + 0x188]
mov qword [r8 + 0x10], rax
movups xmm0, xmmword [rsp + 0x200]
movups xmmword [r8], xmm0
mov qword [rsp + 0x178], r9
mov qword [rsp + 0x180], r10
mov rax, qword [rsp + 0x1f0]
lea rcx, [rsp + 0x1b0]
mov qword [rcx + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x1e0]
movdqu xmmword [rcx], xmm0
mov byte [rsp + 0x1c8], sil
mov eax, dword [rsp + 0xc8]
mov ecx, dword [rsp + 0xcb]
mov dword [r8 + 0x44], ecx
mov dword [r8 + 0x41], eax
mov qword [rsp + 0x1a0], rdi
mov byte [rsp + 0x1a8], r14b
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x1d0], rdx
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x1d8], rax
test rax, rax
mov rbx, r13
jne 0x140020cc0
mov rax, qword [rsp + 0x88]
cmp byte [rax + 0x58], 0
je 0x140020cc0
xor ecx, ecx
call fcn.14001f610
test rax, rax
lea rdi, [rsp + 0x200]
je 0x140021e20
cmp qword [rax], 0
mov r14, qword [rsp + 0x108]
jne 0x1400216b0
mov rcx, rdi
lea rdx, [rsp + 0x178]
call fcn.14001e800
movzx eax, byte [0x142f53108]
mov edx, 0x200
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rsi, rax
and rsi, 0xffffffffffffff80
mov qword [rsi + 0x78], rax
sub rsi, 0xffffffffffffff80
mov r8d, 0x180
mov rcx, rsi
mov rdx, rdi
call sub.msvcrt.dll_memcpy
xor ecx, ecx
call fcn.14001f610
test rax, rax
je 0x140021e20
cmp qword [rax], 0
jne 0x140021e20
mov qword [rax], rsi
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x208], 0
je 0x140021e20
mov rdi, qword [rax + 0x200]
lea rsi, [rdi + 4]
xor eax, eax
mov cl, 1
lock cmpxchg byte [rdi + 4], cl
jne 0x140020fc5
mov byte [rdi + 5], 1
lock inc dword [rdi]
mov rcx, rdi
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll
xor eax, eax
xchg byte [rdi + 4], al
cmp al, 2
jne 0x140020a10
mov rcx, rsi
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x140020a10
mov r13, qword [rsp + 0x188]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x1a0]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmm3, xmmword [rax + 0x30]
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x230], xmm3
movabs rax, 0x8000000000000000
mov r14, rax
cmp r13, rax
mov rdi, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x100]
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x148], r10
je 0x140020db5
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
je 0x140020d8a
js 0x140021e20
movzx eax, byte [0x142f53108]
xor ecx, ecx
mov rdx, rsi
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rdi, rax
mov r14, rsi
jmp 0x140020d92
mov edi, 1
xor r14d, r14d
mov rcx, rdi
mov rdx, qword [rsp + 0x140]
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x148]
test r9, r9
mov qword [rsp + 0x100], rsi
je 0x140020e3c
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x150], r10
jne 0x140020e66
movzx eax, byte [0x142f53108]
mov edx, 0x38
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 2
mov rax, qword [0x142f53078]
nop word [rax + rax]
mov rcx, rax
inc rcx
je 0x140021e20
lock cmpxchg qword [0x142f53078], rcx
jne 0x140020e20
jmp 0x140021257
mov r10, qword [0x142f53070]
test r10, r10
je 0x140020ebf
dec r10
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x150], r10
je 0x140020ddd
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], rsi
cmp rsi, 0x10
jae 0x140020ea7
test rsi, rsi
je 0x1400210f2
xor eax, eax
nop
cmp byte [rdi + rax], 0
je 0x140021e20
inc rax
cmp rsi, rax
jne 0x140020e90
jmp 0x1400210f2
lea rax, [rdi + 7]
and rax, 0xfffffffffffffff8
sub rax, rdi
jne 0x140020f03
lea rcx, [rsi - 0x10]
xor eax, eax
jmp 0x1400210a0
mov r8d, 0xe
lea rcx, [rsp + 0x110]
lea rdx, [0x142f4cc70]
call fcn.1400288c0
mov rsi, qword [rsp + 0x110]
movabs rax, 0x8000000000000000
cmp rsi, rax
jne 0x140020f34
mov r10d, 0x200000
mov rsi, qword [rsp + 0x100]
jmp 0x140020f9a
cmp rax, rsi
cmovae rax, rsi
xor ecx, ecx
nop dword [rax]
cmp byte [rdi + rcx], 0
je 0x140021e20
inc rcx
cmp rax, rcx
jne 0x140020f10
lea rcx, [rsi - 0x10]
cmp rax, rcx
jbe 0x1400210a0
jmp 0x1400210ed
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x120]
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x78], rdx
call fcn.140011560
cmp qword [rsp + 0xd0], 0
mov qword [rsp + 0xf8], r13
je 0x140020fd2
mov r13d, 0x200000
test rsi, rsi
je 0x140020f87
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x100]
mov r10, r13
mov r13, qword [rsp + 0xf8]
lea rax, [r10 + 1]
mov qword [0x142f53070], rax
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x150], r10
je 0x140020ddd
jmp 0x140020e66
mov rcx, rsi
call fcn.140028bd0
jmp 0x140020c89
mov r8, qword [rsp + 0xe0]
test r8, r8
je 0x140020f69
mov rcx, qword [rsp + 0xd8]
cmp r8, 1
jne 0x14002100a
movzx eax, byte [rcx]
cmp eax, 0x2b
je 0x140020f69
mov r8d, 1
cmp eax, 0x2d
je 0x140020f69
jmp 0x140021068
cmp byte [rcx], 0x2b
jne 0x140021062
inc rcx
lea rax, [r8 - 1]
cmp r8, 0x12
mov r8, rax
jb 0x140021068
xor r9d, r9d
xor r13d, r13d
mov rax, r13
mov edx, 0xa
mul rdx
jo 0x140020f69
mov r13, rax
movzx eax, byte [rcx + r9]
add eax, 0xffffffd0
cmp eax, 9
ja 0x140020f69
mov eax, eax
add r13, rax
jb 0x140020f69
inc r9
cmp r8, r9
jne 0x140021025
jmp 0x140020f6f
cmp r8, 0x11
jae 0x14002101f
xor eax, eax
xor r13d, r13d
nop dword [rax]
movzx edx, byte [rcx + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x140020f69
lea r9, [r13*4]
add r9, r13
mov edx, edx
lea r13, [rdx + r9*2]
inc rax
cmp r8, rax
jne 0x140021070
jmp 0x140020f6f
movdqu xmm0, xmmword [rdi + rax]
movdqa xmm1, xmm0
paddq xmm1, xmm7
pandn xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq rdx, xmm1
movabs r8, 0x8080808080808080
test rdx, r8
jne 0x1400210ed
add rax, 0x10
cmp rax, rcx
jbe 0x1400210a0
jmp 0x1400210ed
cmp byte [rdi + rax], 0
je 0x140021e20
inc rax
cmp rsi, rax
jne 0x1400210e0
mov rax, rdi
cmp r14, rsi
jne 0x140021175
mov r14, rsi
inc r14
je 0x140021e20
test rsi, rsi
je 0x140021122
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x120], rsi
mov eax, 1
jmp 0x140021124
xor eax, eax
mov rdx, r14
not rdx
shr rdx, 0x3f
mov qword [rsp + 0x118], rax
lea rcx, [rsp + 0xd0]
mov r8, r14
lea r9, [rsp + 0x110]
call fcn.140006ac0
cmp qword [rsp + 0xd0], 0
jne 0x140021e22
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xf8], r13
mov r13, rdi
cmp rsi, r14
jne 0x14002119a
lea rcx, [rsp + 0xb0]
call fcn.140006b60
mov rax, qword [rsp + 0xb8]
mov byte [rax + rsi], 0
inc rsi
mov qword [rsp + 0xc0], rsi
mov rdi, qword [rsp + 0xb8]
cmp qword [rsp + 0xb0], rsi
jbe 0x1400211f0
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rdi
test rsi, rsi
je 0x1400211e1
mov r9, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov rdi, rax
test rax, rax
jne 0x1400211f0
jmp 0x140021e20
call sub.KERNEL32.dll_HeapFree
mov edi, 1
nop dword [rax + rax]
movzx eax, byte [0x142f53108]
mov edx, 0x38
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], rsi
mov rax, qword [0x142f53078]
mov rdi, r13
mov r13, qword [rsp + 0xf8]
mov rcx, rax
inc rcx
je 0x140021e20
lock cmpxchg qword [0x142f53078], rcx
jne 0x140021240
mov qword [r14 + 0x28], rcx
mov byte [r14 + 0x30], 0
lock inc qword [r14]
jle 0x140021e20
movzx eax, byte [0x142f53108]
mov edx, 0x30
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rsp + 0x110], rax
lock inc qword [rax]
jle 0x140021e20
movzx eax, byte [0x142f53080]
test al, al
mov qword [rsp + 0x158], rdi
je 0x140021320
mov byte [0x142f53080], 1
call fcn.1400256c0
test rax, rax
je 0x140021e20
mov rcx, qword [rax]
mov qword [rax], 0
test rcx, rcx
je 0x140021320
mov rax, rcx
mov qword [rsp + 0x78], rcx
lock inc qword [rcx]
jle 0x140021e20
mov byte [0x142f53080], 1
call fcn.1400256c0
test rax, rax
je 0x140021e0b
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x78]
mov qword [rax], rdx
test rcx, rcx
jne 0x14002135a
jmp 0x140021365
movzx eax, byte [0x142f53080]
test al, al
je 0x140021494
mov byte [0x142f53080], 1
call fcn.1400256c0
test rax, rax
je 0x140021e20
mov rcx, qword [rax]
mov qword [rax], 0
xor eax, eax
mov qword [rsp + 0x78], rax
test rcx, rcx
je 0x140021365
lock dec qword [rcx]
jne 0x140021365
call fcn.140023b20
mov rdi, qword [rsp + 0x110]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140021381
lock inc qword [rcx + 0x18]
jle 0x140021dfe
movzx eax, byte [0x142f53108]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov qword [rax], r14
mov qword [rax + 8], rsi
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x148]
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], r13
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x38], rcx
movdqa xmm0, xmmword [rsp + 0x200]
movdqa xmm1, xmmword [rsp + 0x210]
movaps xmm2, xmmword [rsp + 0x220]
movaps xmm3, xmmword [rsp + 0x230]
movdqu xmmword [rax + 0x40], xmm0
movdqu xmmword [rax + 0x50], xmm1
movups xmmword [rax + 0x60], xmm2
movups xmmword [rax + 0x70], xmm3
mov rcx, qword [rsp + 0x150]
mov rdx, rax
lea r8, [0x142f4c978]
call fcn.140029d60
test rax, rax
jne 0x140021777
mov qword [rsp + 0x160], r14
mov qword [rsp + 0x168], rdi
mov qword [rsp + 0x170], rdx
mov rcx, rdx
call sub.KERNEL32.dll_CloseHandle
lock dec qword [r14]
jne 0x140021468
mov rcx, qword [rsp + 0x160]
call fcn.1400198e0
mov rax, qword [rsp + 0x168]
lock dec qword [rax]
mov r14, qword [rsp + 0x108]
jne 0x140020a10
lea rcx, [rsp + 0x168]
call fcn.140023b70
jmp 0x140020a10
xor eax, eax
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0x110]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
jne 0x140021376
jmp 0x140021381
mov rax, qword [rsp + 0x200]
lock dec qword [rax]
jne 0x1400214d0
lea rcx, [rsp + 0x200]
call fcn.140023ab0
mov r15, rbx
sub r14, r12
je 0x1400214fd
shr r14, 5
jmp 0x1400214e9
add r12, 0x20
dec r14
je 0x1400214fd
mov rax, qword [r12]
lock dec qword [rax]
jne 0x1400214e0
mov rcx, r12
call fcn.140023ab0
jmp 0x1400214e0
cmp qword [rsp + 0x138], 0
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x130]
je 0x14002152e
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.KERNEL32.dll_HeapFree
sub rbx, r15
je 0x14002155c
shr rbx, 4
jmp 0x140021549
add r15, 0x10
dec rbx
je 0x14002155c
mov rax, qword [r15]
lock dec qword [rax]
jne 0x140021540
mov rcx, r15
call fcn.140023ab0
jmp 0x140021540
test rsi, rsi
je 0x140021577
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, qword [rsp + 0xf0]
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xe8]
mov qword [rcx + 8], rax
mov qword [rcx], 3
mov rsi, qword [r14 + 0x18]
test rsi, rsi
je 0x1400215cf
mov rdi, qword [r14 + 0x20]
mov rax, qword [rdi]
test rax, rax
je 0x1400215ac
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x1400215cf
cmp qword [rdi + 0x10], 0x11
jb 0x1400215be
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r14 + 0x28]
test rsi, rsi
je 0x14002160c
mov rdi, qword [r14 + 0x30]
mov rax, qword [rdi]
test rax, rax
je 0x1400215e9
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x14002160c
cmp qword [rdi + 0x10], 0x11
jb 0x1400215fb
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r14 + 0x38]
test rsi, rsi
je 0x140021649
mov rdi, qword [r14 + 0x40]
mov rax, qword [rdi]
test rax, rax
je 0x140021626
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140021649
cmp qword [rdi + 0x10], 0x11
jb 0x140021638
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r14 + 0x48]
test rsi, rsi
je 0x140021686
mov rdi, qword [r14 + 0x50]
mov rax, qword [rdi]
test rax, rax
je 0x140021663
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140021686
cmp qword [rdi + 0x10], 0x11
jb 0x140021675
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rbp + 0x800]
movaps xmm7, xmmword [rbp + 0x810]
movaps xmm8, xmmword [rbp + 0x820]
lea rsp, [rbp + 0x838]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rsp + 0xe8]
mov qword [rax], 1
mov rax, qword [rsp + 0x188]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x1400216f1
test rax, rax
je 0x1400216f1
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x142f53058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x1b0]
lock dec qword [rax]
jne 0x14002174c
lea rcx, [rsp + 0x1b0]
call fcn.140023ab0
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
je 0x14002175a
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
jne 0x140021735
lea rcx, [rsp + 0x1d0]
call fcn.140023860
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
sub r14, r12
jne 0x1400217c4
jmp 0x1400217ed
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
jne 0x14002171a
lea rcx, [rsp + 0x1a0]
call fcn.140023ab0
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
je 0x140021728
jmp 0x140021735
lock dec qword [rdi]
jne 0x140021790
lea rcx, [rsp + 0x110]
mov rsi, rdx
call fcn.140023b70
mov rdx, rsi
lock dec qword [r14]
jne 0x1400217a4
mov rcx, r14
mov rsi, rdx
call fcn.1400198e0
mov rdx, rsi
mov rax, qword [rsp + 0xe8]
mov qword [rax], 2
mov qword [rax + 8], rdx
mov r14, qword [rsp + 0x108]
sub r14, r12
je 0x1400217ed
shr r14, 5
jmp 0x1400217d9
add r12, 0x20
dec r14
je 0x1400217ed
mov rax, qword [r12]
lock dec qword [rax]
jne 0x1400217d0
mov rcx, r12
call fcn.140023ab0
jmp 0x1400217d0
cmp qword [rsp + 0x138], 0
je 0x14002180e
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.KERNEL32.dll_HeapFree
sub rbx, r15
mov rsi, qword [rsp + 0x130]
je 0x14002184c
shr rbx, 4
jmp 0x140021839
add r15, 0x10
dec rbx
je 0x14002184c
mov rax, qword [r15]
lock dec qword [rax]
jne 0x140021830
mov rcx, r15
call fcn.140023ab0
jmp 0x140021830
test rsi, rsi
je 0x140021867
mov rcx, qword [0x142f53058]
xor edx, edx
mov r8, qword [rsp + 0xf0]
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x70]
lock dec qword [rax + 0x1d0]
jne 0x140021966
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x140021966
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rcx + 0x200]
shl rax, 3
lea rbx, [rax + rax*4]
mov r14d, 4
xor r12d, r12d
xor r13d, r13d
jmp 0x1400218d4
add r12, 0x28
sub r14, 0xffffffffffffff80
inc r13
cmp rbx, r12
je 0x140021966
mov eax, 3
xchg qword [rdi + r12 + 0x10], rax
cmp rax, 2
jne 0x1400218c0
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x1e8], r13
jbe 0x140021e20
mov r15, qword [rax + 0x1e0]
lea rsi, [r15 + r14]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + r14], cl
jne 0x140021954
cmp byte [r15 + r14 + 1], 0
je 0x14002193b
lea rcx, [r15 + r14]
add rcx, 0xfffffffffffffffc
mov byte [r15 + r14 + 1], 0
lock inc dword [r15 + r14 - 4]
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
mov rax, qword [rsp + 0x70]
lock dec qword [rax + 0x1f0]
xor eax, eax
xchg byte [rsi], al
cmp al, 2
jne 0x1400218c0
mov rcx, rsi
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400218c0
mov rcx, rsi
call fcn.140028bd0
cmp byte [r15 + r14 + 1], 0
jne 0x140021915
jmp 0x14002193b
mov rax, qword [rsp + 0x90]
lock dec qword [rax]
jne 0x140021981
lea rcx, [rsp + 0x90]
call fcn.140023860
mov r14, qword [rsp + 0x88]
mov rsi, qword [r14 + 0x18]
test rsi, rsi
jne 0x14002159b
jmp 0x1400215cf
lea rcx, [rsp + 0x200]
xor edx, edx
mov r8, rsi
call fcn.1400228c0
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
cmp rax, rsi
jb 0x140021de9
movzx r13d, byte [rsp + 0x6f]
xorps xmm6, xmm6
mov r14, rsi
jmp 0x140021a0c
mov rsi, qword [rsp + 0x220]
mov rax, rdi
shl rax, 4
mov qword [rsi + rax], rbx
mov byte [rsi + rax + 8], r15b
inc rdi
mov qword [rsp + 0x228], rdi
dec r14
je 0x14001ffa1
mov ecx, 0x40
call fcn.140022aa0
mov rsi, rax
movzx eax, byte [0x142f53108]
mov edx, 0x10
xor ecx, ecx
call fcn.140025a60
mov r12, rax
test r13b, r13b
je 0x140021a80
test r12, r12
je 0x140021e20
mov qword [r12], rsi
mov qword [r12 + 8], 0x40
movzx eax, byte [0x142f53108]
mov edx, 0x200
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rbx, rax
and rbx, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
xor r15d, r15d
jmp 0x140021ac0
test r12, r12
je 0x140021e20
mov qword [r12], rsi
mov qword [r12 + 8], 0x40
movzx eax, byte [0x142f53108]
mov edx, 0x200
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov rbx, rax
and rbx, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
mov r15b, 1
mov qword [rbx - 8], rax
mov qword [rbx], 1
mov qword [rbx + 8], 1
mov qword [rbx + 0x80], r12
movaps xmmword [rbx + 0x100], xmm6
lock inc qword [rbx]
jle 0x140021e20
mov rdi, qword [rsp + 0x210]
cmp rdi, qword [rsp + 0x200]
jne 0x140021b0a
lea rcx, [rsp + 0x200]
call fcn.14003cb60
mov rax, qword [rsp + 0x208]
mov rcx, rdi
shl rcx, 5
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], rsi
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], r15b
inc rdi
mov qword [rsp + 0x210], rdi
mov rdi, qword [rsp + 0x228]
cmp rdi, qword [rsp + 0x218]
jne 0x1400219e0
lea rcx, [rsp + 0x218]
call fcn.140022a00
jmp 0x1400219e0
mov qword [rsp + 0xa0], r11
lea rcx, [rsp + 0x200]
xor edx, edx
mov rbx, qword [rsp + 0x80]
mov r8, rbx
call fcn.1400228c0
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
mov r14, rbx
cmp rax, rbx
jae 0x140021bed
lea rcx, [rsp + 0x218]
mov r14, qword [rsp + 0x80]
mov r8, r14
call fcn.140022960
jmp 0x140021bed
mov r15, qword [rsp + 0x220]
mov rax, rbx
shl rax, 4
mov qword [r15 + rax], r12
mov byte [r15 + rax + 8], 0
inc rbx
mov qword [rsp + 0x228], rbx
dec r14
je 0x140021d05
mov ecx, 0x40
call fcn.140022aa0
mov r15, rax
movzx eax, byte [0x142f53108]
mov edx, 0x10
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov r13, rax
mov qword [rax], r15
mov qword [rax + 8], 0x40
movzx eax, byte [0x142f53108]
mov edx, 0x200
xor ecx, ecx
call fcn.140025a60
test rax, rax
je 0x140021e20
mov r12, rax
and r12, 0xffffffffffffff80
mov qword [r12 + 0x78], rax
mov qword [r12 + 0x80], 1
mov qword [r12 + 0x88], 1
mov qword [r12 + 0x100], r13
pxor xmm0, xmm0
movdqa xmmword [r12 + 0x180], xmm0
lock inc qword [r12 + 0x80]
jle 0x140021e20
mov rbx, qword [rsp + 0x210]
cmp rbx, qword [rsp + 0x200]
jne 0x140021ca8
lea rcx, [rsp + 0x200]
call fcn.14003cb60
sub r12, 0xffffffffffffff80
mov rax, qword [rsp + 0x208]
mov rcx, rbx
shl rcx, 5
mov qword [rax + rcx], r12
mov qword [rax + rcx + 8], r15
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], 0
inc rbx
mov qword [rsp + 0x210], rbx
mov rbx, qword [rsp + 0x228]
cmp rbx, qword [rsp + 0x218]
jne 0x140021bc0
lea rcx, [rsp + 0x218]
call fcn.140022a00
jmp 0x140021bc0
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0x70]
mov r11, qword [rsp + 0xa0]
jmp 0x14002002f
lea rcx, [rsp + 0x200]
call fcn.140022830
mov rdx, qword [rsp + 0x210]
jmp 0x1400202c6
cmp byte [r8], 0x2b
jne 0x140021d90
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x140021d99
xor r11d, r11d
mov edi, 0xa
xor r15d, r15d
mov rax, r15
mul rdi
jo 0x14001fea6
mov r15, rax
movzx eax, byte [r10 + r11]
add eax, 0xffffffd0
cmp eax, 9
ja 0x14001fea6
mov eax, eax
add r15, rax
jb 0x14001fea6
inc r11
cmp r9, r11
jne 0x140021d5b
jmp 0x140021dc3
mov r10, r8
cmp r9, 0x11
jae 0x140021d50
xor eax, eax
xor r15d, r15d
nop
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001fea6
lea r11, [r15 + r15*4]
mov edx, edx
lea r15, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140021da0
xor esi, esi
test rcx, rcx
jne 0x14001feab
jmp 0x14001feb9
test rcx, rcx
jne 0x14001fd7f
jmp 0x14001fd8d
mov r15, rdx
jmp 0x14001ff1d
lea rcx, [rsp + 0x218]
mov r8, rsi
call fcn.140022960
jmp 0x1400219c9
add rcx, 0x10
xor edx, edx
call fcn.140035100
ud2
mov rax, qword [rsp + 0x78]
lock dec qword [rax]
jne 0x140021e20
mov rcx, qword [rsp + 0x78]
call fcn.140023b20
ud2
cmp qword [rsp + 0xd8], 0
ud2