Function at 0x1400d2bb0
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov qword [rsp + 0x30], rcx
lea rcx, [0x140cb9c30]
test cl, 0xf
jne 0x1400d2c04
lea rax, [0x140cb9c40]
lea rdx, [0x140cc7450]
cmp rdx, rax
cmova rax, rdx
mov rdx, rcx
not rdx
lea r8, [rdx + rax]
add r8, 0x10
and r8, 0xfffffffffffffff0
xor edx, edx
call sub.msvcrt.dll_memset
jmp 0x1400d2c5c
xor eax, eax
nop word cs:[rax + rax]
mov byte [rax + rcx], 0
mov byte [rax + rcx + 1], 0
mov byte [rax + rcx + 2], 0
mov byte [rax + rcx + 3], 0
mov byte [rax + rcx + 4], 0
mov byte [rax + rcx + 5], 0
mov byte [rax + rcx + 6], 0
mov byte [rax + rcx + 7], 0
mov byte [rax + rcx + 8], 0
mov byte [rax + rcx + 9], 0
mov byte [rax + rcx + 0xa], 0
mov byte [rax + rcx + 0xb], 0
mov byte [rax + rcx + 0xc], 0
add rax, 0xd
cmp rax, 0xd820
jne 0x1400d2c10
mov al, byte [0x140d484c0]
test al, al
jne 0x1400d2ca1
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d3e0c
cmp byte [0x140d484c0], 0
jne 0x1400d2c9a
lea rcx, [0x140cc7480]
mov edx, 0xffffffff
xor r8d, r8d
call fcn.1400f9b00
mov byte [0x140d484c0], 1
mov byte [0x140d484c1], 0
movabs rsi, 0x1000000000000000
lea rcx, [0x140cb9c30]
lea rdx, [0x140d48488]
call fcn.1400fd960
mov r10, qword [rsp + 0x30]
mov rax, qword [r10 + 0xa00028]
lea rcx, [r10 + 0xa00030]
mov qword [rsp + 0x40], rcx
mov rdx, 0xffffffffffffffff
xor ecx, ecx
lea rbx, [rsi + 0xfffff]
movabs r14, 0x10000000000
lea r12, [rsp + 0x58]
movabs r15, 0xdfffffffffffffff
movabs rdi, 0x2000000000000000
nop dword [rax]
test rax, rbx
jne 0x1400d2d33
mov rbp, rax
or rbp, rsi
and rbp, rdx
lock cmpxchg qword [r10 + 0xa00028], rbp
je 0x1400d2dc9
add rcx, 1
jmp 0x1400d2d10
cmp rcx, 0x5dc
jbe 0x1400d2d8e
lea r8, [rax + r14]
and r8, rdx
lock cmpxchg qword [r10 + 0xa00028], r8
jne 0x1400d2d2d
mov rcx, qword [rsp + 0x40]
jmp 0x1400d2d7b
mov dword [rsp + 0x58], 0
mov r8d, 4
mov rdx, r12
mov r9d, 0xffffffff
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
mov rcx, qword [rsp + 0x40]
mov r10, qword [rsp + 0x30]
mov eax, dword [rcx]
test eax, eax
je 0x1400d2d55
lea edx, [rax - 1]
lock cmpxchg dword [rcx], edx
jne 0x1400d2d7d
xor ecx, ecx
jmp 0x1400d2da6
bt rax, 0x3d
jb 0x1400d2db9
mov r8, rax
or r8, rdi
lock cmpxchg qword [r10 + 0xa00028], r8
jne 0x1400d2d2d
mov rax, qword [r10 + 0xa00028]
add rcx, 1
mov rdx, r15
jmp 0x1400d2d10
mov rax, qword [r10 + 0xa00028]
add rcx, 1
jmp 0x1400d2d10
mov rax, qword [r10 + 0xa00040]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400d3bf6
lea rcx, [0x140d074d0]
lea rax, [0x140d08240]
cmp rax, rcx
cmova rcx, rax
lea rdi, [0x140cc7480]
sub rcx, rdi
add rcx, 0xfffffffffffbffcf
and rcx, 0xffffffffffffffd0
mov qword [rsp + 0x48], rcx
xor r8d, r8d
jmp 0x1400d2e2f
add r8, 1
cmp r8, qword [rsp + 0x50]
je 0x1400d3bf6
xor r13d, r13d
test r8, r8
sete r13b
mov qword [rsp + 0x38], r8
jmp 0x1400d2e6f
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rax, [r12 + r14]
add rax, 0x48
mov qword [rax], 0
mov dword [r12 + r14 + 0x20], 0x3fffff00
add r13, 1
cmp r13, 0x400
je 0x1400d2e20
mov r12, qword [r10 + r8*8 + 0x200028]
imul r14, r13, 0x58
mov r15, qword [r12 + r14 + 0x50]
test r15, r15
je 0x1400d3397
mov al, byte [0x140d484c0]
test al, al
je 0x1400d2eb0
movabs rax, 0x7fffffffffff
cmp r15, rax
jbe 0x1400d3132
jmp 0x1400d3280
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d31f0
cmp byte [0x140d484c0], 0
jne 0x1400d3118
mov byte [0x140d48488], 0
mov byte [0x140d48489], 0
mov byte [0x140d4848a], 0
mov byte [0x140d4848b], 0
mov byte [0x140d4848c], 0
mov byte [0x140d4848d], 0
mov byte [0x140d4848e], 0
mov byte [0x140d4848f], 0
mov byte [0x140d48490], 0
mov byte [0x140d48491], 0
mov byte [0x140d48492], 0
mov byte [0x140d48493], 0
mov byte [0x140d48494], 0
mov byte [0x140d48495], 0
mov byte [0x140d48496], 0
mov byte [0x140d48497], 0
mov byte [0x140d48498], 0
mov byte [0x140d48499], 0
mov byte [0x140d4849a], 0
mov byte [0x140d4849b], 0
mov byte [0x140d4849c], 0
mov byte [0x140d4849d], 0
mov byte [0x140d4849e], 0
mov byte [0x140d4849f], 0
mov byte [0x140d484a0], 0
mov byte [0x140d484a1], 0
mov byte [0x140d484a2], 0
mov byte [0x140d484a3], 0
mov byte [0x140d484a4], 0
mov byte [0x140d484a5], 0
mov byte [0x140d484a6], 0
mov byte [0x140d484a7], 0
mov byte [0x140d484a8], 0
mov byte [0x140d484a9], 0
mov byte [0x140d484aa], 0
mov byte [0x140d484ab], 0
mov byte [0x140d484ac], 0
mov byte [0x140d484ad], 0
mov byte [0x140d484ae], 0
mov byte [0x140d484af], 0
lea rax, [0x140d48488]
mov qword [0x140d48488], rax
mov qword [0x140d48490], rax
mov byte [0x140cc7480], 0
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax + rdi + 8], 0
mov byte [rax + rdi + 9], 0
mov byte [rax + rdi + 0xa], 0
mov byte [rax + rdi + 0xb], 0
mov byte [rax + rdi + 0xc], 0
mov byte [rax + rdi + 0xd], 0
mov byte [rax + rdi + 0xe], 0
mov byte [rax + rdi + 0xf], 0
add rax, 8
cmp rax, 0x40000
jne 0x1400d3010
lea rcx, [0x140d074c0]
xor edx, edx
mov r8, qword [rsp + 0x48]
call sub.msvcrt.dll_memset
mov rax, 0xfffffffffffbfdb8
nop
mov byte [rax + rdi + 0x81008], 0
mov byte [rax + rdi + 0x81009], 0
mov byte [rax + rdi + 0x8100a], 0
mov byte [rax + rdi + 0x8100b], 0
mov byte [rax + rdi + 0x8100c], 0
mov byte [rax + rdi + 0x8100d], 0
mov byte [rax + rdi + 0x8100e], 0
mov byte [rax + rdi + 0x8100f], 0
mov byte [rax + rdi + 0x81010], 0
mov byte [rax + rdi + 0x81011], 0
mov byte [rax + rdi + 0x81012], 0
mov byte [rax + rdi + 0x81013], 0
add rax, 0xc
jne 0x1400d3060
mov rax, qword [0x140d484d8]
test rax, rax
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jne 0x1400d30fc
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov eax, dword [rsp + 0x5c]
mov qword [0x140d484d8], rax
mov qword [0x140d08240], rax
lea rax, [0x140d08250]
mov qword [0x140d08248], rax
mov byte [0x140d484c0], 1
mov byte [0x140d484c1], 0
movabs rax, 0x7fffffffffff
cmp r15, rax
ja 0x1400d3280
mov rbp, r15
shr rbp, 0x20
mov rax, qword [rdi + rbp*8 + 8]
test rax, rax
je 0x1400d3280
mov rbx, r15
shr rbx, 0x14
mov rax, qword [rdi + rbp*8 + 8]
test rax, rax
je 0x1400d324c
and ebx, 0xfff
cmp byte [rax + rbx], 0
je 0x1400d3280
mov rax, qword [rdi + rbp*8 + 8]
test rax, rax
je 0x1400d3dc7
mov rax, qword [rdi + rbp*8 + 8]
test rax, rax
je 0x1400d395c
movzx r9d, byte [rax + rbx]
test r9, r9
je 0x1400d3dc7
cmp r9b, 0x36
jae 0x1400d3deb
mov rbp, r9
shl rbp, 0xa
lea rax, [0x140cb9c30]
lea rsi, [rax + rbp]
mov rcx, qword [rbp + rax + 8]
test rcx, rcx
je 0x1400d3984
mov rax, qword [rsi]
cmp rax, rcx
je 0x1400d3aa8
lea rcx, [rax + 1]
mov qword [rsi], rcx
mov qword [rsi + rax*8 + 0x20], r15
lea rax, [0x140cb9c30]
mov rax, qword [rbp + rax + 0x10]
sub qword [0x140cc7440], rax
jmp 0x1400d3388
xor esi, esi
jmp 0x1400d3203
add esi, 1
cmp esi, 0x63
ja 0x1400d3220
pause
cmp byte [0x140d484c1], 0
jne 0x1400d3200
jmp 0x1400d323b
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
cmp byte [0x140d484c1], 0
jne 0x1400d3200
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d3200
jmp 0x1400d2ec0
mov rcx, rdi
mov rdx, rbp
call fcn.140103c60
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
and ebx, 0xfff
cmp byte [rax + rbx], 0
jne 0x1400d316c
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rax, qword [0x140d08240]
lea rcx, [rax - 1]
test rcx, r15
jne 0x1400d3d3b
sub r15, rax
mov al, 1
xchg byte [0x140d48480], al
test al, al
jne 0x1400d3712
mov r9, qword [r15 + 0x18]
mov rcx, qword [0x140d08248]
mov rax, qword [rcx + r9*8]
cmp rax, r15
jne 0x1400d3d7c
mov rax, qword [0x140d48250]
cmp r9, rax
jae 0x1400d3d5f
lea rdx, [rax - 1]
mov qword [0x140d48250], rdx
mov rax, qword [rcx + rax*8 - 8]
mov qword [rcx + r9*8], rax
mov rax, qword [0x140d08248]
mov rax, qword [rax + r9*8]
mov qword [rax + 0x18], r9
mov byte [0x140d48258], 0
add qword [0x140d48268], 1
mov rax, qword [r15 + 8]
sub qword [0x140d48270], rax
sub qword [0x140d48498], rax
sub qword [0x140d484a0], rax
mov byte [0x140d48480], 0
mov rbp, qword [r15]
test rbp, rbp
je 0x1400d3388
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x1400d3388
mov r8d, 0x30
mov rcx, rbp
lea rdx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1400d3da3
mov rcx, rbp
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x1400d337e
mov rcx, rbp
mov rdx, rbx
mov r8d, 0x4000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
je 0x1400d3ea2
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
lea rax, [r12 + r14]
add rax, 0x50
mov qword [rax], 0
mov rsi, qword [r12 + r14 + 0x48]
test rsi, rsi
je 0x1400d2e59
mov al, byte [0x140d484c0]
test al, al
je 0x1400d33d0
movabs rax, 0x7fffffffffff
cmp rsi, rax
jbe 0x1400d3652
jmp 0x1400d37f0
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d376c
cmp byte [0x140d484c0], 0
jne 0x1400d3638
mov byte [0x140d48488], 0
mov byte [0x140d48489], 0
mov byte [0x140d4848a], 0
mov byte [0x140d4848b], 0
mov byte [0x140d4848c], 0
mov byte [0x140d4848d], 0
mov byte [0x140d4848e], 0
mov byte [0x140d4848f], 0
mov byte [0x140d48490], 0
mov byte [0x140d48491], 0
mov byte [0x140d48492], 0
mov byte [0x140d48493], 0
mov byte [0x140d48494], 0
mov byte [0x140d48495], 0
mov byte [0x140d48496], 0
mov byte [0x140d48497], 0
mov byte [0x140d48498], 0
mov byte [0x140d48499], 0
mov byte [0x140d4849a], 0
mov byte [0x140d4849b], 0
mov byte [0x140d4849c], 0
mov byte [0x140d4849d], 0
mov byte [0x140d4849e], 0
mov byte [0x140d4849f], 0
mov byte [0x140d484a0], 0
mov byte [0x140d484a1], 0
mov byte [0x140d484a2], 0
mov byte [0x140d484a3], 0
mov byte [0x140d484a4], 0
mov byte [0x140d484a5], 0
mov byte [0x140d484a6], 0
mov byte [0x140d484a7], 0
mov byte [0x140d484a8], 0
mov byte [0x140d484a9], 0
mov byte [0x140d484aa], 0
mov byte [0x140d484ab], 0
mov byte [0x140d484ac], 0
mov byte [0x140d484ad], 0
mov byte [0x140d484ae], 0
mov byte [0x140d484af], 0
lea rax, [0x140d48488]
mov qword [0x140d48488], rax
mov qword [0x140d48490], rax
mov byte [0x140cc7480], 0
xor eax, eax
nop word cs:[rax + rax]
nop dword [rax]
mov byte [rax + rdi + 8], 0
mov byte [rax + rdi + 9], 0
mov byte [rax + rdi + 0xa], 0
mov byte [rax + rdi + 0xb], 0
mov byte [rax + rdi + 0xc], 0
mov byte [rax + rdi + 0xd], 0
mov byte [rax + rdi + 0xe], 0
mov byte [rax + rdi + 0xf], 0
add rax, 8
cmp rax, 0x40000
jne 0x1400d3530
lea rcx, [0x140d074c0]
xor edx, edx
mov r8, qword [rsp + 0x48]
call sub.msvcrt.dll_memset
mov rax, 0xfffffffffffbfdb8
nop
mov byte [rax + rdi + 0x81008], 0
mov byte [rax + rdi + 0x81009], 0
mov byte [rax + rdi + 0x8100a], 0
mov byte [rax + rdi + 0x8100b], 0
mov byte [rax + rdi + 0x8100c], 0
mov byte [rax + rdi + 0x8100d], 0
mov byte [rax + rdi + 0x8100e], 0
mov byte [rax + rdi + 0x8100f], 0
mov byte [rax + rdi + 0x81010], 0
mov byte [rax + rdi + 0x81011], 0
mov byte [rax + rdi + 0x81012], 0
mov byte [rax + rdi + 0x81013], 0
add rax, 0xc
jne 0x1400d3580
mov rax, qword [0x140d484d8]
test rax, rax
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jne 0x1400d361c
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov eax, dword [rsp + 0x5c]
mov qword [0x140d484d8], rax
mov qword [0x140d08240], rax
lea rax, [0x140d08250]
mov qword [0x140d08248], rax
mov byte [0x140d484c0], 1
mov byte [0x140d484c1], 0
movabs rax, 0x7fffffffffff
cmp rsi, rax
ja 0x1400d37f0
mov rbx, rsi
shr rbx, 0x20
mov rax, qword [rdi + rbx*8 + 8]
test rax, rax
je 0x1400d37f0
mov rbp, rsi
shr rbp, 0x14
mov rax, qword [rdi + rbx*8 + 8]
test rax, rax
je 0x1400d37bc
and ebp, 0xfff
cmp byte [rax + rbp], 0
je 0x1400d37f0
mov rax, qword [rdi + rbx*8 + 8]
test rax, rax
je 0x1400d3dc7
mov rax, qword [rdi + rbx*8 + 8]
test rax, rax
je 0x1400d3a67
movzx r9d, byte [rax + rbp]
test r9, r9
je 0x1400d3dc7
cmp r9b, 0x36
jae 0x1400d3deb
mov rbx, r9
shl rbx, 0xa
lea rax, [0x140cb9c30]
lea rbp, [rax + rbx]
mov rcx, qword [rbx + rax + 8]
test rcx, rcx
je 0x1400d3acc
mov rax, qword [rbp]
cmp rax, rcx
je 0x1400d3bd1
lea rcx, [rax + 1]
mov qword [rbp], rcx
mov qword [rbp + rax*8 + 0x20], rsi
lea rax, [0x140cb9c30]
mov rax, qword [rbx + rax + 0x10]
sub qword [0x140cc7440], rax
jmp 0x1400d2e4a
xor esi, esi
jmp 0x1400d3723
add esi, 1
cmp esi, 0x63
ja 0x1400d3740
pause
cmp byte [0x140d48480], 0
jne 0x1400d3720
jmp 0x1400d375b
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
cmp byte [0x140d48480], 0
jne 0x1400d3720
mov al, 1
xchg byte [0x140d48480], al
test al, al
jne 0x1400d3720
jmp 0x1400d32a7
xor ebx, ebx
jmp 0x1400d3773
add ebx, 1
cmp ebx, 0x63
ja 0x1400d3790
pause
cmp byte [0x140d484c1], 0
jne 0x1400d3770
jmp 0x1400d37ab
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
cmp byte [0x140d484c1], 0
jne 0x1400d3770
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d3770
jmp 0x1400d33e0
mov rcx, rdi
mov rdx, rbx
call fcn.140103c60
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
and ebp, 0xfff
cmp byte [rax + rbp], 0
jne 0x1400d368c
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rax, qword [0x140d08240]
lea rcx, [rax - 1]
test rcx, rsi
jne 0x1400d3d3b
sub rsi, rax
mov al, 1
xchg byte [0x140d48480], al
test al, al
jne 0x1400d38ff
mov r9, qword [rsi + 0x18]
mov rcx, qword [0x140d08248]
mov rax, qword [rcx + r9*8]
cmp rax, rsi
jne 0x1400d3d83
mov rax, qword [0x140d48250]
cmp r9, rax
jae 0x1400d3d5f
lea rdx, [rax - 1]
mov qword [0x140d48250], rdx
mov rax, qword [rcx + rax*8 - 8]
mov qword [rcx + r9*8], rax
mov rax, qword [0x140d08248]
mov rax, qword [rax + r9*8]
mov qword [rax + 0x18], r9
mov byte [0x140d48258], 0
add qword [0x140d48268], 1
mov rax, qword [rsi + 8]
sub qword [0x140d48270], rax
sub qword [0x140d48498], rax
sub qword [0x140d484a0], rax
mov byte [0x140d48480], 0
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400d2e4a
mov rbp, qword [rsi + 8]
test rbp, rbp
je 0x1400d2e4a
mov r8d, 0x30
mov rcx, rbx
lea rdx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1400d3da3
mov rcx, rbx
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x1400d2e40
mov rcx, rbx
mov rdx, rbp
mov r8d, 0x4000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test eax, eax
jne 0x1400d2e40
jmp 0x1400d3eca
xor ebx, ebx
jmp 0x1400d3913
add ebx, 1
cmp ebx, 0x63
ja 0x1400d3930
pause
cmp byte [0x140d48480], 0
jne 0x1400d3910
jmp 0x1400d394b
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
cmp byte [0x140d48480], 0
jne 0x1400d3910
mov al, 1
xchg byte [0x140d48480], al
test al, al
jne 0x1400d3910
jmp 0x1400d3817
mov rcx, rdi
mov rdx, rbp
call fcn.140103c60
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
movzx r9d, byte [rax + rbx]
test r9, r9
jne 0x1400d3196
jmp 0x1400d3dc7
lea rax, [0x140cb9c30]
lea rbx, [rax + rbp]
add rbx, 8
mov r10d, 0x10
mov r11, 0xfffffffffffffff1
lea r8, [0x140cba048]
jmp 0x1400d39cc
mov qword [r8], rax
add r10, 0x10
add r11, 1
add r8, 0x400
cmp r11, 0x26
je 0x1400d3a8f
mov ecx, 0x200
cmp r11, 0x25
je 0x1400d3a07
lea rax, [r11 + 0x10]
mov rcx, r10
cmp rax, 0x11
jb 0x1400d3a07
mov rcx, r11
shr rcx, 2
mov edx, 0x100
shl rdx, cl
mov rcx, rdx
shr rcx, 2
and eax, 3
imul rax, rcx
add rax, rdx
mov rcx, rax
mov eax, 0x4000
xor edx, edx
div ecx
cmp eax, 0x40
jae 0x1400d3a50
test rax, rax
je 0x1400d3a5a
cmp rax, 0x3e
jb 0x1400d3a25
mov eax, 0x3e
lea rdx, [rax + rax]
mov qword [r8 - 0x10], rdx
mov qword [r8 - 8], rcx
lea rdx, [rax*8 + 0x10]
mov eax, 0x14
cmp rcx, rdx
jb 0x1400d39b0
xor eax, eax
jmp 0x1400d39b0
mov eax, 0x40
test rax, rax
jne 0x1400d3a1a
mov eax, 1
cmp rax, 0x3e
jae 0x1400d3a20
jmp 0x1400d3a25
mov rcx, rdi
mov rdx, rbx
call fcn.140103c60
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
movzx r9d, byte [rax + rbp]
test r9, r9
jne 0x1400d36b6
jmp 0x1400d3dc7
mov rcx, qword [rbx]
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov rax, qword [rsi]
cmp rax, rcx
jne 0x1400d31cc
lea rcx, [0x140cb9c30]
mov rdx, rsi
mov r8, rdi
call fcn.1400fdb00
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov rax, qword [rsi]
jmp 0x1400d31cc
lea rax, [0x140cb9c30]
lea r15, [rbx + rax]
add r15, 8
mov r10d, 0x10
mov r11, 0xfffffffffffffff1
lea r8, [0x140cba048]
jmp 0x1400d3b1c
mov qword [r8], rax
add r10, 0x10
add r11, 1
add r8, 0x400
cmp r11, 0x26
je 0x1400d3bb7
mov ecx, 0x200
cmp r11, 0x25
je 0x1400d3b57
lea rax, [r11 + 0x10]
mov rcx, r10
cmp rax, 0x11
jb 0x1400d3b57
mov rcx, r11
shr rcx, 2
mov edx, 0x100
shl rdx, cl
mov rcx, rdx
shr rcx, 2
and eax, 3
imul rax, rcx
add rax, rdx
mov rcx, rax
mov eax, 0x4000
xor edx, edx
div ecx
cmp eax, 0x40
jae 0x1400d3ba0
test rax, rax
je 0x1400d3baa
cmp rax, 0x3e
jb 0x1400d3b75
mov eax, 0x3e
lea rdx, [rax + rax]
mov qword [r8 - 0x10], rdx
mov qword [r8 - 8], rcx
lea rdx, [rax*8 + 0x10]
mov eax, 0x14
cmp rcx, rdx
jb 0x1400d3b00
xor eax, eax
jmp 0x1400d3b00
mov eax, 0x40
test rax, rax
jne 0x1400d3b6a
mov eax, 1
cmp rax, 0x3e
jae 0x1400d3b70
jmp 0x1400d3b75
mov rcx, qword [r15]
mov r10, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov rax, qword [rbp]
cmp rax, rcx
jne 0x1400d36ed
lea rcx, [0x140cb9c30]
mov rdx, rbp
mov r8, rdi
call fcn.1400fdb00
mov r8, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov rax, qword [rbp]
jmp 0x1400d36ed
mov rax, qword [r10 + 0xa00028]
movabs r11, 0xefffffffffffffff
movabs r14, 0x6000000000000000
movabs r15, 0xfffff0000000000
movabs rbx, 0xffffff0000000000
xor r8d, r8d
movabs r9, 0xbfffff00000fffff
movabs r10, 0x4000000000000000
movabs rbp, 0x2000000000000000
jmp 0x1400d3c84
mov rsi, rax
shr rsi, 0x14
and esi, 0xfffff
test rax, rbp
cmovne rsi, r8
mov rcx, rdi
and rcx, r9
or rcx, r10
test rsi, rsi
cmove rcx, rdi
mov rdx, qword [rsp + 0x30]
lock cmpxchg qword [rdx + 0xa00028], rcx
je 0x1400d3cc5
mov rsi, rax
and rsi, r11
test rax, r14
sete cl
test rax, r15
setne dl
lea rdi, [rsi + rbx]
or rdi, rbp
test cl, dl
cmove rdi, rsi
je 0x1400d3c50
mov rcx, qword [rsp + 0x30]
lock cmpxchg qword [rcx + 0xa00028], rdi
jne 0x1400d3c84
mov rcx, qword [rsp + 0x40]
lock add dword [rcx], 1
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400d3cce
test rsi, rsi
jne 0x1400d3e41
mov al, byte [0x140d484c0]
test al, al
jne 0x1400d3d13
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d3e63
cmp byte [0x140d484c0], 0
jne 0x1400d3d0c
lea rcx, [0x140cc7480]
mov edx, 0xffffffff
xor r8d, r8d
call fcn.1400f9b00
mov byte [0x140d484c0], 1
mov byte [0x140d484c1], 0
lea rcx, [0x140cc7480]
lea rdx, [0x140cb9c30]
call fcn.1400f9950
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_allocator_secondary.h
lea r8, str.__IsAligned_p__page_size________0_
mov edx, 0x129
xor r9d, r9d
call fcn.1400a8e60
mov qword [rsp + 0x20], rax
lea rcx, str....._sanitizer_common_sanitizer_allocator_secondary.h
lea r8, str.__idx_______n_chunks___
mov edx, 0x8c
call fcn.1400a8e60
mov qword [rsp + 0x20], r15
jmp 0x1400d3d88
mov qword [rsp + 0x20], rsi
lea rcx, str....._sanitizer_common_sanitizer_allocator_secondary.h
lea r8, str.__chunks__idx_______h__
mov edx, 0x8b
mov r9, rax
call fcn.1400a8e60
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__VirtualQuery_addr__mbi__sizeof_mbi________0_
mov edx, 0x222c
xor r9d, r9d
call fcn.1400a8e60
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_allocator_local_cache.h
lea r8, str.__class_id_______0UL__
mov edx, 0xaf
xor r9d, r9d
call fcn.1400a8e60
mov qword [rsp + 0x20], 0x36
lea rcx, str....._sanitizer_common_sanitizer_allocator_local_cache.h
lea r8, str.__class_id_______kNumClasses__
mov edx, 0xb0
call fcn.1400a8e60
xor esi, esi
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1400d3e1a
add esi, 1
cmp esi, 0x63
ja 0x1400d3e23
pause
jmp 0x1400d3e27
xor ecx, ecx
call rdi
cmp byte [0x140d484c1], 0
jne 0x1400d3e17
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d3e17
jmp 0x1400d2c76
mov rcx, qword [rsp + 0x30]
lock add dword [rcx + 0xa00034], esi
add rcx, 0xa00034
cmp esi, 1
jne 0x1400d3e98
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400d3cce
xor esi, esi
mov rdi, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1400d3e71
add esi, 1
cmp esi, 0x63
ja 0x1400d3e7a
pause
jmp 0x1400d3e7e
xor ecx, ecx
call rdi
cmp byte [0x140d484c1], 0
jne 0x1400d3e6e
mov al, 1
xchg byte [0x140d484c1], al
test al, al
jne 0x1400d3e6e
jmp 0x1400d3ce8
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressAll
jmp 0x1400d3cce
mov rsi, qword [str.SanitizerTool]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbp
lea rcx, str.ERROR:__s_failed_to_deallocate_0x_zx___zd__bytes_at_address__p__error_code:__d__n
mov rdx, rsi
mov r8, rbx
mov r9, rbx
jmp 0x1400d3ef0
mov rsi, qword [str.SanitizerTool]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
lea rcx, str.ERROR:__s_failed_to_deallocate_0x_zx___zd__bytes_at_address__p__error_code:__d__n
mov rdx, rsi
mov r8, rbp
mov r9, rbp
call fcn.1400d5140
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.___unable_to_unmap___0______0_
mov edx, 0x2236
xor r9d, r9d
call fcn.1400a8e60
int3