Function at 0x140005900
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 0x140005f09
cmp byte [rcx + 0x89], r12b
je 0x140005f09
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + 0x18]
cmp eax, 0xffffffff
je 0x140005f05
xor r8d, r8d
lea edx, [r15 + 8]
lea rcx, [rbp - 1]
call fcn.140004ea0
nop
nop word [rax + rax]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 1]
call fcn.140005220
mov rbx, rax
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 1]
call fcn.140005220
mov rdi, rax
mov rcx, rbx
call fcn.1400077c0
mov rsi, rax
mov rbx, qword [rbp + 0x17]
mov rcx, rdi
call fcn.1400077c0
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 0x140005a50
add rbx, 8
cmp qword [rbx], 0
je 0x140005a2c
mov rax, qword [rbx]
lea rcx, [rbp - 0x39]
cmp rax, rcx
je 0x140005a26
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005a10
cmp qword [rbx], 0
jne 0x140005a45
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd10
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 0x140005ac0
add rbx, 8
cmp qword [rbx], 0
je 0x140005a9c
nop dword [rax]
mov rax, qword [rbx]
lea rcx, [rbp - 0x69]
cmp rax, rcx
je 0x140005a96
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005a80
cmp qword [rbx], 0
jne 0x140005ab5
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd10
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 0x140005ad7
dec edi
jne 0x140005ce1
jmp 0x140005adf
mov byte [r13 + 0x89], 0
lea rdx, [rbp - 0x51]
lea rcx, [rbp - 1]
call fcn.140005220
nop
mov rcx, rax
call fcn.1400077c0
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 0x140005b60
add rbx, 8
cmp qword [rbx], 0
je 0x140005b3c
nop
mov rax, qword [rbx]
lea rcx, [rbp - 0x51]
cmp rax, rcx
je 0x140005b36
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005b20
cmp qword [rbx], 0
jne 0x140005b55
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd10
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 0x140005baf
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 1]
call fcn.140005220
nop
or r12d, 1
mov dword [rsp + 0x38], r12d
mov rcx, rax
call fcn.1400077c0
mov r9, qword [r13 + 0x98]
mov r8, rdi
mov edx, 1
mov rcx, rax
call fcn.140013210
cmp rdi, rax
je 0x140005baf
mov sil, 1
jmp 0x140005bb2
xor sil, sil
test r12b, 1
je 0x140005c2a
and r12d, 0xfffffffe
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
nop
mov rbx, qword [rbp - 0x21]
test rbx, rbx
je 0x140005c20
add rbx, 8
cmp qword [rbx], 0
je 0x140005bfc
nop
mov rax, qword [rbx]
lea rcx, [rbp - 0x21]
cmp rax, rcx
je 0x140005bf6
lea rbx, [rax + 8]
cmp qword [rbx], 0
jne 0x140005be0
cmp qword [rbx], 0
jne 0x140005c15
mov r8d, 0xb5
lea rdx, str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexutility
lea rcx, str.ITERATOR_LIST_CORRUPTED_
call fcn.14000bd10
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 0x140005e8a
cmp byte [r13 + 0x89], sil
je 0x140005e04
test rdi, rdi
jne 0x140005990
or rax, 0xffffffffffffffff
mov rcx, qword [rbp + 0x17]
sub rax, rcx
cmp rax, 8
jbe 0x140005df7
lea rbx, [rcx + 8]
cmp rbx, 0xfffffffffffffffe
ja 0x140005dea
mov rdx, qword [rbp + 0x1f]
cmp rdx, rbx
jae 0x140005c8e
mov r8, rcx
mov rdx, rbx
lea rcx, [rbp - 1]
call fcn.140008b90
mov rdx, qword [rbp + 0x1f]
mov rcx, qword [rbp + 0x17]
jmp 0x140005cab
test rbx, rbx
jne 0x140005cb4
mov qword [rbp + 0x17], r15
lea rax, [rbp + 7]
cmp rdx, 0x10
cmovae rax, qword [rbp + 7]
mov byte [rax], bl
jmp 0x140005990
test rbx, rbx
je 0x140005990
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 0x140005990
cmp edi, 2
je 0x140005d6c
cmp qword [rbp + 0x1f], 0x10
jb 0x140005cfa
mov rcx, qword [rbp + 7]
call fcn.140012f00
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005d5f
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005d4d
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 0x140005d30
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f00
nop
xor al, al
jmp 0x140005f0b
cmp qword [rbp + 0x1f], 0x10
jb 0x140005d7c
mov rcx, qword [rbp + 7]
call fcn.140012f00
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005ddf
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005dcd
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 0x140005db0
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f00
nop
jmp 0x140005f09
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 0x140005e14
mov rcx, qword [rbp + 7]
call fcn.140012f00
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005e7f
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005e6d
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 0x140005e50
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f00
nop
jmp 0x140005f09
cmp qword [rbp + 0x1f], 0x10
jb 0x140005e9a
mov rcx, qword [rbp + 7]
call fcn.140012f00
mov qword [rbp + 0x1f], 0xf
mov qword [rbp + 0x17], r15
mov byte [rbp + 7], 0
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x140005eff
mov edx, 3
lea rcx, [rsp + 0x30]
call fcn.14000cf80
mov r11, qword [rbp - 1]
cmp qword [r11 + 8], 0
je 0x140005eed
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 0x140005ed0
mov r11, qword [rbp - 1]
mov qword [r11 + 8], r15
lea rcx, [rsp + 0x30]
call fcn.14000cfd0
mov rcx, qword [rbp - 1]
call fcn.140012f00
nop
xor al, al
jmp 0x140005f0b
mov al, 1
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14000da10
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