Function at 0x140005950
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
mov qword [rbp - 9], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140057888]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r13, rcx
xor r15d, r15d
mov r12d, r15d
mov dword [rsp + 0x38], r15d
cmp qword [rcx + 0x80], r12
je 0x140005f59
cmp byte [rcx + 0x89], r12b
je 0x140005f59
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140005f55
xor r8d, r8d
lea edx, [r15 + 8]
lea rcx, [rbp - 1]
call fcn.140004ef0
nop
nop word [rax + rax]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 1]
call fcn.140005270
mov rbx, rax
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 1]
call fcn.140005270
mov rdi, rax
mov rcx, rbx
call fcn.1400077e0
mov rsi, rax
mov rbx, qword [rbp + 0x17]
mov rcx, rdi
call fcn.1400077e0
mov rcx, qword [r13 + 0x80]
mov r10, qword [rcx]
lea r9, [rbx + rsi]
lea rdx, [rbp - 0x71]
mov qword [rsp + 0x20], rdx
mov r8, rax
lea rdx, [r13 + 0x8c]
call qword [r10 + 0x30]
mov edi, eax
mov edx, 3
lea rcx, [rbp - 0x7d]
call fcn.14000cf80
nop
mov rbx, qword [rbp - 0x39]
test rbx, rbx
je 0x140005aa0
add rbx, 8
cmp qword [rbx], 0
je 0x140005a7c
mov rax, qword [rbx]
lea rcx, [rbp - 0x39]
cmp rax, rcx
je 0x140005a76
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005a60
cmp qword [rbx], 0
jne 0x140005a95
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd30
mov rax, qword [rbp - 0x31]
mov qword [rbx], rax
mov qword [rbp - 0x39], r15
lea rcx, [rbp - 0x7d]
call fcn.14000cfd0
nop
mov edx, 3
lea rcx, [rbp - 0x79]
call fcn.14000cf80
nop
mov rbx, qword [rbp - 0x69]
test rbx, rbx
je 0x140005b10
add rbx, 8
cmp qword [rbx], 0
je 0x140005aec
nop dword [rax]
mov rax, qword [rbx]
lea rcx, [rbp - 0x69]
cmp rax, rcx
je 0x140005ae6
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005ad0
cmp qword [rbx], 0
jne 0x140005b05
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd30
mov rax, qword [rbp - 0x61]
mov qword [rbx], rax
mov qword [rbp - 0x69], r15
lea rcx, [rbp - 0x79]
call fcn.14000cfd0
test edi, edi
je 0x140005b27
dec edi
jne 0x140005d31
jmp 0x140005b2f
mov byte [r13 + 0x89], 0
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 1]
call fcn.140005270
nop
mov rcx, rax
call fcn.1400077e0
mov rdi, qword [rbp - 0x71]
sub rdi, rax
mov edx, 3
lea rcx, [rsp + 0x34]
call fcn.14000cf80
nop
mov rbx, qword [rbp - 0x51]
test rbx, rbx
je 0x140005bb0
add rbx, 8
cmp qword [rbx], 0
je 0x140005b8c
nop
mov rax, qword [rbx]
lea rcx, [rbp - 0x51]
cmp rax, rcx
je 0x140005b86
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005b70
cmp qword [rbx], 0
jne 0x140005ba5
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd30
mov rax, qword [rbp - 0x49]
mov qword [rbx], rax
mov qword [rbp - 0x51], r15
lea rcx, [rsp + 0x34]
call fcn.14000cfd0
test rdi, rdi
je 0x140005bff
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 1]
call fcn.140005270
nop
or r12d, 1
mov dword [rsp + 0x38], r12d
mov rcx, rax
call fcn.1400077e0
mov r9, qword [r13 + 0x98]
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.140013230
cmp rdi, rax
je 0x140005bff
mov sil, 1
jmp 0x140005c02
xor sil, sil
test r12b, 1
je 0x140005c7a
and r12d, 0xfffffffe
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
nop
mov rbx, qword [rbp - 0x21]
test rbx, rbx
je 0x140005c70
add rbx, 8
cmp qword [rbx], 0
je 0x140005c4c
nop
mov rax, qword [rbx]
lea rcx, [rbp - 0x21]
cmp rax, rcx
je 0x140005c46
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005c30
cmp qword [rbx], 0
jne 0x140005c65
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd30
mov rax, qword [rbp - 0x19]
mov qword [rbx], rax
mov qword [rbp - 0x21], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
test sil, sil
jne 0x140005eda
cmp byte [r13 + 0x89], sil
je 0x140005e54
test rdi, rdi
jne 0x1400059e0
or rax, 0xffffffffffffffff
mov rcx, qword [rbp + 0x17]
sub rax, rcx
cmp rax, 8
jbe 0x140005e47
lea rbx, [rcx + 8]
cmp rbx, 0xfffffffffffffffe
ja 0x140005e3a
mov rdx, qword [rbp + 0x1f]
cmp rdx, rbx
jae 0x140005cde
mov r8, rcx
mov rdx, rbx
lea rcx, [rbp - 1]
call fcn.140008bb0
mov rdx, qword [rbp + 0x1f]
mov rcx, qword [rbp + 0x17]
jmp 0x140005cfb
test rbx, rbx
jne 0x140005d04
mov qword [rbp + 0x17], r15
lea rax, [rbp + 7]
cmp rdx, 0x10
cmovae rax, qword [rbp + 7]
mov byte [rax], bl
jmp 0x1400059e0
test rbx, rbx
je 0x1400059e0
lea rax, [rbp + 7]
cmp rdx, 0x10
cmovae rax, qword [rbp + 7]
xor edx, edx
mov qword [rax + rcx], rdx
mov qword [rbp + 0x17], rbx
lea rax, [rbp + 7]
cmp qword [rbp + 0x1f], 0x10
cmovae rax, qword [rbp + 7]
mov byte [rax + rbx], dl
jmp 0x1400059e0
cmp edi, 2
je 0x140005dbc
cmp qword [rbp + 0x1f], 0x10
jb 0x140005d4a
mov rcx, qword [rbp + 7]
call fcn.140012f20
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005daf
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005d9d
nop dword [rax]
mov rax, qword [r11 + 8]
mov qword [rax], r15
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 8]
mov qword [r11 + 8], rcx
cmp rcx, 0
jne 0x140005d80
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f20
nop
xor al, al
jmp 0x140005f5b
cmp qword [rbp + 0x1f], 0x10
jb 0x140005dcc
mov rcx, qword [rbp + 7]
call fcn.140012f20
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005e2f
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005e1d
nop
mov rax, qword [r11 + 8]
mov qword [rax], r15
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 8]
mov qword [r11 + 8], rcx
cmp rcx, 0
jne 0x140005e00
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f20
nop
jmp 0x140005f59
lea rcx, str.string_too_long
call fcn.14000cce0
int3
lea rcx, str.string_too_long
call fcn.14000cce0
nop
cmp qword [rbp + 0x1f], 0x10
jb 0x140005e64
mov rcx, qword [rbp + 7]
call fcn.140012f20
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005ecf
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005ebd
nop word [rax + rax]
mov rax, qword [r11 + 8]
mov qword [rax], r15
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 8]
mov qword [r11 + 8], rcx
cmp rcx, 0
jne 0x140005ea0
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f20
nop
jmp 0x140005f59
cmp qword [rbp + 0x1f], 0x10
jb 0x140005eea
mov rcx, qword [rbp + 7]
call fcn.140012f20
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005f4f
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005f3d
nop dword [rax]
mov rax, qword [r11 + 8]
mov qword [rax], r15
mov rax, qword [r11 + 8]
mov rcx, qword [rax + 8]
mov qword [r11 + 8], rcx
cmp rcx, 0
jne 0x140005f20
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f20
nop
xor al, al
jmp 0x140005f5b
mov al, 1
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14000da30
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret