Function at 0x14001fb30
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 0x14001fe6d
lea rdx, [0x1427fbf28]
lea rcx, [rsp + 0x200]
call fcn.140023360
mov rax, qword [rsp + 0x200]
movabs rdi, 0x8000000000000000
movabs rsi, 0x8000000000000001
cmp rax, rdi
je 0x14001fd78
cmp rax, rsi
jne 0x14001fc19
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001fd78
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
test r9, r9
je 0x14001fcc8
cmp r9, 1
jne 0x14001fc3d
movzx eax, byte [r8]
xor ebx, ebx
cmp eax, 0x2b
je 0x140021d23
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
je 0x14001fcca
jmp 0x14001fc91
test rax, rax
je 0x14001fd78
mov r8, qword [rsp + 0x208]
mov rcx, qword [0x142802058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14001fd78
cmp byte [r8], 0x2b
jne 0x14001fc88
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x14001fc91
xor r11d, r11d
mov ebx, 0xa
xor r15d, r15d
mov rax, r15
mul rbx
jo 0x14001fcc8
mov r15, rax
movzx eax, byte [r10 + r11]
add eax, 0xffffffd0
cmp eax, 9
ja 0x14001fcc8
mov eax, eax
add r15, rax
jb 0x14001fcc8
inc r11
cmp r9, r11
jne 0x14001fc5f
jmp 0x14001fcbf
mov r10, r8
cmp r9, 0x11
jae 0x14001fc54
xor eax, eax
xor r15d, r15d
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001fcc8
lea r11, [r15 + r15*4]
mov edx, edx
lea r15, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14001fca0
mov bl, 1
test rcx, rcx
jne 0x14001fccf
jmp 0x14001fcdd
xor ebx, ebx
test rcx, rcx
je 0x14001fcdd
mov rcx, qword [0x142802058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test bl, bl
je 0x14001fd78
test r15, r15
jne 0x14001fe6d
call fcn.14002a5e0
test rax, rax
je 0x140021d31
mov eax, edx
and eax, 3
mov r15d, 1
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14001fe6d
test rax, rax
je 0x14001fe6d
mov rsi, qword [rdx - 1]
mov rdi, qword [rdx + 7]
mov rax, qword [rdi]
test rax, rax
je 0x14001fd39
mov rcx, rsi
mov rbx, rdx
call rax
mov rdx, rbx
dec rdx
mov rbx, rdx
cmp qword [rdi + 8], 0
je 0x14001fd62
cmp qword [rdi + 0x10], 0x11
jb 0x14001fd51
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
jmp 0x14001fe6d
lea rdx, [0x1427fbf39]
lea rcx, [rsp + 0x200]
call fcn.140023360
mov rax, qword [rsp + 0x200]
cmp rax, rdi
je 0x14001fe31
cmp rax, rsi
jne 0x14001fe16
mov rcx, qword [rsp + 0x208]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14001fe31
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x218]
mov sil, 1
test r9, r9
je 0x14001fdf6
cmp r9, 1
jne 0x140021c89
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14001fdf6
mov r9d, 1
mov r10, r8
cmp eax, 0x2d
jne 0x140021ce9
test rcx, rcx
je 0x14001fe09
mov rcx, qword [0x142802058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test r15, r15
sete al
or sil, al
je 0x14001fe6d
jmp 0x14001fe31
test rax, rax
je 0x14001fe31
mov r8, qword [rsp + 0x208]
mov rcx, qword [0x142802058]
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 0x1400218eb
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 0x140021ab3
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 0x140020113
movabs rax, 0x333333333333333
cmp rdi, rax
ja 0x140021d70
mov r14, r12
mov r12, r11
lea rax, [rdi*8]
lea rdx, [rax + rax*4]
movzx eax, byte [0x142802108]
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 0x140020030
mov qword [rsp + 0x210], rdx
test r11, r11
je 0x14002007a
mov rcx, qword [0x142802058]
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 0x14002014f
mov rsi, qword [rsp + 0x80]
mov rdx, rsi
shl rdx, 7
movzx eax, byte [0x142802108]
sub rdx, 0xffffffffffffff80
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 0x14002018b
xor edx, edx
jmp 0x1400201d5
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 0x140020069
jmp 0x14002007a
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 0x140021c6f
xor edx, edx
jmp 0x140020216
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 0x1400201a0
test rcx, rcx
je 0x140020216
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 0x140020200
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 [0x142802108]
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 [0x142802108]
mov edx, 0x300
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 0x140021423
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 0x140020971
inc qword [rsp + 0x80]
cmp r12, r14
je 0x14002144d
mov rax, r12
add r12, 0x20
movzx esi, byte [rax + 0x18]
cmp sil, 2
je 0x140021423
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 0x140021405
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 0x140020a30
mov rax, qword [rbx + 0x30]
lea rcx, [rsp + 0x200]
mov r8, qword [rsp + 0x80]
call qword [rax + 0x20]
jmp 0x140020a42
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 0x140021d70
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 0x140020c10
mov rax, qword [rsp + 0x88]
cmp byte [rax + 0x58], 0
je 0x140020c10
xor ecx, ecx
call fcn.14001f560
test rax, rax
lea rdi, [rsp + 0x200]
je 0x140021d70
cmp qword [rax], 0
mov r14, qword [rsp + 0x108]
jne 0x140021600
mov rcx, rdi
lea rdx, [rsp + 0x178]
call fcn.14001e750
movzx eax, byte [0x142802108]
mov edx, 0x200
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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.14001f560
test rax, rax
je 0x140021d70
cmp qword [rax], 0
jne 0x140021d70
mov qword [rax], rsi
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x208], 0
je 0x140021d70
mov rdi, qword [rax + 0x200]
lea rsi, [rdi + 4]
xor eax, eax
mov cl, 1
lock cmpxchg byte [rdi + 4], cl
jne 0x140020f15
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 0x140020960
mov rcx, rsi
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x140020960
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 0x140020d05
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
je 0x140020cda
js 0x140021d70
movzx eax, byte [0x142802108]
xor ecx, ecx
mov rdx, rsi
call fcn.1400259b0
test rax, rax
je 0x140021d70
mov rdi, rax
mov r14, rsi
jmp 0x140020ce2
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 0x140020d8c
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x150], r10
jne 0x140020db6
movzx eax, byte [0x142802108]
mov edx, 0x38
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
mov r14, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], 2
mov rax, qword [0x142802078]
nop word [rax + rax]
mov rcx, rax
inc rcx
je 0x140021d70
lock cmpxchg qword [0x142802078], rcx
jne 0x140020d70
jmp 0x1400211a7
mov r10, qword [0x142802070]
test r10, r10
je 0x140020e0f
dec r10
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x150], r10
je 0x140020d2d
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], rsi
cmp rsi, 0x10
jae 0x140020df7
test rsi, rsi
je 0x140021042
xor eax, eax
nop
cmp byte [rdi + rax], 0
je 0x140021d70
inc rax
cmp rsi, rax
jne 0x140020de0
jmp 0x140021042
lea rax, [rdi + 7]
and rax, 0xfffffffffffffff8
sub rax, rdi
jne 0x140020e53
lea rcx, [rsi - 0x10]
xor eax, eax
jmp 0x140020ff0
mov r8d, 0xe
lea rcx, [rsp + 0x110]
lea rdx, [0x1427fc200]
call fcn.140028810
mov rsi, qword [rsp + 0x110]
movabs rax, 0x8000000000000000
cmp rsi, rax
jne 0x140020e84
mov r10d, 0x200000
mov rsi, qword [rsp + 0x100]
jmp 0x140020eea
cmp rax, rsi
cmovae rax, rsi
xor ecx, ecx
nop dword [rax]
cmp byte [rdi + rcx], 0
je 0x140021d70
inc rcx
cmp rax, rcx
jne 0x140020e60
lea rcx, [rsi - 0x10]
cmp rax, rcx
jbe 0x140020ff0
jmp 0x14002103d
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x120]
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x78], rdx
call fcn.1400114b0
cmp qword [rsp + 0xd0], 0
mov qword [rsp + 0xf8], r13
je 0x140020f22
mov r13d, 0x200000
test rsi, rsi
je 0x140020ed7
mov rcx, qword [0x142802058]
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 [0x142802070], rax
movabs rax, 0x8000000000000000
cmp r14, rax
mov qword [rsp + 0x150], r10
je 0x140020d2d
jmp 0x140020db6
mov rcx, rsi
call fcn.140028b20
jmp 0x140020bd9
mov r8, qword [rsp + 0xe0]
test r8, r8
je 0x140020eb9
mov rcx, qword [rsp + 0xd8]
cmp r8, 1
jne 0x140020f5a
movzx eax, byte [rcx]
cmp eax, 0x2b
je 0x140020eb9
mov r8d, 1
cmp eax, 0x2d
je 0x140020eb9
jmp 0x140020fb8
cmp byte [rcx], 0x2b
jne 0x140020fb2
inc rcx
lea rax, [r8 - 1]
cmp r8, 0x12
mov r8, rax
jb 0x140020fb8
xor r9d, r9d
xor r13d, r13d
mov rax, r13
mov edx, 0xa
mul rdx
jo 0x140020eb9
mov r13, rax
movzx eax, byte [rcx + r9]
add eax, 0xffffffd0
cmp eax, 9
ja 0x140020eb9
mov eax, eax
add r13, rax
jb 0x140020eb9
inc r9
cmp r8, r9
jne 0x140020f75
jmp 0x140020ebf
cmp r8, 0x11
jae 0x140020f6f
xor eax, eax
xor r13d, r13d
nop dword [rax]
movzx edx, byte [rcx + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x140020eb9
lea r9, [r13*4]
add r9, r13
mov edx, edx
lea r13, [rdx + r9*2]
inc rax
cmp r8, rax
jne 0x140020fc0
jmp 0x140020ebf
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 0x14002103d
add rax, 0x10
cmp rax, rcx
jbe 0x140020ff0
jmp 0x14002103d
cmp byte [rdi + rax], 0
je 0x140021d70
inc rax
cmp rsi, rax
jne 0x140021030
mov rax, rdi
cmp r14, rsi
jne 0x1400210c5
mov r14, rsi
inc r14
je 0x140021d70
test rsi, rsi
je 0x140021072
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x120], rsi
mov eax, 1
jmp 0x140021074
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.140006a10
cmp qword [rsp + 0xd0], 0
jne 0x140021d72
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 0x1400210ea
lea rcx, [rsp + 0xb0]
call fcn.140006ab0
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 0x140021140
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, rdi
test rsi, rsi
je 0x140021131
mov r9, rsi
call sub.KERNEL32.dll_HeapReAlloc
mov rdi, rax
test rax, rax
jne 0x140021140
jmp 0x140021d70
call sub.KERNEL32.dll_HeapFree
mov edi, 1
nop dword [rax + rax]
movzx eax, byte [0x142802108]
mov edx, 0x38
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 [0x142802078]
mov rdi, r13
mov r13, qword [rsp + 0xf8]
mov rcx, rax
inc rcx
je 0x140021d70
lock cmpxchg qword [0x142802078], rcx
jne 0x140021190
mov qword [r14 + 0x28], rcx
mov byte [r14 + 0x30], 0
lock inc qword [r14]
jle 0x140021d70
movzx eax, byte [0x142802108]
mov edx, 0x30
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 0x140021d70
movzx eax, byte [0x142802080]
test al, al
mov qword [rsp + 0x158], rdi
je 0x140021270
mov byte [0x142802080], 1
call fcn.140025610
test rax, rax
je 0x140021d70
mov rcx, qword [rax]
mov qword [rax], 0
test rcx, rcx
je 0x140021270
mov rax, rcx
mov qword [rsp + 0x78], rcx
lock inc qword [rcx]
jle 0x140021d70
mov byte [0x142802080], 1
call fcn.140025610
test rax, rax
je 0x140021d5b
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x78]
mov qword [rax], rdx
test rcx, rcx
jne 0x1400212aa
jmp 0x1400212b5
movzx eax, byte [0x142802080]
test al, al
je 0x1400213e4
mov byte [0x142802080], 1
call fcn.140025610
test rax, rax
je 0x140021d70
mov rcx, qword [rax]
mov qword [rax], 0
xor eax, eax
mov qword [rsp + 0x78], rax
test rcx, rcx
je 0x1400212b5
lock dec qword [rcx]
jne 0x1400212b5
call fcn.140023a70
mov rdi, qword [rsp + 0x110]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x1400212d1
lock inc qword [rcx + 0x18]
jle 0x140021d4e
movzx eax, byte [0x142802108]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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, [0x1427fbf08]
call fcn.140029cb0
test rax, rax
jne 0x1400216c7
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 0x1400213b8
mov rcx, qword [rsp + 0x160]
call fcn.140019830
mov rax, qword [rsp + 0x168]
lock dec qword [rax]
mov r14, qword [rsp + 0x108]
jne 0x140020960
lea rcx, [rsp + 0x168]
call fcn.140023ac0
jmp 0x140020960
xor eax, eax
mov qword [rsp + 0x78], rax
mov rdi, qword [rsp + 0x110]
mov rcx, qword [rdi + 0x10]
test rcx, rcx
jne 0x1400212c6
jmp 0x1400212d1
mov rax, qword [rsp + 0x200]
lock dec qword [rax]
jne 0x140021420
lea rcx, [rsp + 0x200]
call fcn.140023a00
mov r15, rbx
sub r14, r12
je 0x14002144d
shr r14, 5
jmp 0x140021439
add r12, 0x20
dec r14
je 0x14002144d
mov rax, qword [r12]
lock dec qword [rax]
jne 0x140021430
mov rcx, r12
call fcn.140023a00
jmp 0x140021430
cmp qword [rsp + 0x138], 0
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x130]
je 0x14002147e
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.KERNEL32.dll_HeapFree
sub rbx, r15
je 0x1400214ac
shr rbx, 4
jmp 0x140021499
add r15, 0x10
dec rbx
je 0x1400214ac
mov rax, qword [r15]
lock dec qword [rax]
jne 0x140021490
mov rcx, r15
call fcn.140023a00
jmp 0x140021490
test rsi, rsi
je 0x1400214c7
mov rcx, qword [0x142802058]
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 0x14002151f
mov rdi, qword [r14 + 0x20]
mov rax, qword [rdi]
test rax, rax
je 0x1400214fc
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x14002151f
cmp qword [rdi + 0x10], 0x11
jb 0x14002150e
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r14 + 0x28]
test rsi, rsi
je 0x14002155c
mov rdi, qword [r14 + 0x30]
mov rax, qword [rdi]
test rax, rax
je 0x140021539
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x14002155c
cmp qword [rdi + 0x10], 0x11
jb 0x14002154b
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r14 + 0x38]
test rsi, rsi
je 0x140021599
mov rdi, qword [r14 + 0x40]
mov rax, qword [rdi]
test rax, rax
je 0x140021576
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x140021599
cmp qword [rdi + 0x10], 0x11
jb 0x140021588
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [r14 + 0x48]
test rsi, rsi
je 0x1400215d6
mov rdi, qword [r14 + 0x50]
mov rax, qword [rdi]
test rax, rax
je 0x1400215b3
mov rcx, rsi
call rax
cmp qword [rdi + 8], 0
je 0x1400215d6
cmp qword [rdi + 0x10], 0x11
jb 0x1400215c5
mov rsi, qword [rsi - 8]
mov rcx, qword [0x142802058]
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 0x140021641
test rax, rax
je 0x140021641
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x142802058]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x1b0]
lock dec qword [rax]
jne 0x14002169c
lea rcx, [rsp + 0x1b0]
call fcn.140023a00
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
je 0x1400216aa
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
jne 0x140021685
lea rcx, [rsp + 0x1d0]
call fcn.1400237b0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
sub r14, r12
jne 0x140021714
jmp 0x14002173d
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
jne 0x14002166a
lea rcx, [rsp + 0x1a0]
call fcn.140023a00
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
je 0x140021678
jmp 0x140021685
lock dec qword [rdi]
jne 0x1400216e0
lea rcx, [rsp + 0x110]
mov rsi, rdx
call fcn.140023ac0
mov rdx, rsi
lock dec qword [r14]
jne 0x1400216f4
mov rcx, r14
mov rsi, rdx
call fcn.140019830
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 0x14002173d
shr r14, 5
jmp 0x140021729
add r12, 0x20
dec r14
je 0x14002173d
mov rax, qword [r12]
lock dec qword [rax]
jne 0x140021720
mov rcx, r12
call fcn.140023a00
jmp 0x140021720
cmp qword [rsp + 0x138], 0
je 0x14002175e
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, qword [rsp + 0x98]
call sub.KERNEL32.dll_HeapFree
sub rbx, r15
mov rsi, qword [rsp + 0x130]
je 0x14002179c
shr rbx, 4
jmp 0x140021789
add r15, 0x10
dec rbx
je 0x14002179c
mov rax, qword [r15]
lock dec qword [rax]
jne 0x140021780
mov rcx, r15
call fcn.140023a00
jmp 0x140021780
test rsi, rsi
je 0x1400217b7
mov rcx, qword [0x142802058]
xor edx, edx
mov r8, qword [rsp + 0xf0]
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x70]
lock dec qword [rax + 0x1d0]
jne 0x1400218b6
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x1400218b6
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 0x140021824
add r12, 0x28
sub r14, 0xffffffffffffff80
inc r13
cmp rbx, r12
je 0x1400218b6
mov eax, 3
xchg qword [rdi + r12 + 0x10], rax
cmp rax, 2
jne 0x140021810
mov rax, qword [rsp + 0x70]
cmp qword [rax + 0x1e8], r13
jbe 0x140021d70
mov r15, qword [rax + 0x1e0]
lea rsi, [r15 + r14]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + r14], cl
jne 0x1400218a4
cmp byte [r15 + r14 + 1], 0
je 0x14002188b
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 0x140021810
mov rcx, rsi
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x140021810
mov rcx, rsi
call fcn.140028b20
cmp byte [r15 + r14 + 1], 0
jne 0x140021865
jmp 0x14002188b
mov rax, qword [rsp + 0x90]
lock dec qword [rax]
jne 0x1400218d1
lea rcx, [rsp + 0x90]
call fcn.1400237b0
mov r14, qword [rsp + 0x88]
mov rsi, qword [r14 + 0x18]
test rsi, rsi
jne 0x1400214eb
jmp 0x14002151f
lea rcx, [rsp + 0x200]
xor edx, edx
mov r8, rsi
call fcn.140022810
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
cmp rax, rsi
jb 0x140021d39
movzx r13d, byte [rsp + 0x6f]
xorps xmm6, xmm6
mov r14, rsi
jmp 0x14002195c
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 0x14001fef1
mov ecx, 0x40
call fcn.1400229f0
mov rsi, rax
movzx eax, byte [0x142802108]
mov edx, 0x10
xor ecx, ecx
call fcn.1400259b0
mov r12, rax
test r13b, r13b
je 0x1400219d0
test r12, r12
je 0x140021d70
mov qword [r12], rsi
mov qword [r12 + 8], 0x40
movzx eax, byte [0x142802108]
mov edx, 0x200
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
mov rbx, rax
and rbx, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
xor r15d, r15d
jmp 0x140021a10
test r12, r12
je 0x140021d70
mov qword [r12], rsi
mov qword [r12 + 8], 0x40
movzx eax, byte [0x142802108]
mov edx, 0x200
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 0x140021d70
mov rdi, qword [rsp + 0x210]
cmp rdi, qword [rsp + 0x200]
jne 0x140021a5a
lea rcx, [rsp + 0x200]
call fcn.14003ca70
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 0x140021930
lea rcx, [rsp + 0x218]
call fcn.140022950
jmp 0x140021930
mov qword [rsp + 0xa0], r11
lea rcx, [rsp + 0x200]
xor edx, edx
mov rbx, qword [rsp + 0x80]
mov r8, rbx
call fcn.140022810
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
mov r14, rbx
cmp rax, rbx
jae 0x140021b3d
lea rcx, [rsp + 0x218]
mov r14, qword [rsp + 0x80]
mov r8, r14
call fcn.1400228b0
jmp 0x140021b3d
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 0x140021c55
mov ecx, 0x40
call fcn.1400229f0
mov r15, rax
movzx eax, byte [0x142802108]
mov edx, 0x10
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
mov r13, rax
mov qword [rax], r15
mov qword [rax + 8], 0x40
movzx eax, byte [0x142802108]
mov edx, 0x200
xor ecx, ecx
call fcn.1400259b0
test rax, rax
je 0x140021d70
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 0x140021d70
mov rbx, qword [rsp + 0x210]
cmp rbx, qword [rsp + 0x200]
jne 0x140021bf8
lea rcx, [rsp + 0x200]
call fcn.14003ca70
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 0x140021b10
lea rcx, [rsp + 0x218]
call fcn.140022950
jmp 0x140021b10
mov r12, qword [rsp + 0x218]
mov r13, qword [rsp + 0x70]
mov r11, qword [rsp + 0xa0]
jmp 0x14001ff7f
lea rcx, [rsp + 0x200]
call fcn.140022780
mov rdx, qword [rsp + 0x210]
jmp 0x140020216
cmp byte [r8], 0x2b
jne 0x140021ce0
lea r10, [r8 + 1]
lea rax, [r9 - 1]
cmp r9, 0x12
mov r9, rax
jb 0x140021ce9
xor r11d, r11d
mov edi, 0xa
xor r15d, r15d
mov rax, r15
mul rdi
jo 0x14001fdf6
mov r15, rax
movzx eax, byte [r10 + r11]
add eax, 0xffffffd0
cmp eax, 9
ja 0x14001fdf6
mov eax, eax
add r15, rax
jb 0x14001fdf6
inc r11
cmp r9, r11
jne 0x140021cab
jmp 0x140021d13
mov r10, r8
cmp r9, 0x11
jae 0x140021ca0
xor eax, eax
xor r15d, r15d
nop
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14001fdf6
lea r11, [r15 + r15*4]
mov edx, edx
lea r15, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x140021cf0
xor esi, esi
test rcx, rcx
jne 0x14001fdfb
jmp 0x14001fe09
test rcx, rcx
jne 0x14001fccf
jmp 0x14001fcdd
mov r15, rdx
jmp 0x14001fe6d
lea rcx, [rsp + 0x218]
mov r8, rsi
call fcn.1400228b0
jmp 0x140021919
add rcx, 0x10
xor edx, edx
call fcn.140035050
ud2
mov rax, qword [rsp + 0x78]
lock dec qword [rax]
jne 0x140021d70
mov rcx, qword [rsp + 0x78]
call fcn.140023a70
ud2
cmp qword [rsp + 0xd8], 0
ud2