Function at 0x14004c430
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 r15, rdx
mov qword [rsp + 0xf8], rcx
mov rsi, qword [rdx + 0x10]
test rsi, rsi
jne 0x14004c90d
lea rdx, [0x1418d27f0]
lea rcx, [rsp + 0x200]
mov r8d, 0x11
call fcn.1400e0140
mov rcx, qword [rsp + 0x200]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14004c6f1
cmp byte [rsp + 0x218], 0
mov r8, qword [rsp + 0x208]
mov r9, qword [rsp + 0x210]
je 0x14004c54d
test r9, r9
je 0x14004c634
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14004c5ea
cmp eax, 0x2d
jne 0x14004c4f6
cmp r9, 1
je 0x14004c634
mov r10, r8
cmp r9, 0x10
jbe 0x14004c5fd
xor r11d, r11d
mov edi, 0xa
xor esi, esi
nop dword [rax]
cmp r9, r11
je 0x14004c62f
movzx ebx, byte [r10 + r11]
mov rax, rsi
mul rdi
seto dl
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x14004c634
test dl, dl
jne 0x14004c634
mov rsi, rax
mov eax, ebx
inc r11
add rsi, rax
jae 0x14004c510
jmp 0x14004c634
test r9, r9
je 0x14004c634
lea rax, [r8 + r9]
mov r10, r8
jmp 0x14004c57c
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop word [rax + rax]
mov r10, rdx
cmp rdx, rax
je 0x14004c4d1
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x14004c570
cmp r11b, 0xe0
jb 0x14004c55f
cmp r11b, 0xed
jne 0x14004c5bf
cmp rdx, rax
je 0x14004c4d1
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x14004c4d1
cmp byte [r10 + 1], 0x9f
ja 0x14004c6db
add r10, 3
mov rdx, r10
jmp 0x14004c570
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x14004c570
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x14004c570
dec r9
je 0x14004c634
lea r10, [r8 + 1]
cmp r9, 0x11
jae 0x14004c503
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14004c634
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14004c610
mov dil, 1
jmp 0x14004c636
xor edi, edi
test rcx, rcx
je 0x14004c649
mov rcx, qword [0x141936088]
xor edx, edx
call fcn.140102ef8
test dil, dil
je 0x14004c6f1
test rsi, rsi
jne 0x14004c90d
call fcn.1400e5f90
test rax, rax
je 0x14004c6d3
mov eax, edx
and eax, 3
mov esi, 1
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14004c90d
test rax, rax
je 0x14004c90d
mov rdi, rdx
dec rdi
mov rbx, qword [rdx - 1]
mov r14, qword [rdx + 7]
mov rcx, rbx
call qword [r14]
cmp qword [r14 + 8], 0
je 0x14004c6bd
cmp qword [r14 + 0x10], 0x11
jb 0x14004c6ac
mov rbx, qword [rbx - 8]
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rbx
call fcn.140102ef8
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rdi
call fcn.140102ef8
jmp 0x14004c90d
mov rsi, rdx
jmp 0x14004c90d
shl rcx, 1
test rcx, rcx
je 0x14004c6f1
mov rcx, qword [0x141936088]
xor edx, edx
call fcn.140102ef8
lea rdx, [0x1418d2801]
lea rcx, [rsp + 0x200]
mov r8d, 0x11
call fcn.1400e0140
mov rcx, qword [rsp + 0x200]
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14004c8d4
cmp byte [rsp + 0x218], 0
mov r8, qword [rsp + 0x208]
mov r9, qword [rsp + 0x210]
je 0x14004c7d0
mov dil, 1
test r9, r9
je 0x14004c8b6
movzx eax, byte [r8]
cmp eax, 0x2b
je 0x14004c86a
cmp eax, 0x2d
jne 0x14004c76c
cmp r9, 1
je 0x14004c8b6
mov r10, r8
cmp r9, 0x10
jbe 0x14004c87d
xor r11d, r11d
mov ebx, 0xa
xor esi, esi
nop word cs:[rax + rax]
cmp r9, r11
je 0x14004c8af
movzx r14d, byte [r10 + r11]
mov rax, rsi
mul rbx
seto dl
add r14d, 0xffffffd0
cmp r14d, 9
ja 0x14004c8b6
test dl, dl
jne 0x14004c8b6
mov rsi, rax
mov eax, r14d
inc r11
add rsi, rax
jae 0x14004c790
jmp 0x14004c8b6
test r9, r9
je 0x14004c8b3
lea rax, [r8 + r9]
mov r10, r8
jmp 0x14004c7fc
add r10, 2
cmp rdx, rax
cmovne rdx, r10
nop dword [rax]
mov r10, rdx
cmp rdx, rax
je 0x14004c744
lea rdx, [r10 + 1]
movzx r11d, byte [r10]
test r11b, r11b
jns 0x14004c7f0
cmp r11b, 0xe0
jb 0x14004c7e2
cmp r11b, 0xed
jne 0x14004c83f
cmp rdx, rax
je 0x14004c744
lea rdx, [r10 + 2]
cmp rdx, rax
je 0x14004c744
cmp byte [r10 + 1], 0x9f
ja 0x14004e50a
add r10, 3
mov rdx, r10
jmp 0x14004c7f0
add r10, 2
cmp rdx, rax
cmove r10, rdx
xor edx, edx
cmp r10, rax
setne dl
add rdx, r10
cmp r11b, 0xf0
jb 0x14004c7f0
xor r10d, r10d
cmp rdx, rax
setne r10b
add rdx, r10
jmp 0x14004c7f0
dec r9
je 0x14004c8b6
lea r10, [r8 + 1]
cmp r9, 0x11
jae 0x14004c779
xor eax, eax
xor esi, esi
nop word cs:[rax + rax]
movzx edx, byte [r10 + rax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x14004c8b6
lea r11, [rsi + rsi*4]
mov edx, edx
lea rsi, [rdx + r11*2]
inc rax
cmp r9, rax
jne 0x14004c890
xor edi, edi
jmp 0x14004c8b6
mov dil, 1
test rcx, rcx
je 0x14004c8c9
mov rcx, qword [0x141936088]
xor edx, edx
call fcn.140102ef8
test rsi, rsi
sete al
or dil, al
je 0x14004c90d
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 esi, dword [rsp + 0x220]
cmp esi, 1
adc esi, 0
cmp rsi, 0xffff
mov edi, 0xffff
cmovb rdi, rsi
mov qword [rsp + 0x98], r15
movzx r13d, byte [r15 + 0x59]
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 rsi, rsi
mov qword [rsp + 0x88], rdi
jne 0x14004de7f
mov rbx, qword [rsp + 0x220]
mov r14, qword [rsp + 0x228]
mov rcx, qword [rsp + 0x200]
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xa8], rax
mov r15, 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
test rsi, rsi
mov qword [rsp + 0x108], rcx
jne 0x14004e055
mov r13d, 8
xor eax, eax
mov qword [rsp + 0x90], rax
xor eax, eax
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0xc0], rax
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0xb0], xmm0
mov rdi, r14
shl rdi, 4
add rdi, rbx
test r14, r14
mov r12, qword [rsp + 0x98]
je 0x14004cbb0
movabs rax, 0x333333333333333
cmp r14, rax
ja 0x14004e54f
lea rax, [r14*8]
lea rdx, [rax + rax*4]
movzx eax, byte [0x141936118]
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov qword [rsp + 0x200], r14
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x210], 0
xor ecx, ecx
mov rdx, rbx
nop word cs:[rax + rax]
mov r8, qword [rdx]
movzx r9d, byte [rdx + 8]
mov dword [rax], 0
mov word [rax + 4], 0
mov dword [rax + 8], 0
mov word [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r8
mov byte [rax + 0x20], r9b
inc rcx
add rax, 0x28
add rdx, 0x10
cmp rdx, rdi
jne 0x14004cac0
mov qword [rsp + 0x210], rcx
test r15, r15
je 0x14004cb1f
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rbx
call fcn.140102ef8
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x140], rax
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0x130], xmm0
test rsi, rsi
je 0x14004cbf7
mov rdi, qword [rsp + 0x88]
mov rdx, rdi
shl rdx, 7
movzx eax, byte [0x141936118]
sub rdx, 0xffffffffffffff80
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov rcx, rax
and rcx, 0xffffffffffffff80
mov qword [rcx + 0x78], rax
sub rcx, 0xffffffffffffff80
mov qword [rsp + 0x200], rdi
mov qword [rsp + 0x208], rcx
mov qword [rsp + 0x210], 0
cmp rsi, 1
jne 0x14004cc30
xor edx, edx
jmp 0x14004cc7f
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 8
mov qword [rsp + 0x210], 0
cmp rdi, rbx
jne 0x14004cbe4
jmp 0x14004cb09
add rbx, 0x10
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x14004cbe0
mov rcx, rbx
call fcn.14004fa60
jmp 0x14004cbe0
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], pe_nt_image_headers64
mov qword [rsp + 0x210], 0
mov rdx, qword [rsp + 0x88]
test rdx, rdx
jne 0x14004e4db
xor edx, edx
jmp 0x14004cc9d
mov edx, eax
and edx, 0x7f
mov r8d, edi
and r8d, 0xfffe
sub rax, rdx
add rax, 0x105
xor edx, edx
nop word [rax + rax]
mov dword [rax - 0x85], 0
mov word [rax - 0x81], 0
mov dword [rax - 5], 0
mov word [rax - 1], 0
add rdx, 2
add rax, 0x100
cmp r8, rdx
jne 0x14004cc50
test dil, 1
je 0x14004cc9d
mov rax, rdx
shl rax, 7
mov dword [rcx + rax], 0
mov word [rcx + rax + 4], 0
inc rdx
movdqu xmm0, xmmword [rsp + 0x200]
movdqa xmmword [rsp + 0xd0], xmm0
mov qword [rsp + 0xe0], 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 [0x141936118]
mov edx, 0x5f0
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov rsi, rax
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 [r12 + 0x18]
movdqu xmm7, xmmword [r12 + 0x38]
movups xmm8, xmmword [r12 + 0x48]
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x38], 0
mov qword [r12 + 0x48], 0
movzx eax, byte [0x141936118]
mov edx, 0x300
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov rdx, rax
and rax, 0xffffffffffffff80
lea rcx, [rax + 0x80]
mov qword [rsp + 0x80], rcx
mov qword [rax + 0x78], rdx
mov qword [rax + 0x80], 1
mov qword [rax + 0x88], 1
mov qword [rax + 0x100], 0
mov qword [rax + 0x108], rsi
mov qword [rax + 0x180], 0
mov qword [rax + 0x188], rsi
mov byte [rax + 0x200], 0
movups xmm0, xmmword [rsp + 0x861]
movdqu xmm1, xmmword [rsp + 0x870]
movups xmmword [rax + 0x201], xmm0
movdqu xmmword [rax + 0x210], xmm1
movaps xmmword [rax + 0x220], xmm6
movdqa xmmword [rax + 0x230], xmm7
movaps xmmword [rax + 0x240], xmm8
mov qword [rax + 0x250], 1
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [rax + 0x258], xmm0
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 0x268], rcx
mov qword [rax + 0x270], 0
mov rcx, qword [rsp + 0x140]
mov qword [rax + 0x288], rcx
movdqa xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rax + 0x278], xmm0
mov rcx, qword [rsp + 0xa8]
mov r14, rcx
shl r14, 5
mov rbx, qword [rsp + 0xa0]
add r14, rbx
mov r15, qword [rsp + 0x90]
shl r15, 4
add r15, r13
mov qword [rsp + 0xe8], r13
test rcx, rcx
je 0x14004dcbd
add rax, 0x250
mov qword [rsp + 0x148], rax
xorps xmm6, xmm6
movdqa xmm7, xmmword [0x140110930]
xor eax, eax
mov qword [rsp + 0x88], rax
mov r13, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xa0]
mov qword [rsp + 0x90], r15
jmp 0x14004d401
inc qword [rsp + 0x88]
cmp rbx, r14
je 0x14004dcec
mov rax, rbx
add rbx, 0x20
movzx esi, byte [rax + 0x18]
cmp sil, 2
je 0x14004dcbd
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 r13, r15
je 0x14004dc9f
lea rcx, [rax + 0x19]
mov rdi, qword [r13]
movzx r12d, byte [r13 + 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 r15, qword [rsp + 0x98]
mov rdx, qword [r15 + 0x28]
movabs r9, 0x8000000000000000
test rdx, rdx
je 0x14004d4d8
mov rax, qword [r15 + 0x30]
lea rcx, [rsp + 0x200]
mov r8, qword [rsp + 0x88]
call qword [rax + 0x20]
mov r9, qword [rsp + 0x200]
lea rax, [rsp + 0x219]
movups xmm0, xmmword [rax - 0x11]
movaps xmmword [rsp + 0xd0], xmm0
mov r10, qword [r15]
mov r11, qword [r15 + 8]
mov rdx, qword [rsp + 0x80]
lock inc qword [rdx]
jle 0x14004e54f
add r13, 0x10
mov qword [rsp + 0x188], r9
movaps xmm0, xmmword [rsp + 0xd0]
lea r8, [rsp + 0x1b0]
movups xmmword [r8 - 0x20], xmm0
mov qword [rsp + 0x178], r10
mov qword [rsp + 0x180], r11
mov rax, qword [rsp + 0x1f0]
mov qword [r8 + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x1e0]
movdqu xmmword [r8], xmm0
mov byte [rsp + 0x1c8], sil
mov eax, dword [rsp + 0xc8]
mov ecx, dword [rsp + 0xcb]
mov dword [r8 + 0x1c], ecx
mov dword [r8 + 0x19], eax
mov qword [rsp + 0x1a0], rdi
mov byte [rsp + 0x1a8], r12b
mov qword [rsp + 0x1d0], rdx
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x1d8], rax
test rax, rax
mov r15, qword [rsp + 0x100]
mov qword [rsp + 0xa8], r9
jne 0x14004d6b0
mov rax, qword [rsp + 0x98]
cmp byte [rax + 0x58], 0
je 0x14004d6b0
xor ecx, ecx
call fcn.14004bd70
test rax, rax
je 0x14004e54f
cmp qword [rax], 0
mov r15, qword [rsp + 0x90]
lea rdi, [rsp + 0x200]
mov rcx, qword [rsp + 0xa8]
jne 0x14004e226
mov rcx, rdi
lea rdx, [rsp + 0x178]
call fcn.14004aff0
movzx eax, byte [0x141936118]
mov edx, 0x200
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
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.14004bd70
test rax, rax
je 0x14004e54f
cmp qword [rax], 0
jne 0x14004e54f
mov qword [rax], rsi
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x208], 0
je 0x14004e54f
mov rdi, qword [rax + 0x200]
lea rsi, [rdi + 4]
xor eax, eax
mov cl, 1
lock cmpxchg byte [rdi + 4], cl
jne 0x14004d84d
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 0x14004d3f0
mov rcx, rsi
call fcn.14010bbb8
jmp 0x14004d3f0
mov rsi, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x128], 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 r12, rax
cmp r9, rax
mov rdi, qword [rsp + 0x158]
mov qword [rsp + 0x120], r10
mov qword [rsp + 0x118], r11
je 0x14004d788
mov r15, qword [rsp + 0x128]
test r15, r15
je 0x14004d762
js 0x14004e54f
movzx eax, byte [0x141936118]
xor ecx, ecx
mov rdx, r15
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov rdi, rax
mov r12, r15
jmp 0x14004d76a
mov edi, 1
xor r12d, r12d
mov rcx, rdi
mov rdx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x120]
mov r11, qword [rsp + 0x118]
mov rax, r11
test r10, r10
jne 0x14004d795
call fcn.1400e48a0
mov qword [rsp + 0x100], rax
movabs rax, 0x8000000000000000
cmp r12, rax
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x150], rsi
jne 0x14004d7d0
xor esi, esi
jmp 0x14004d9d0
cmp r15, 0x10
jae 0x14004d807
test r15, r15
je 0x14004d8b2
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rdi + rax], 0
je 0x14004e54f
inc rax
cmp r15, rax
jne 0x14004d7f0
jmp 0x14004d8b2
lea rax, [rdi + 7]
and rax, 0xfffffffffffffff8
sub rax, rdi
jne 0x14004d81c
lea rcx, [r15 - 0x10]
xor eax, eax
jmp 0x14004d860
cmp rax, r15
cmovae rax, r15
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [rdi + rcx], 0
je 0x14004e54f
inc rcx
cmp rax, rcx
jne 0x14004d830
lea rcx, [r15 - 0x10]
cmp rax, rcx
jbe 0x14004d860
jmp 0x14004d8ad
mov rcx, rsi
call fcn.1400ee0e0
jmp 0x14004d678
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 0x14004d8ad
add rax, 0x10
cmp rax, rcx
jbe 0x14004d860
jmp 0x14004d8ad
cmp byte [rdi + rax], 0
je 0x14004e54f
inc rax
cmp r15, rax
jne 0x14004d8a0
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], r15
mov rsi, rdi
cmp r12, r15
jne 0x14004d94d
mov r12, r15
inc r12
je 0x14004e54f
test r15, r15
je 0x14004d8fa
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xe0], r15
mov eax, 1
jmp 0x14004d8fc
xor eax, eax
mov rdx, r12
not rdx
shr rdx, 0x3f
mov qword [rsp + 0xd8], rax
lea rcx, [rsp + 0x130]
mov r8, r12
lea r9, [rsp + 0xd0]
call fcn.1400367e0
cmp qword [rsp + 0x130], 0
jne 0x14004e546
mov rsi, qword [rsp + 0x138]
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], r12
mov rdi, r15
cmp r15, r12
jne 0x14004d97d
lea rcx, [rsp + 0xb0]
mov rdx, r15
call fcn.140036880
mov rdi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov byte [rsi + rdi], 0
inc rdi
mov qword [rsp + 0xc0], rdi
cmp r12, rdi
jbe 0x14004d9d0
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rsi
test rdi, rdi
je 0x14004d9b7
mov r9, rdi
call sub.KERNEL32.dll_HeapReAlloc
mov rsi, rax
test rax, rax
jne 0x14004d9d0
jmp 0x14004e54f
call fcn.140102ef8
mov esi, 1
nop word cs:[rax + rax]
movzx eax, byte [0x141936118]
mov edx, 0x30
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov r12, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x141936090]
nop dword [rax]
mov rcx, rax
inc rcx
je 0x14004e54f
lock cmpxchg qword [0x141936090], rcx
jne 0x14004da10
mov qword [r12 + 0x10], rcx
mov byte [r12 + 0x28], 0
lock inc qword [r12]
jle 0x14004e54f
movzx eax, byte [0x141936118]
mov edx, 0x30
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
mov qword [rsp + 0xd0], rax
lock inc qword [rax]
jle 0x14004e54f
movzx eax, byte [0x1419360a8]
test al, al
je 0x14004daf0
mov byte [0x1419360a8], 1
call fcn.1400e0ac0
test rax, rax
je 0x14004e54f
mov rsi, qword [rax]
mov qword [rax], 0
test rsi, rsi
je 0x14004daf0
lock inc qword [rsi]
jle 0x14004e54f
mov byte [0x1419360a8], 1
call fcn.1400e0ac0
test rax, rax
je 0x14004e536
mov rcx, qword [rax]
mov qword [rax], rsi
test rcx, rcx
mov qword [rsp + 0x110], rsi
jne 0x14004db2d
jmp 0x14004db38
movzx eax, byte [0x1419360a8]
test al, al
je 0x14004dc7b
mov byte [0x1419360a8], 1
call fcn.1400e0ac0
test rax, rax
je 0x14004e54f
mov rcx, qword [rax]
mov qword [rax], 0
xor esi, esi
test rcx, rcx
mov qword [rsp + 0x110], rsi
je 0x14004db38
lock dec qword [rcx]
jne 0x14004db38
call fcn.1400f8ab0
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x14004db54
lock inc qword [rcx + 0x18]
jle 0x14004e529
movzx eax, byte [0x141936118]
mov edx, pe_nt_image_headers64
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov qword [rax], r12
mov qword [rax + 8], rdi
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x120]
mov qword [rax + 0x18], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 0x20], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 0x28], rcx
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x128]
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 + 0x100]
mov rdx, rax
lea r8, [0x1418d2818]
call fcn.1400e0890
test rax, rax
jne 0x14004e2e1
mov qword [rsp + 0x100], r15
mov qword [rsp + 0x160], r12
mov qword [rsp + 0x168], rsi
mov qword [rsp + 0x170], rdx
mov rcx, rdx
call sub.KERNEL32.dll_CloseHandle
lock dec qword [r12]
jne 0x14004dc4f
mov rcx, qword [rsp + 0x160]
call fcn.14004fd00
mov rax, qword [rsp + 0x168]
lock dec qword [rax]
mov r15, qword [rsp + 0x90]
jne 0x14004d3f0
lea rcx, [rsp + 0x168]
call fcn.14004fd60
jmp 0x14004d3f0
xor eax, eax
mov qword [rsp + 0x110], rax
mov rsi, qword [rsp + 0xd0]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x14004db49
jmp 0x14004db54
mov rax, qword [rsp + 0x200]
lock dec qword [rax]
jne 0x14004dcba
lea rcx, [rsp + 0x200]
call fcn.14004fa60
mov r13, r15
sub r14, rbx
je 0x14004dcec
shr r14, 5
jmp 0x14004dcd9
add rbx, 0x20
dec r14
je 0x14004dcec
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x14004dcd0
mov rcx, rbx
call fcn.14004fa60
jmp 0x14004dcd0
cmp qword [rsp + 0x108], 0
je 0x14004dd0d
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, qword [rsp + 0xa0]
call fcn.140102ef8
sub r15, r13
je 0x14004dd3d
shr r15, 4
jmp 0x14004dd29
add r13, 0x10
dec r15
je 0x14004dd3d
mov rax, qword [r13]
lock dec qword [rax]
jne 0x14004dd20
mov rcx, r13
call fcn.14004fa60
jmp 0x14004dd20
cmp qword [rsp + 0xf0], 0
je 0x14004dd5e
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, qword [rsp + 0xe8]
call fcn.140102ef8
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 8], rcx
mov qword [rax], 3
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x14004ddb6
mov rdi, qword [rbx + 0x20]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14004ddb6
cmp qword [rdi + 0x10], 0x11
jb 0x14004dda5
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rsi
call fcn.140102ef8
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x14004ddeb
mov rdi, qword [rbx + 0x30]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14004ddeb
cmp qword [rdi + 0x10], 0x11
jb 0x14004ddda
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rsi
call fcn.140102ef8
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x14004de20
mov rdi, qword [rbx + 0x40]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14004de20
cmp qword [rdi + 0x10], 0x11
jb 0x14004de0f
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rsi
call fcn.140102ef8
mov rsi, qword [rbx + 0x48]
test rsi, rsi
je 0x14004de55
mov rdi, qword [rbx + 0x50]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14004de55
cmp qword [rdi + 0x10], 0x11
jb 0x14004de44
mov rsi, qword [rsi - 8]
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, rsi
call fcn.140102ef8
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
lea rcx, [rsp + 0x200]
xor edx, edx
mov r8, rdi
call fcn.140050890
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
cmp rax, rdi
jb 0x14004e4f5
xorps xmm6, xmm6
jmp 0x14004deec
mov rbx, qword [rsp + 0x220]
mov rax, r14
shl rax, 4
mov qword [rbx + rax], r15
mov byte [rbx + rax + 8], r12b
inc r14
mov qword [rsp + 0x228], r14
dec rdi
je 0x14004c988
mov ecx, 0x40
call fcn.14004f4c0
mov rbx, rax
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
mov r14, rax
test r13b, r13b
je 0x14004df60
test r14, r14
je 0x14004e54f
mov qword [r14], rbx
mov qword [r14 + 8], 0x40
movzx eax, byte [0x141936118]
mov edx, 0x200
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov r15, rax
and r15, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
xor r12d, r12d
jmp 0x14004df9e
test r14, r14
je 0x14004e54f
mov qword [r14], rbx
mov qword [r14 + 8], 0x40
movzx eax, byte [0x141936118]
mov edx, 0x200
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov r15, rax
and r15, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
mov r12b, 1
mov qword [r15 - 8], rax
mov qword [r15], 1
mov qword [r15 + 8], 1
mov qword [r15 + 0x80], r14
movaps xmmword [r15 + 0x100], xmm6
lock inc qword [r15]
jle 0x14004e54f
mov rdx, qword [rsp + 0x210]
cmp rdx, qword [rsp + 0x200]
jne 0x14004dff1
lea rcx, [rsp + 0x200]
call fcn.140050390
mov rdx, qword [rsp + 0x210]
mov rax, qword [rsp + 0x208]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r15
mov qword [rax + rcx + 8], rbx
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], r12b
inc rdx
mov qword [rsp + 0x210], rdx
mov r14, qword [rsp + 0x228]
cmp r14, qword [rsp + 0x218]
jne 0x14004dec0
lea rcx, [rsp + 0x218]
mov rdx, r14
call fcn.140050430
mov r14, qword [rsp + 0x228]
jmp 0x14004dec0
mov qword [rsp + 0x80], r15
lea rcx, [rsp + 0x200]
xor edx, edx
mov r15, qword [rsp + 0x88]
mov r8, r15
call fcn.140050890
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x228]
sub rax, rdx
mov rdi, r15
cmp rax, r15
jae 0x14004e0dc
lea rcx, [rsp + 0x218]
mov rdi, qword [rsp + 0x88]
mov r8, rdi
call fcn.1400d6da0
jmp 0x14004e0dc
mov rcx, qword [rsp + 0x220]
mov rax, rdx
shl rax, 4
mov qword [rcx + rax], r13
mov byte [rcx + rax + 8], 0
inc rdx
mov qword [rsp + 0x228], rdx
dec rdi
je 0x14004e1fe
mov ecx, 0x40
call fcn.14004f4c0
mov r15, rax
movzx eax, byte [0x141936118]
mov edx, 0x10
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov r12, rax
mov qword [rax], r15
mov qword [rax + 8], 0x40
movzx eax, byte [0x141936118]
mov edx, 0x200
xor ecx, ecx
call fcn.1400dee70
test rax, rax
je 0x14004e54f
mov r13, rax
and r13, 0xffffffffffffff80
mov qword [r13 + 0x78], rax
mov qword [r13 + 0x80], 1
mov qword [r13 + 0x88], 1
mov qword [r13 + 0x100], r12
pxor xmm0, xmm0
movdqa xmmword [r13 + 0x180], xmm0
lock inc qword [r13 + 0x80]
jle 0x14004e54f
mov rdx, qword [rsp + 0x210]
cmp rdx, qword [rsp + 0x200]
jne 0x14004e199
lea rcx, [rsp + 0x200]
call fcn.140050390
mov rdx, qword [rsp + 0x210]
sub r13, 0xffffffffffffff80
mov rax, qword [rsp + 0x208]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov qword [rax + rcx + 8], r15
mov qword [rax + rcx + 0x10], 0x40
mov byte [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0x210], rdx
mov rdx, qword [rsp + 0x228]
cmp rdx, qword [rsp + 0x218]
jne 0x14004e0b0
lea rcx, [rsp + 0x218]
call fcn.140050430
mov rdx, qword [rsp + 0x228]
jmp 0x14004e0b0
mov r13, rcx
mov qword [rsp + 0x90], rdx
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0xf0], rax
mov r15, qword [rsp + 0x80]
jmp 0x14004ca20
mov rax, qword [rsp + 0xf8]
mov qword [rax], 1
movabs rax, 0x8000000000000000
cmp rcx, rax
je 0x14004e25f
test rcx, rcx
je 0x14004e25f
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x141936088]
xor edx, edx
call fcn.140102ef8
mov rax, qword [rsp + 0x1b0]
lock dec qword [rax]
jne 0x14004e2b1
lea rcx, [rsp + 0x1b0]
call fcn.14004fa60
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
je 0x14004e2bf
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
jne 0x14004e2da
mov rcx, qword [rsp + 0x1d0]
call fcn.14004fad0
sub r14, rbx
jne 0x14004e32f
jmp 0x14004e35c
mov rax, qword [rsp + 0x1a0]
lock dec qword [rax]
jne 0x14004e288
lea rcx, [rsp + 0x1a0]
call fcn.14004fa60
mov rax, qword [rsp + 0x1d0]
lock dec qword [rax]
je 0x14004e296
sub r14, rbx
jne 0x14004e32f
jmp 0x14004e35c
lock dec qword [rsi]
jne 0x14004e2fa
lea rcx, [rsp + 0xd0]
mov rsi, rdx
call fcn.14004fd60
mov rdx, rsi
lock dec qword [r12]
jne 0x14004e30f
mov rcx, r12
mov rsi, rdx
call fcn.14004fd00
mov rdx, rsi
mov rax, qword [rsp + 0xf8]
mov qword [rax], 2
mov qword [rax + 8], rdx
mov r15, qword [rsp + 0x90]
sub r14, rbx
je 0x14004e35c
shr r14, 5
jmp 0x14004e349
add rbx, 0x20
dec r14
je 0x14004e35c
mov rax, qword [rbx]
lock dec qword [rax]
jne 0x14004e340
mov rcx, rbx
call fcn.14004fa60
jmp 0x14004e340
cmp qword [rsp + 0x108], 0
je 0x14004e37d
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, qword [rsp + 0xa0]
call fcn.140102ef8
sub r15, r13
mov rsi, qword [rsp + 0x148]
je 0x14004e3ad
shr r15, 4
jmp 0x14004e399
add r13, 0x10
dec r15
je 0x14004e3ad
mov rax, qword [r13]
lock dec qword [rax]
jne 0x14004e390
mov rcx, r13
call fcn.14004fa60
jmp 0x14004e390
cmp qword [rsp + 0xf0], 0
je 0x14004e3ce
mov rcx, qword [0x141936088]
xor edx, edx
mov r8, qword [rsp + 0xe8]
call fcn.140102ef8
lock dec qword [rsi]
mov r15, qword [rsp + 0x80]
jne 0x14004e4bc
mov rax, qword [r15 + 0x208]
test rax, rax
je 0x14004e4bc
mov rdi, qword [r15 + 0x200]
shl rax, 3
lea rbx, [rax + rax*4]
mov r14d, 4
xor r12d, r12d
xor r13d, r13d
jmp 0x14004e424
add r12, 0x28
sub r14, 0xffffffffffffff80
inc r13
cmp rbx, r12
je 0x14004e4bc
mov eax, 3
xchg qword [rdi + r12 + 0x10], rax
cmp rax, 2
jne 0x14004e410
cmp qword [r15 + 0x1e8], r13
jbe 0x14004e54f
mov r15, qword [r15 + 0x1e0]
lea rsi, [r15 + r14]
xor eax, eax
mov cl, 1
lock cmpxchg byte [r15 + r14], cl
jne 0x14004e4aa
cmp byte [r15 + r14 + 1], 0
je 0x14004e489
lea rcx, [r15 + r14]
add rcx, 0xfffffffffffffffc
mov byte [r15 + r14 + 1], 0
lock inc dword [r15 + r14 - 4]
call fcn.14010bbb8
mov rax, qword [rsp + 0x80]
lock dec qword [rax + 0x1f0]
xor eax, eax
xchg byte [rsi], al
cmp al, 2
mov r15, qword [rsp + 0x80]
jne 0x14004e410
mov rcx, rsi
call fcn.14010bbb8
jmp 0x14004e410
mov rcx, rsi
call fcn.1400ee0e0
cmp byte [r15 + r14 + 1], 0
jne 0x14004e460
jmp 0x14004e489
lock dec qword [r15]
mov rbx, qword [rsp + 0x98]
jne 0x14004dd81
mov rcx, r15
call fcn.14004fad0
jmp 0x14004dd81
lea rcx, [rsp + 0x200]
call fcn.14004f430
mov rdx, qword [rsp + 0x210]
jmp 0x14004cc9d
lea rcx, [rsp + 0x218]
mov r8, rdi
call fcn.1400d6da0
jmp 0x14004dead
shl rcx, 1
test rcx, rcx
je 0x14004c8d4
mov rcx, qword [0x141936088]
xor edx, edx
call fcn.140102ef8
jmp 0x14004c8d4
add rcx, 0x10
xor edx, edx
call fcn.1400e9da0
ud2
lock dec qword [rsi]
jne 0x14004e54f
mov rcx, rsi
call fcn.1400ed200
ud2
cmp qword [rsp + 0x138], 0
ud2