Function at 0x418c00
Capabilities:
Get system information on windows
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rax, qword [r8]
test rax, rax
mov rbx, rcx
mov rsi, rdx
je 0x417fe1
mov rdx, qword [rcx + 0x10]
and rax, 0xfffffffffffff000
cmp rax, rdx
je 0x4180fd
cmp qword [rbx + 0x18], 0
jne 0x418088
mov rdi, qword [rbx + 0x220]
test rdi, rdi
jne 0x41813c
lea rdx, [rbx + 0x20]
mov rax, 0xffffffffffffffff
mov ecx, 0x40
mov qword [rbx + 0x220], 0
add qword [rbx + 0x10], 0x1000
mov rdi, rdx
mov qword [rbx + 0x18], rax
rep stosq qword [rdi], rax
lea rdx, [rbx + 0x208630]
lea rax, [rbx + 0x630]
nop word [rax + rax]
mov qword [rax], 0
add rax, 0x208
cmp rdx, rax
jne 0x418040
mov qword [rbx + 0x410a40], 0
cmp qword [rbx + 0x18], 0
jne 0x418088
lea r8, str.__0______0_
xor r9d, r9d
mov edx, 0xc0
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_bitvector.h
call fcn.00406990
mov qword [rsp + 0x38], r8
lea rbp, [rbx + 0x18]
mov rcx, rbp
call fcn.0043ad40
lea rcx, [rbp + rax*8 + 8]
mov rdi, rax
call fcn.0043ad40
cmp qword [rbx + rdi*8 + 0x20], 0
mov r8, qword [rsp + 0x38]
je 0x4180d3
cmp rdi, 0x3f
mov rdx, qword [rbx + 0x18]
ja 0x418362
mov r9d, 1
mov ecx, edi
shl r9, cl
or rdx, r9
mov qword [rbx + 0x18], rdx
shl rdi, 6
mov r9, rdi
add r9, rax
cmp r9, 0xfff
mov qword [rbx + r9*8 + 0x208a40], r8
ja 0x41836a
add r9, qword [rbx + 0x10]
mov qword [r8], r9
mov rdx, qword [rbx + 0x10]
cmp qword [rsi + 0x210], rdx
je 0x41812b
mov qword [rsi + 8], 0
mov qword [rsi + 0x210], rdx
mov qword [rsi + 0x418], 0
mov qword [rsi + 0x620], 0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rbx + 0x410a40]
mov r10, rdx
sub r10, 1
js 0x4182ba
lea rax, [rdx + 0x210a2]
shl rax, 4
movzx r9d, word [rbx + rax + 0x10]
cmp r9, 0x1000
mov r12, r9
ja 0x418244
lea rax, [rdx + 0x210a3]
mov r11d, 1
lea rcx, [rbx + 0x10]
shl rax, 4
add rax, rbx
mov qword [rsp + 0x38], rcx
mov rbp, r9
shr r9, 6
mov r14, r11
and r9d, 0x3f
shr rbp, 0xc
mov ecx, r9d
shl r14, cl
test qword [rbx + rbp*8 + 0x220], r14
je 0x4181ce
shl rbp, 6
mov r15, r11
mov ecx, r12d
add r9, rbp
shl r15, cl
test qword [rbx + r9*8 + 0x228], r15
jne 0x418265
movzx r9d, word [rax + 2]
cmp r9, 0x1000
mov rbp, r9
ja 0x418244
mov r12, r9
shr r9, 6
and ebp, 0x3f
mov rcx, r9
shr r12, 0xc
mov r9, r11
and ecx, 0x3f
shl r9, cl
test qword [rbx + r12*8 + 0x220], r9
je 0x41821d
shl r12, 6
mov r15, r11
lea r9, [r12 + rcx]
mov ecx, ebp
shl r15, cl
test qword [rbx + r9*8 + 0x228], r15
jne 0x418265
sub r10, 1
cmp r10, 0xffffffffffffffff
je 0x4182ba
movzx r9d, word [rax - 0x10]
sub rax, 0x10
cmp r9, 0x1000
mov r12, r9
jbe 0x41818e
mov qword [rsp + 0x20], 0x1000
lea r8, str.__idx_______size____
mov edx, 0x144
lea rcx, str....._sanitizer_common_sanitizer_bitvector.h
call fcn.00406990
mov rcx, qword [rsp + 0x38]
lea r9, [rdx + 0x210a2]
sub rdx, 1
movzx r15d, word [rax]
shl r9, 4
movzx r14d, word [rax + 2]
mov r13d, dword [rax + 4]
mov r12d, dword [rax + 8]
add rcx, r9
mov ebp, dword [rax + 0xc]
movdqu xmm1, xmmword [rbx + r9 + 0x10]
movups xmmword [rax], xmm1
mov word [rcx], r15w
mov word [rcx + 2], r14w
mov dword [rcx + 4], r13d
mov dword [rcx + 8], r12d
mov dword [rcx + 0xc], ebp
mov qword [rbx + 0x410a40], rdx
jmp 0x41821d
lea r9, [rbx + 0x630]
xor edx, edx
mov r12d, 1
mov r11, rdi
and r11, qword [r9]
mov rbp, rdx
shl rbp, 6
add rbp, rdx
test r11, r11
je 0x418311
bsf rcx, r11
mov rax, r12
movsxd r10, ecx
shl rax, cl
mov rcx, rax
mov rax, qword [rbx + r10*8 + 0x228]
add r10, rbp
not rcx
and r11, rcx
not rax
and qword [rbx + r10*8 + 0x638], rax
jne 0x4182d9
and qword [r9], rcx
jmp 0x4182d9
add rdx, 1
add r9, 0x208
cmp rdx, 0x1000
jne 0x4182c9
lea rbp, [rbx + 0x18]
mov qword [rsp + 0x38], r8
lea rdx, [rbx + 0x220]
mov rcx, rbp
call fcn.0043ac00
cmp qword [rbx + 0x18], 0
mov qword [rbx + 0x220], 0
mov r8, qword [rsp + 0x38]
je 0x418064
mov qword [rsp + 0x38], r8
jmp 0x418091
mov rcx, rdi
call fcn.00409fa0
mov qword [rsp + 0x20], 0x1000
lea r8, [0x0059e95f]
mov edx, 0x16b
lea rcx, str....._sanitizer_common_sanitizer_deadlock_detector.h
call fcn.00406990
nop
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
xor r13d, r13d
cmp byte [rcx + 0x410a48], 0
mov r15d, dword [rsp + 0xb0]
mov rbx, qword [rdx + 0x10]
mov rsi, rcx
mov rdi, rdx
mov rbp, r8
jne 0x418540
cmp qword [rbx + 8], 0
lea r12, [rbx + 8]
mov rdx, qword [rbp]
jne 0x4186e1
mov rax, qword [rbx + 0x210]
test rax, rax
je 0x4183f7
mov rcx, rdx
and rcx, 0xfffffffffffff000
cmp rax, rcx
je 0x4184e3
test rdx, rdx
je 0x418410
cmp qword [rsi + 0x10], rax
je 0x418590
nop word cs:[rax + rax]
lea rcx, [rsi + 8]
mov dword [rsp + 0x38], r9d
call fcn.00438dc0
mov r8, rbp
mov rdx, rbx
mov rcx, rsi
call fcn.00417fb0
mov r9d, dword [rsp + 0x38]
lea r14, [rsi + 0x10]
test r9b, r9b
jne 0x4186f0
test r15b, r15b
je 0x418690
mov rdi, qword [rsi + 0x10]
cmp rdi, qword [rbx + 0x210]
mov rbp, qword [rbp]
je 0x418812
mov qword [rbx + 8], 0
mov r15, qword [rsi + 0x10]
mov rdx, rbp
mov rcx, r14
mov qword [rbx + 0x210], rdi
and ebp, 0xfff
mov qword [rbx + 0x418], 0
mov qword [rbx + 0x620], 0
call fcn.00409f30
cmp r15, rdi
jne 0x4186c1
mov rdx, rbp
mov rcx, r12
call fcn.0043ac80
test al, al
je 0x418665
mov r9, qword [rbx + 0x620]
cmp r9, 0x3f
ja 0x4187d0
lea rax, [r9 + 1]
mov qword [rbx + 0x620], rax
lea rax, [r12 + r9*8 + 0x410]
mov dword [rax + 8], ebp
mov dword [rax + 0xc], r13d
mov byte [rsi + 8], 0
jmp 0x418526
mov rsi, rdx
mov rcx, r12
and esi, 0xfff
mov rdx, rsi
call fcn.0043ac80
test al, al
je 0x418560
mov r9, qword [rbx + 0x620]
cmp r9, 0x3f
ja 0x4187d0
lea rax, [r9 + 1]
mov qword [rbx + 0x620], rax
lea rax, [r12 + r9*8 + 0x410]
mov dword [rax + 8], esi
mov dword [rax + 0xc], r13d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rdx]
mov dword [rsp + 0x38], r9d
mov rcx, rdx
call qword [rax]
mov r9d, dword [rsp + 0x38]
mov r13d, eax
jmp 0x4183c5
mov r9, qword [rbx + 0x418]
cmp r9, 0x3f
ja 0x4187f1
lea rax, [r9 + 1]
mov qword [rbx + 0x418], rax
mov qword [rbx + r9*8 + 0x218], rsi
jmp 0x418526
mov rcx, rdx
and rcx, 0xfffffffffffff000
cmp rax, rcx
jne 0x418410
mov r8, qword [rbx + 0x620]
mov rax, rdx
and eax, 0xfff
mov qword [rsp + 0x38], rax
test r8, r8
je 0x418830
mov r11, rax
mov eax, dword [rbx + 0x420]
mov r14d, 1
shr r11, 6
mov r10, r14
mov ecx, r11d
shl r10, cl
mov rcx, rax
shl rcx, 9
lea rcx, [rcx + rax*8]
test qword [rsi + rcx + 0x630], r10
je 0x418410
mov rcx, rdx
mov rdx, rax
shl rdx, 6
and ecx, 0x3f
add rax, rdx
shl r14, cl
add rax, r11
test qword [rsi + rax*8 + 0x638], r14
je 0x418410
xor ecx, ecx
add rcx, 1
cmp r8, rcx
je 0x418760
mov eax, dword [rbx + rcx*8 + 0x420]
mov rdx, rax
shl rdx, 9
lea rdx, [rdx + rax*8]
test qword [rsi + rdx + 0x630], r10
je 0x418410
mov rdx, rax
shl rdx, 6
add rax, rdx
add rax, r11
test qword [rsi + rax*8 + 0x638], r14
je 0x418410
jmp 0x41861b
mov r9, qword [rbx + 0x418]
cmp r9, 0x3f
ja 0x4187f1
lea rax, [r9 + 1]
mov qword [rbx + 0x418], rax
mov qword [rbx + r9*8 + 0x218], rbp
jmp 0x4184dd
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
test r13d, r13d
mov r9d, r13d
mov r15d, eax
je 0x418838
mov dword [rsp + 0x20], r15d
mov r8, qword [rbp]
mov rdx, r12
mov rcx, r14
call fcn.0043ada0
jmp 0x418447
mov qword [rsp + 0x20], r15
mov r9, rdi
mov edx, 0x3c
lea r8, str.__epoch_______current_epoch__
lea rcx, str....._sanitizer_common_sanitizer_deadlock_detector.h
call fcn.00406990
mov rax, qword [rbx + 0x210]
jmp 0x4183f7
mov rax, qword [rbp]
mov rcx, r14
mov rdx, rax
mov qword [rsp + 0x38], rax
call fcn.00409f30
mov rax, qword [rsp + 0x38]
mov r9, qword [rbx + 0x210]
and eax, 0xfff
mov rdx, rax
mov rax, qword [rsi + 0x10]
cmp rax, r9
jne 0x418848
mov rcx, r12
call fcn.0043ab60
test al, al
je 0x41843e
lea r8, str.___dd.isHeld_lt__dd__m__id_______0_
xor r9d, r9d
mov edx, 0x27b6
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
call fcn.00406990
nop dword [rax]
mov rdx, qword [rsp + 0x38]
mov rcx, r12
call fcn.0043ac80
test al, al
jne 0x4187a0
mov r9, qword [rbx + 0x418]
cmp r9, 0x3f
ja 0x4187f1
lea rax, [r9 + 1]
mov qword [rbx + 0x418], rax
mov rax, qword [rsp + 0x38]
mov qword [rbx + r9*8 + 0x218], rax
jmp 0x418526
mov r9, qword [rbx + 0x620]
cmp r9, 0x3f
ja 0x4187d0
mov edi, dword [rsp + 0x38]
lea rax, [r9 + 1]
mov qword [rbx + 0x620], rax
lea rax, [r12 + r9*8 + 0x410]
mov dword [rax + 0xc], r13d
mov dword [rax + 8], edi
jmp 0x418526
mov qword [rsp + 0x20], 0x40
lea r8, str.__n_all_locks_________sizeof_all_locks_with_contexts___sizeof__all_locks_with_contexts___0_____
mov edx, 0x43
lea rcx, str....._sanitizer_common_sanitizer_deadlock_detector.h
call fcn.00406990
mov qword [rsp + 0x20], 0x40
lea r8, str.__n_recursive_locks________sizeof_recursive_locks__sizeof__recursive_locks__0_____
mov edx, 0x3f
lea rcx, str....._sanitizer_common_sanitizer_deadlock_detector.h
call fcn.00406990
mov rdx, rbp
mov rcx, r14
and ebp, 0xfff
call fcn.00409f30
jmp 0x41849f
mov rdx, rax
jmp 0x418765
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov r9d, eax
jmp 0x4186a8
mov qword [rsp + 0x20], rax
lea r8, str.__epoch_______current_epoch__
mov edx, 0x6b
lea rcx, str....._sanitizer_common_sanitizer_deadlock_detector.h
call fcn.00406990
nop
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov rbx, qword [rdx + 0x10]
cmp qword [rbx + 8], 0
mov rsi, rcx
mov r14, rdx
mov r15, r8
jne 0x4188a5
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r8]
test rax, rax
je 0x4188c0
mov rdx, qword [rbx + 0x210]
cmp rdx, qword [rsi + 0x10]
je 0x418930
nop word [rax + rax]
lea rcx, [rsi + 8]
mov eax, 1
xchg byte [rcx], al
test al, al
jne 0x418a00
mov r8, r15
mov rdx, rbx
mov rcx, rsi
call fcn.00417fb0
mov r13, qword [r15]
lea rbp, [rsi + 0x10]
mov rcx, rbp
mov rdx, r13
mov rdi, r13
call fcn.00409f30
mov rax, qword [rsi + 0x10]
and edi, 0xfff
mov r9, qword [rbx + 0x210]
cmp rax, r9
jne 0x418b30
lea r12, [rbx + 8]
mov rdx, rdi
mov rcx, r12
call fcn.0043ab60
test al, al
je 0x418a10
mov byte [rsi + 8], 0
jmp 0x418894
mov rcx, rax
and rcx, 0xfffffffffffff000
cmp rdx, rcx
jne 0x4188c0
mov r9, qword [rbx + 0x620]
mov r8, rax
and r8d, 0xfff
test r9, r9
je 0x418894
mov edx, dword [rbx + 0x420]
shr r8, 6
mov ebp, 1
mov ecx, r8d
mov rdi, rbp
shl rdi, cl
mov rcx, rdx
shl rcx, 9
lea rcx, [rcx + rdx*8]
test qword [rsi + rcx + 0x630], rdi
je 0x4188c0
and eax, 0x3f
mov rcx, rax
mov rax, rdx
shl rax, 6
shl rbp, cl
add rdx, rax
mov rcx, rbp
add rdx, r8
test qword [rsi + rdx*8 + 0x638], rbp
je 0x4188c0
xor edx, edx
add rdx, 1
cmp r9, rdx
je 0x418894
mov eax, dword [rbx + rdx*8 + 0x420]
mov rbp, rax
shl rbp, 9
lea rbp, [rbp + rax*8]
test qword [rsi + rbp + 0x630], rdi
je 0x4188c0
mov rbp, rax
shl rbp, 6
add rax, rbp
add rax, r8
test qword [rsi + rax*8 + 0x638], rcx
je 0x4188c0
jmp 0x4189b3
call fcn.00438d60
jmp 0x4188d3
mov rdx, r13
mov rcx, rbp
call fcn.00409f30
lea rax, [rsi + 0x630]
mov qword [rsi + 0x208630], 0
mov qword [rsp + 0x40], rax
lea r13, [rsi + 0x208630]
mov r10, rax
lea rax, [rsi + 0x208838]
mov rcx, r13
mov qword [rsp + 0x38], rax
mov rax, rdi
shl rax, 9
lea rdx, [rax + rdi*8]
add rdx, r10
call fcn.0043ac00
lea rcx, [rsi + 0x208838]
mov rdx, rdi
mov qword [rsi + 0x208838], 0
call fcn.0043ac80
mov edi, 1
cmp qword [rsi + 0x208630], 0
jne 0x418b4d
mov rax, qword [rbx + 8]
lea r13, [rsp + 0x50]
mov edi, 1
mov qword [rsp + 0x50], rax
mov rax, qword [rsi + 0x208838]
and qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x418927
mov rcx, r13
call fcn.0043ad40
mov r9, rax
mov rax, qword [rsi + 0x208838]
cmp r9, 0x3f
ja 0x418bd3
mov rdx, rdi
mov ecx, r9d
shl rdx, cl
test rdx, rax
je 0x418aaa
mov rax, qword [rbx + r9*8 + 0x10]
test qword [rsi + r9*8 + 0x208840], rax
je 0x418aaa
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
mov rcx, r14
mov ebx, eax
mov rax, qword [r14]
call qword [rax]
mov r8, qword [r15]
mov rdx, r12
mov rcx, rbp
mov r9d, eax
mov dword [rsp + 0x20], ebx
call fcn.0043ada0
mov r8, r15
mov rdx, r14
mov rcx, rsi
call fcn.004176c0
jmp 0x418927
mov qword [rsp + 0x20], rax
lea r8, str.__epoch_______current_epoch__
mov edx, 0x6b
lea rcx, str....._sanitizer_common_sanitizer_deadlock_detector.h
call fcn.00406990
mov rcx, r13
call fcn.0043ad40
lea rcx, [r13 + rax*8 + 8]
mov qword [rsp + 0x48], rax
call fcn.0043ad40
mov rdx, qword [rsp + 0x48]
cmp qword [rsi + rdx*8 + 0x208638], 0
je 0x418b93
cmp rdx, 0x3f
mov r8, qword [rsi + 0x208630]
ja 0x418bf4
mov r11, rdi
mov ecx, edx
shl r11, cl
or r8, r11
mov qword [rsi + 0x208630], r8
mov rcx, qword [rsp + 0x38]
shl rdx, 6
lea r8, [rdx + rax]
mov rdx, r8
mov qword [rsp + 0x48], r8
call fcn.0043ac80
mov r8, qword [rsp + 0x48]
test al, al
je 0x418a7d
imul rdx, r8, 0x208
mov rcx, r13
add rdx, qword [rsp + 0x40]
call fcn.0043ac00
jmp 0x418a7d
mov qword [rsp + 0x20], 0x40
lea r8, [0x0059e95f]
mov edx, 0x64
lea rcx, str....._sanitizer_common_sanitizer_bitvector.h
call fcn.00406990
mov rcx, rdx
call fcn.00409fa0
nop
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
test r8, r8
mov rbx, rcx
mov rdi, rdx
mov qword [rdx + 0x10], 0
mov rbp, r8
mov r13, r9
je 0x418db0
mov r15, qword [0x006891d8]
test r15, r15
je 0x418de0
xor r9d, r9d
mov edx, 0x80000000
mov rcx, rbx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], pe_nt_image_headers64
mov r8d, 7
mov dword [rsp + 0x20], 3
call qword [sym.imp.kernel32.dll_CreateFileA]
cmp rax, 1
mov r14, rax
je 0x4191d4
cmp rax, 2
je 0x418e02
test r13, r13
setne byte [rsp + 0x4e]
movzx ebx, byte [rsp + 0x4e]
cmp rax, 0xffffffffffffffff
sete al
and al, bl
mov byte [rsp + 0x4f], al
jne 0x418e30
cmp r14, 0xffffffffffffffff
je 0x418d98
lea rax, [rsp + 0x80]
xor esi, esi
mov qword [rsp + 0x50], rax
mov r8, qword [rdi + 0x10]
cmp rsi, r8
jb 0x418d0c
lea r12, [rsi + rsi]
cmp r12, r15
cmovb r12, r15
cmp r12, rbp
cmova r12, rbp
cmp r8, r12
jae 0x418cfc
cmp r12, qword [rdi + 8]
ja 0x418e90
mov rbx, qword [rdi]
lea rcx, [rbx + r8]
mov rdx, r12
sub rdx, r8
call fcn.00401990
cmp rsi, r12
mov qword [rdi + 0x10], r12
jae 0x418e50
mov r8, r12
cmp rbp, r8
jb 0x418e70
sub r8d, esi
mov rdx, rsi
mov r9, qword [rsp + 0x50]
mov rcx, r14
mov qword [rsp + 0x20], 0
add rdx, qword [rdi]
call qword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
jne 0x418d44
cmp byte [rsp + 0x4e], 0
jne 0x418dc0
test eax, eax
mov edx, dword [rsp + 0x80]
je 0x418dca
add rsi, rdx
test rdx, rdx
je 0x418d60
cmp rbp, rsi
ja 0x418cc0
mov rcx, r14
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [rdi + 0x10]
cmp rcx, rsi
jae 0x418d8a
cmp rsi, qword [rdi + 8]
ja 0x41923c
mov rdx, rsi
sub rdx, rcx
add rcx, qword [rdi]
call fcn.00401990
mov byte [rsp + 0x4f], 1
movzx eax, byte [rsp + 0x4f]
mov qword [rdi + 0x10], rsi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov byte [rsp + 0x4f], 1
movzx eax, byte [rsp + 0x4f]
jmp 0x418d98
call qword [sym.imp.kernel32.dll_GetLastError]
mov dword [r13], eax
mov rcx, r14
call qword [sym.imp.kernel32.dll_CloseHandle]
movzx eax, byte [rsp + 0x4f]
jmp 0x418d98
lea rcx, [rsp + 0x80]
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov r15d, dword [rsp + 0x84]
mov qword [0x006891d8], r15
jmp 0x418c40
lea r8, str.__res_____fd_t_2_____fd_t_2_____fd_t__1_______0_
xor r9d, r9d
mov edx, 0x2565
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
call fcn.00406990
nop word cs:[rax + rax]
call qword [sym.imp.kernel32.dll_GetLastError]
mov byte [rsp + 0x4f], 0
mov dword [r13], eax
movzx eax, byte [rsp + 0x4f]
jmp 0x418d98
mov qword [rsp + 0x20], r12
mov r9, rsi
mov edx, 0x2abc
lea r8, str.__read_len_______buff__size____
lea rcx, str.gotsan.cpp
call fcn.00406990
mov r9, r8
mov qword [rsp + 0x20], rbp
mov edx, 0x2abd
lea r8, str.__buff__size_________max_len__
lea rcx, str.gotsan.cpp
call fcn.00406990
mov rax, qword [0x006891d8]
test rax, rax
je 0x419200
lea rdx, [rax - 1]
test rax, rdx
jne 0x419237
neg rax
add rdx, r12
and rdx, rax
mov rcx, rdx
mov qword [rsp + 0x58], rdx
lea rdx, str.InternalMmapVector
call fcn.0040d590
mov r11, qword [rdi + 0x10]
mov rbx, rax
mov rcx, qword [rdi]
test r11, r11
je 0x4191b6
lea rax, [rax + 0x10]
cmp rcx, rax
lea rax, [rcx + 0x10]
setae dl
cmp rbx, rax
setae al
or dl, al
je 0x419220
cmp r11, 0x16
jbe 0x419220
mov rdx, rcx
neg rdx
and edx, 0xf
cmp rdx, r11
cmova rdx, r11
xor eax, eax
test rdx, rdx
je 0x419016
movzx eax, byte [rcx]
cmp rdx, 1
mov byte [rbx], al
je 0x419250
movzx eax, byte [rcx + 1]
cmp rdx, 2
mov byte [rbx + 1], al
je 0x419282
movzx eax, byte [rcx + 2]
cmp rdx, 3
mov byte [rbx + 2], al
je 0x419278
movzx eax, byte [rcx + 3]
cmp rdx, 4
mov byte [rbx + 3], al
je 0x41926e
movzx eax, byte [rcx + 4]
cmp rdx, 5
mov byte [rbx + 4], al
je 0x419264
movzx eax, byte [rcx + 5]
cmp rdx, 6
mov byte [rbx + 5], al
je 0x4192d2
movzx eax, byte [rcx + 6]
cmp rdx, 7
mov byte [rbx + 6], al
je 0x4192c8
movzx eax, byte [rcx + 7]
cmp rdx, 8
mov byte [rbx + 7], al
je 0x4192be
movzx eax, byte [rcx + 8]
cmp rdx, 9
mov byte [rbx + 8], al
je 0x4192b4
movzx eax, byte [rcx + 9]
cmp rdx, 0xa
mov byte [rbx + 9], al
je 0x4192aa
movzx eax, byte [rcx + 0xa]
cmp rdx, 0xb
mov byte [rbx + 0xa], al
je 0x4192a0
movzx eax, byte [rcx + 0xb]
cmp rdx, 0xc
mov byte [rbx + 0xb], al
je 0x419296
movzx eax, byte [rcx + 0xc]
cmp rdx, 0xd
mov byte [rbx + 0xc], al
je 0x41928c
movzx eax, byte [rcx + 0xd]
cmp rdx, 0xe
mov byte [rbx + 0xd], al
je 0x41925a
movzx eax, byte [rcx + 0xe]
mov byte [rbx + 0xe], al
mov eax, 0xf
mov r10, r11
sub r10, rdx
lea r8, [r10 - 0x10]
shr r8, 4
add r8, 1
mov r9, r8
shl r9, 4
mov qword [rsp + 0x60], r9
lea r9, [r11 - 1]
sub r9, rdx
cmp r9, 0xe
jbe 0x419094
lea r9, [rcx + rdx]
add rdx, rbx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], r9
xor r9d, r9d
mov qword [rsp + 0x70], rdx
xor edx, edx
mov rax, qword [rsp + 0x68]
add rdx, 1
movdqa xmm0, xmmword [rax + r9]
mov rax, qword [rsp + 0x70]
movups xmmword [rax + r9], xmm0
add r9, 0x10
cmp rdx, r8
jb 0x41905c
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
add rax, rdx
cmp rdx, r10
je 0x4191b3
movzx edx, byte [rcx + rax]
mov byte [rbx + rax], dl
lea rdx, [rax + 1]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 1]
mov byte [rbx + rax + 1], dl
lea rdx, [rax + 2]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 2]
mov byte [rbx + rax + 2], dl
lea rdx, [rax + 3]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 3]
mov byte [rbx + rax + 3], dl
lea rdx, [rax + 4]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 4]
mov byte [rbx + rax + 4], dl
lea rdx, [rax + 5]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 5]
mov byte [rbx + rax + 5], dl
lea rdx, [rax + 6]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 6]
mov byte [rbx + rax + 6], dl
lea rdx, [rax + 7]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 7]
mov byte [rbx + rax + 7], dl
lea rdx, [rax + 8]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 8]
mov byte [rbx + rax + 8], dl
lea rdx, [rax + 9]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 9]
mov byte [rbx + rax + 9], dl
lea rdx, [rax + 0xa]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 0xa]
mov byte [rbx + rax + 0xa], dl
lea rdx, [rax + 0xb]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 0xb]
mov byte [rbx + rax + 0xb], dl
lea rdx, [rax + 0xc]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 0xc]
mov byte [rbx + rax + 0xc], dl
lea rdx, [rax + 0xd]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 0xd]
mov byte [rbx + rax + 0xd], dl
lea rdx, [rax + 0xe]
cmp r11, rdx
jbe 0x4191b3
movzx edx, byte [rcx + rax + 0xe]
mov byte [rbx + rax + 0xe], dl
mov rcx, qword [rdi]
mov rdx, qword [rdi + 8]
call fcn.0040e7f0
mov rax, qword [rsp + 0x58]
mov qword [rdi], rbx
mov r8, qword [rdi + 0x10]
mov qword [rdi + 8], rax
jmp 0x418ced
lea r8, str.__res_____fd_t_1_____fd_t_1_____fd_t__1_______0_
xor r9d, r9d
mov edx, 0x2564
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
call fcn.00406990
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x84]
mov qword [0x006891d8], rax
jmp 0x418ea0
xor eax, eax
movzx edx, byte [rcx + rax]
mov byte [rbx + rax], dl
add rax, 1
cmp rax, r11
jne 0x419222
jmp 0x4191b3
call fcn.0040b4c0
mov rcx, rdi
mov rdx, rsi
call fcn.0043b120
mov rcx, qword [rdi + 0x10]
jmp 0x418d7c
mov eax, 1
jmp 0x419016
mov eax, 0xe
jmp 0x419016
mov eax, 5
jmp 0x419016
mov eax, 4
jmp 0x419016
mov eax, 3
jmp 0x419016
mov eax, 2
jmp 0x419016
mov eax, 0xd
jmp 0x419016
mov eax, 0xc
jmp 0x419016
mov eax, 0xb
jmp 0x419016
mov eax, 0xa
jmp 0x419016
mov eax, 9
jmp 0x419016
mov eax, 8
jmp 0x419016
mov eax, 7
jmp 0x419016
mov eax, 6
jmp 0x419016