Function at 0x140019d50
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x140071010]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r13, rdx
mov rbx, rcx
cmp r8d, 1
jne 0x14001a5ed
mov rcx, qword [rcx + 0x18]
cmp byte [rcx + 0x50], 0
je 0x140019db6
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x140019dae
cmp qword [r13 + 0x48], rdx
lea rdx, [0x14005d198]
je 0x140019dae
mov rdx, qword [r13 + 0x38]
mov r8b, 1
jmp 0x14001b043
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x30], rax
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x30], rax
xor edi, edi
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x79], rdi
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov r12d, 0x40
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], rdi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], dil
mov rcx, qword [rbx + 0x18]
add rcx, 0x10
lea rsi, vtable.CSimpleIniTempl_wchar_t__struct_SI_NoCase_wchar_t___class_SI_ConvertW_wchar_t__::OutputWriter.0
mov qword [rbp - 0x49], rsi
lea rax, vtable.CSimpleIniTempl_wchar_t__struct_SI_NoCase_wchar_t___class_SI_ConvertW_wchar_t__::StringWriter.0
mov qword [rbp - 0x49], rax
lea rax, [rbp - 0x29]
mov qword [rbp - 0x41], rax
xor r8d, r8d
lea rdx, [rbp - 0x49]
call fcn.14001b740
nop
mov qword [rbp - 0x49], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
movdqa xmm1, xmmword [0x140060440]
movdqu xmmword [rbp + 7], xmm1
mov byte [rbp - 9], dil
mov rax, qword [rbp - 0x19]
mov qword [rbp - 0x49], rax
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rdx, qword [rbp - 0x29]
mov dword [rbp - 0x51], edi
lea r9, [rbp - 0x51]
lea r8, [rbp - 0x49]
lea rcx, [rbp - 9]
call fcn.14001ef70
nop
mov esi, edi
mov qword [rbp - 0x61], rdi
lea rbx, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rbx, qword [rbp - 9]
mov r14, qword [rbp + 7]
mov rdx, qword [rbp - 0x69]
cmp rdx, r14
jl 0x140019f4a
cmp r14, 1
jne 0x140019edb
test rbx, rbx
jne 0x140019ec2
xor cl, cl
jmp 0x140019ec5
movzx ecx, byte [rbx]
mov rax, qword [rbp - 0x71]
mov byte [rax], cl
mov rsi, qword [rbp - 0x61]
inc rsi
mov qword [rbp - 0x61], rsi
jmp 0x140019f80
cmp r14, 2
jne 0x140019f01
test rbx, rbx
movzx ecx, di
je 0x140019eec
movzx ecx, word [rbx]
mov rax, qword [rbp - 0x71]
mov word [rax], cx
mov rsi, qword [rbp - 0x61]
add rsi, 2
mov qword [rbp - 0x61], rsi
jmp 0x140019f80
cmp r14, 4
jne 0x140019f24
test rbx, rbx
mov ecx, edi
je 0x140019f10
mov ecx, dword [rbx]
mov rax, qword [rbp - 0x71]
mov dword [rax], ecx
mov rsi, qword [rbp - 0x61]
add rsi, 4
mov qword [rbp - 0x61], rsi
jmp 0x140019f80
cmp r14, 8
jne 0x140019f4a
test rbx, rbx
mov rcx, rdi
je 0x140019f35
mov rcx, qword [rbx]
mov rax, qword [rbp - 0x71]
mov qword [rax], rcx
mov rsi, qword [rbp - 0x61]
add rsi, 8
mov qword [rbp - 0x61], rsi
jmp 0x140019f80
test r14, r14
jle 0x14001a050
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.14002c270
mov r8, r14
mov rcx, rax
test rbx, rbx
je 0x140019f75
mov rdx, rbx
call fcn.14003afb0
jmp 0x140019f7c
xor edx, edx
call fcn.1400388e0
mov rsi, qword [rbp - 0x61]
test rsi, rsi
jle 0x14001a04c
lea r15, [rsi + 1]
cmp r15, rsi
jne 0x140019f9b
mov r14, qword [rbp - 0x71]
jmp 0x14001a034
test r15, r15
jne 0x140019fc7
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x140019fb6
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov r14, rdi
jmp 0x14001a034
mov r14, qword [rbp - 0x71]
test r14, r14
jne 0x140019fdf
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
jmp 0x14001a031
mov rcx, qword [rbp - 0x59]
test rcx, rcx
cmovle rcx, r12
mov rax, qword [rbp - 0x69]
cmp rax, r15
jl 0x14001a001
sub rax, r15
cmp rax, rcx
jg 0x14001a001
mov qword [rbp - 0x61], r15
jmp 0x14001a034
mov rax, r15
cqo
idiv rcx
mov rbx, r15
sub rbx, rdx
add rbx, rcx
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x61], r15
mov r14, rax
lea rcx, [r14 + 1]
mov r8, rsi
mov rdx, r14
call fcn.14003afb0
mov byte [r14], 0xbf
jmp 0x14001a11c
mov rdx, qword [rbp - 0x69]
mov rax, rdx
sub rax, rsi
cmp rax, 1
jl 0x14001a074
mov rax, qword [rbp - 0x71]
mov byte [rsi + rax], 0xbf
mov rsi, qword [rbp - 0x61]
inc rsi
mov qword [rbp - 0x61], rsi
jmp 0x14001a120
lea rbx, [rsi + 1]
cmp rbx, rsi
jne 0x14001a086
mov rcx, qword [rbp - 0x71]
jmp 0x14001a118
test rbx, rbx
jne 0x14001a0b2
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001a0a1
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov rcx, rdi
jmp 0x14001a118
mov rcx, qword [rbp - 0x71]
test rcx, rcx
jne 0x14001a0ca
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
jmp 0x14001a115
mov r14, qword [rbp - 0x59]
test r14, r14
cmovle r14, r12
cmp rdx, rbx
jl 0x14001a0e8
sub rdx, rbx
cmp rdx, r14
jg 0x14001a0e8
mov qword [rbp - 0x61], rbx
jmp 0x14001a118
mov rax, rbx
cqo
idiv r14
sub r14, rdx
add r14, rbx
mov r8, r14
mov rdx, rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], r14
mov qword [rbp - 0x61], rbx
mov rcx, rax
mov byte [rcx + rsi], 0xbf
mov rsi, qword [rbp - 0x61]
test rsi, rsi
jg 0x14001a21a
mov rdx, qword [rbp - 0x69]
mov rax, rdx
sub rax, rsi
cmp rax, 1
jl 0x14001a151
mov rax, qword [rbp - 0x71]
mov byte [rsi + rax], 0xbb
mov rsi, qword [rbp - 0x61]
inc rsi
mov qword [rbp - 0x61], rsi
jmp 0x14001a2dc
lea rbx, [rsi + 1]
cmp rbx, rsi
jne 0x14001a167
mov rcx, qword [rbp - 0x71]
mov byte [rcx + rsi], 0xbb
jmp 0x14001a2d8
test rbx, rbx
jne 0x14001a19a
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001a182
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov rcx, rdi
mov byte [rcx + rsi], 0xbb
jmp 0x14001a2d8
mov rcx, qword [rbp - 0x71]
test rcx, rcx
jne 0x14001a1bc
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
mov rcx, rax
mov byte [rax + rsi], 0xbb
jmp 0x14001a2d8
mov r14, qword [rbp - 0x59]
test r14, r14
cmovle r14, r12
cmp rdx, rbx
jl 0x14001a1e1
sub rdx, rbx
cmp rdx, r14
jg 0x14001a1e1
mov qword [rbp - 0x61], rbx
mov byte [rcx + rsi], 0xbb
jmp 0x14001a2d8
mov rax, rbx
cqo
idiv r14
sub r14, rdx
add r14, rbx
mov r8, r14
mov rdx, rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], r14
mov qword [rbp - 0x61], rbx
mov rcx, rax
mov byte [rax + rsi], 0xbb
jmp 0x14001a2d8
lea r15, [rsi + 1]
cmp r15, rsi
jne 0x14001a22c
mov r14, qword [rbp - 0x71]
jmp 0x14001a2c5
test r15, r15
jne 0x14001a258
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001a247
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov r14, rdi
jmp 0x14001a2c5
mov r14, qword [rbp - 0x71]
test r14, r14
jne 0x14001a270
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
jmp 0x14001a2c2
mov rcx, qword [rbp - 0x59]
test rcx, rcx
cmovle rcx, r12
mov rax, qword [rbp - 0x69]
cmp rax, r15
jl 0x14001a292
sub rax, r15
cmp rax, rcx
jg 0x14001a292
mov qword [rbp - 0x61], r15
jmp 0x14001a2c5
mov rax, r15
cqo
idiv rcx
mov rbx, r15
sub rbx, rdx
add rbx, rcx
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x61], r15
mov r14, rax
lea rcx, [r14 + 1]
mov r8, rsi
mov rdx, r14
call fcn.14003afb0
mov byte [r14], 0xbb
mov rsi, qword [rbp - 0x61]
test rsi, rsi
jg 0x14001a3d6
mov rdx, qword [rbp - 0x69]
mov rax, rdx
sub rax, rsi
cmp rax, 1
jl 0x14001a30d
mov rax, qword [rbp - 0x71]
mov byte [rsi + rax], 0xef
mov rbx, qword [rbp - 0x61]
inc rbx
mov qword [rbp - 0x61], rbx
jmp 0x14001a498
lea rbx, [rsi + 1]
cmp rbx, rsi
jne 0x14001a323
mov rcx, qword [rbp - 0x71]
mov byte [rcx + rsi], 0xef
jmp 0x14001a494
test rbx, rbx
jne 0x14001a356
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001a33e
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov rcx, rdi
mov byte [rcx + rsi], 0xef
jmp 0x14001a494
mov rcx, qword [rbp - 0x71]
test rcx, rcx
jne 0x14001a378
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
mov rcx, rax
mov byte [rax + rsi], 0xef
jmp 0x14001a494
mov r14, qword [rbp - 0x59]
test r14, r14
cmovle r14, r12
cmp rdx, rbx
jl 0x14001a39d
sub rdx, rbx
cmp rdx, r14
jg 0x14001a39d
mov qword [rbp - 0x61], rbx
mov byte [rcx + rsi], 0xef
jmp 0x14001a494
mov rax, rbx
cqo
idiv r14
sub r14, rdx
add r14, rbx
mov r8, r14
mov rdx, rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], r14
mov qword [rbp - 0x61], rbx
mov rcx, rax
mov byte [rax + rsi], 0xef
jmp 0x14001a494
lea r15, [rsi + 1]
cmp r15, rsi
jne 0x14001a3e8
mov r14, qword [rbp - 0x71]
jmp 0x14001a481
test r15, r15
jne 0x14001a414
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001a403
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov r14, rdi
jmp 0x14001a481
mov r14, qword [rbp - 0x71]
test r14, r14
jne 0x14001a42c
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
jmp 0x14001a47e
mov rcx, qword [rbp - 0x59]
test rcx, rcx
cmovle rcx, r12
mov rax, qword [rbp - 0x69]
cmp rax, r15
jl 0x14001a44e
sub rax, r15
cmp rax, rcx
jg 0x14001a44e
mov qword [rbp - 0x61], r15
jmp 0x14001a481
mov rax, r15
cqo
idiv rcx
mov rbx, r15
sub rbx, rdx
add rbx, rcx
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x61], r15
mov r14, rax
lea rcx, [r14 + 1]
mov r8, rsi
mov rdx, r14
call fcn.14003afb0
mov byte [r14], 0xef
mov rbx, qword [rbp - 0x61]
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x14001a4aa
mov rax, rbx
mov rsi, qword [rbp - 0x71]
jmp 0x14001a4c1
cmp qword [r13 + 0x48], 0
je 0x14001a507
mov rcx, qword [r13 + 0x38]
mov rax, rbx
mov rsi, qword [rbp - 0x71]
test rcx, rcx
je 0x14001a507
cmp word [rcx], 0
je 0x14001a507
test rax, rax
js 0x14001a507
lea rdx, [0x14005e6d4]
call fcn.14003c228
mov r14, rax
test rax, rax
je 0x14001a507
mov r9, rax
mov r8, rbx
mov edx, 1
mov rcx, rsi
call fcn.14003dca0
mov rsi, rdi
cmp rax, rbx
sete sil
mov rcx, r14
call fcn.14003ca1c
jmp 0x14001a50a
mov rsi, rdi
mov ebx, 0xfffffffd
test rsi, rsi
cmovne ebx, edi
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x14001a550
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a54b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b07f
call fcn.140036964
movdqa xmm0, xmmword [0x140060440]
movdqu xmmword [rbp + 7], xmm0
mov byte [rbp - 9], 0
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14001a59c
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001a597
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b085
call fcn.140036964
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001a5ce
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x30], rax
mov eax, ebx
jmp 0x14001b04c
test r8d, r8d
jne 0x14001ad09
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x30], rax
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x30], rax
xor edi, edi
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x79], rdi
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov r12d, 0x40
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], rdi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], dil
mov rcx, qword [rcx + 0x18]
add rcx, 0x10
lea rsi, vtable.CSimpleIniTempl_wchar_t__struct_SI_NoCase_wchar_t___class_SI_ConvertW_wchar_t__::OutputWriter.0
mov qword [rbp - 0x49], rsi
lea rax, vtable.CSimpleIniTempl_wchar_t__struct_SI_NoCase_wchar_t___class_SI_ConvertW_wchar_t__::StringWriter.0
mov qword [rbp - 0x49], rax
lea rax, [rbp - 0x29]
mov qword [rbp - 0x41], rax
lea rdx, [rbp - 0x49]
call fcn.14001b740
nop
mov qword [rbp - 0x49], rsi
mov rax, qword [rbx + 0x18]
xorps xmm0, xmm0
movdqa xmm1, xmmword [0x140060430]
mov word [rbp - 0x49], di
movdqu xmmword [rbp - 0x39], xmm0
movdqu xmmword [rbp - 0x39], xmm1
cmp byte [rax + 0x50], dil
je 0x14001a861
mov rbx, qword [rbp - 0x19]
lea r15, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r15, qword [rbp - 0x29]
mov r9d, ebx
mov r14d, 0xffffffff
cmp rbx, 0xffffffffffffffff
cmove r9d, r14d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov esi, eax
test eax, eax
jle 0x14001a75c
cmp rbx, 0xffffffffffffffff
jne 0x14001a6f8
dec esi
movsxd rdx, esi
mov rax, qword [rbp - 0x39]
cmp rdx, rax
ja 0x14001a71c
mov qword [rbp - 0x39], rdx
lea rax, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rax, qword [rbp - 0x49]
mov word [rax + rdx*2], di
jmp 0x14001a728
sub rdx, rax
lea rcx, [rbp - 0x49]
call fcn.14001edf0
cmp rbx, 0xffffffffffffffff
cmove ebx, r14d
lea rax, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rax, qword [rbp - 0x49]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, r15
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
jmp 0x14001a770
xor r8d, r8d
lea rdx, [0x14005d198]
lea rcx, [rbp - 0x49]
call fcn.1400154b0
nop
mov qword [rbp - 0x61], rdi
lea rbx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rbx, qword [rbp - 0x49]
mov rax, qword [rbp - 0x39]
lea rsi, [rax + rax]
cmp qword [rbp - 0x69], rsi
jl 0x14001a7ea
cmp rsi, 2
jne 0x14001a7af
test rbx, rbx
movzx ecx, di
je 0x14001a7a1
movzx ecx, word [rbx]
mov rax, qword [rbp - 0x71]
mov word [rax], cx
add qword [rbp - 0x61], 2
jmp 0x14001a819
cmp rsi, 4
jne 0x14001a7cb
test rbx, rbx
mov ecx, edi
je 0x14001a7be
mov ecx, dword [rbx]
mov rax, qword [rbp - 0x71]
mov dword [rax], ecx
add qword [rbp - 0x61], 4
jmp 0x14001a819
cmp rsi, 8
jne 0x14001a7ea
test rbx, rbx
mov rcx, rdi
je 0x14001a7dc
mov rcx, qword [rbx]
mov rax, qword [rbp - 0x71]
mov qword [rax], rcx
add qword [rbp - 0x61], 8
jmp 0x14001a819
test rsi, rsi
jle 0x14001a819
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14002c270
mov r8, rsi
mov rcx, rax
test rbx, rbx
je 0x14001a811
mov rdx, rbx
call fcn.14003afb0
jmp 0x14001a819
xor edx, edx
call fcn.1400388e0
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x14001aa06
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001aa01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b079
jmp 0x14001aa01
mov rbx, qword [rbp - 0x19]
lea r15, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae r15, qword [rbp - 0x29]
mov r9d, ebx
mov r14d, 0xffffffff
cmp rbx, 0xffffffffffffffff
cmove r9d, r14d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
mov esi, eax
test eax, eax
jle 0x14001a909
cmp rbx, 0xffffffffffffffff
jne 0x14001a8a8
dec esi
movsxd rdx, esi
mov rax, qword [rbp - 0x39]
cmp rdx, rax
ja 0x14001a8cc
mov qword [rbp - 0x39], rdx
lea rax, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rax, qword [rbp - 0x49]
mov word [rax + rdx*2], di
jmp 0x14001a8d8
sub rdx, rax
lea rcx, [rbp - 0x49]
call fcn.14001edf0
cmp rbx, 0xffffffffffffffff
cmove ebx, r14d
lea rax, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rax, qword [rbp - 0x49]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8, r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_MultiByteToWideChar]
jmp 0x14001a91d
xor r8d, r8d
lea rdx, [0x14005d198]
lea rcx, [rbp - 0x49]
call fcn.1400154b0
nop
mov qword [rbp - 0x61], rdi
lea rbx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rbx, qword [rbp - 0x49]
mov rax, qword [rbp - 0x39]
lea rsi, [rax + rax]
cmp qword [rbp - 0x69], rsi
jl 0x14001a997
cmp rsi, 2
jne 0x14001a95c
test rbx, rbx
movzx ecx, di
je 0x14001a94e
movzx ecx, word [rbx]
mov rax, qword [rbp - 0x71]
mov word [rax], cx
add qword [rbp - 0x61], 2
jmp 0x14001a9c6
cmp rsi, 4
jne 0x14001a978
test rbx, rbx
mov ecx, edi
je 0x14001a96b
mov ecx, dword [rbx]
mov rax, qword [rbp - 0x71]
mov dword [rax], ecx
add qword [rbp - 0x61], 4
jmp 0x14001a9c6
cmp rsi, 8
jne 0x14001a997
test rbx, rbx
mov rcx, rdi
je 0x14001a989
mov rcx, qword [rbx]
mov rax, qword [rbp - 0x71]
mov qword [rax], rcx
add qword [rbp - 0x61], 8
jmp 0x14001a9c6
test rsi, rsi
jle 0x14001a9c6
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14002c270
mov r8, rsi
mov rcx, rax
test rbx, rbx
je 0x14001a9be
mov rdx, rbx
call fcn.14003afb0
jmp 0x14001a9c6
xor edx, edx
call fcn.1400388e0
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x14001aa06
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001aa01
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b08b
call fcn.140036964
movdqa xmm0, xmmword [0x140060430]
mov word [rbp - 0x49], di
movdqu xmmword [rbp - 0x39], xmm0
mov r14, qword [rbp - 0x61]
test r14, r14
jg 0x14001ab3a
mov rdx, qword [rbp - 0x69]
mov rax, rdx
sub rax, r14
cmp rax, 2
jl 0x14001aa53
mov edx, 0xfeff
mov rax, qword [rbp - 0x71]
mov word [r14 + rax], dx
mov rbx, qword [rbp - 0x61]
add rbx, 2
mov qword [rbp - 0x61], rbx
jmp 0x14001ac00
lea rbx, [r14 + 2]
cmp rbx, r14
jne 0x14001aa6f
mov rcx, qword [rbp - 0x71]
mov edx, 0xfeff
mov word [rcx + r14], dx
jmp 0x14001abfc
test rbx, rbx
jne 0x14001aaa8
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001aa8a
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov rcx, rdi
mov edx, 0xfeff
mov word [rcx + r14], dx
jmp 0x14001abfc
mov rcx, qword [rbp - 0x71]
test rcx, rcx
jne 0x14001aad0
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
mov rcx, rax
mov edx, 0xfeff
mov word [rax + r14], dx
jmp 0x14001abfc
mov rsi, qword [rbp - 0x59]
test rsi, rsi
cmovle rsi, r12
cmp rdx, rbx
jl 0x14001aafb
sub rdx, rbx
cmp rdx, rsi
jg 0x14001aafb
mov qword [rbp - 0x61], rbx
mov edx, 0xfeff
mov word [rcx + r14], dx
jmp 0x14001abfc
mov rax, rbx
cqo
idiv rsi
sub rsi, rdx
add rsi, rbx
mov r8, rsi
mov rdx, rcx
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rsi
mov qword [rbp - 0x61], rbx
mov rcx, rax
mov edx, 0xfeff
mov word [rax + r14], dx
jmp 0x14001abfc
lea r15, [r14 + 2]
cmp r15, r14
jne 0x14001ab4c
mov rsi, qword [rbp - 0x71]
jmp 0x14001abe5
test r15, r15
jne 0x14001ab78
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001ab67
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov rsi, rdi
jmp 0x14001abe5
mov rsi, qword [rbp - 0x71]
test rsi, rsi
jne 0x14001ab90
mov rdx, r15
lea rcx, [rsp + 0x30]
call fcn.14002c1f0
jmp 0x14001abe2
mov rcx, qword [rbp - 0x59]
test rcx, rcx
cmovle rcx, r12
mov rax, qword [rbp - 0x69]
cmp rax, r15
jl 0x14001abb2
sub rax, r15
cmp rax, rcx
jg 0x14001abb2
mov qword [rbp - 0x61], r15
jmp 0x14001abe5
mov rax, r15
cqo
idiv rcx
mov rbx, r15
sub rbx, rdx
add rbx, rcx
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x10]
mov qword [rbp - 0x71], rax
mov qword [rbp - 0x69], rbx
mov qword [rbp - 0x61], r15
mov rsi, rax
lea rcx, [rsi + 2]
mov r8, r14
mov rdx, rsi
call fcn.14003afb0
mov edx, 0xfeff
mov word [rsi], dx
mov rbx, qword [rbp - 0x61]
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x14001ac12
mov rax, rbx
mov rsi, qword [rbp - 0x71]
jmp 0x14001ac29
cmp qword [r13 + 0x48], 0
je 0x14001ac6f
mov rcx, qword [r13 + 0x38]
mov rax, rbx
mov rsi, qword [rbp - 0x71]
test rcx, rcx
je 0x14001ac6f
cmp word [rcx], 0
je 0x14001ac6f
test rax, rax
js 0x14001ac6f
lea rdx, [0x14005e6d4]
call fcn.14003c228
mov r14, rax
test rax, rax
je 0x14001ac6f
mov r9, rax
mov r8, rbx
mov edx, 1
mov rcx, rsi
call fcn.14003dca0
mov rsi, rdi
cmp rax, rbx
sete sil
mov rcx, r14
call fcn.14003ca1c
jmp 0x14001ac72
mov rsi, rdi
mov ebx, 0xfffffffd
test rsi, rsi
cmovne ebx, edi
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14001acb8
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001acb3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b091
call fcn.140036964
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001acea
lea rcx, [rsp + 0x30]
mov rax, qword [rsp + 0x30]
call qword [rax + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
lea rax, vtable.CVolObject.0
mov qword [rsp + 0x30], rax
mov eax, ebx
jmp 0x14001b04c
mov rcx, qword [rcx + 0x18]
cmp byte [rcx + 0x50], 0
je 0x14001b026
lea rax, vtable.CVolCommonBaseWithMemManager.0
mov qword [rsp + 0x30], rax
lea r15, vtable.CVolObject.0
mov qword [rsp + 0x30], r15
xor edi, edi
mov qword [rsp + 0x38], rdi
mov qword [rbp - 0x79], rdi
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov r12d, 0x40
mov qword [rbp - 0x59], r12
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], rdi
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], dil
mov rcx, qword [rbx + 0x18]
add rcx, 0x10
lea rsi, vtable.CSimpleIniTempl_wchar_t__struct_SI_NoCase_wchar_t___class_SI_ConvertW_wchar_t__::OutputWriter.0
mov qword [rbp - 0x49], rsi
lea rax, vtable.CSimpleIniTempl_wchar_t__struct_SI_NoCase_wchar_t___class_SI_ConvertW_wchar_t__::StringWriter.0
mov qword [rbp - 0x49], rax
lea rax, [rbp - 0x29]
mov qword [rbp - 0x41], rax
xor r8d, r8d
lea rdx, [rbp - 0x49]
call fcn.14001b740
nop
mov qword [rbp - 0x49], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 7], xmm0
movdqa xmm1, xmmword [0x140060440]
movdqu xmmword [rbp + 7], xmm1
mov byte [rbp - 9], dil
mov rax, qword [rbp - 0x19]
mov qword [rbp - 0x49], rax
lea rdx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rdx, qword [rbp - 0x29]
mov dword [rbp - 0x51], edi
lea r9, [rbp - 0x51]
lea r8, [rbp - 0x49]
lea rcx, [rbp - 9]
call fcn.14001eb60
nop
mov ebx, edi
mov qword [rbp - 0x61], rbx
lea rsi, [rbp - 9]
cmp qword [rbp + 0xf], 0x10
cmovae rsi, qword [rbp - 9]
mov r14, qword [rbp + 7]
cmp qword [rbp - 0x69], r14
jl 0x14001aea8
cmp r14, 1
jne 0x14001ae39
test rsi, rsi
jne 0x14001ae20
xor cl, cl
jmp 0x14001ae23
movzx ecx, byte [rsi]
mov rax, qword [rbp - 0x71]
mov byte [rax], cl
mov rbx, qword [rbp - 0x61]
inc rbx
mov qword [rbp - 0x61], rbx
jmp 0x14001aeda
cmp r14, 2
jne 0x14001ae5f
test rsi, rsi
movzx ecx, di
je 0x14001ae4a
movzx ecx, word [rsi]
mov rax, qword [rbp - 0x71]
mov word [rax], cx
mov rbx, qword [rbp - 0x61]
add rbx, 2
mov qword [rbp - 0x61], rbx
jmp 0x14001aeda
cmp r14, 4
jne 0x14001ae82
test rsi, rsi
mov ecx, edi
je 0x14001ae6e
mov ecx, dword [rsi]
mov rax, qword [rbp - 0x71]
mov dword [rax], ecx
mov rbx, qword [rbp - 0x61]
add rbx, 4
mov qword [rbp - 0x61], rbx
jmp 0x14001aeda
cmp r14, 8
jne 0x14001aea8
test rsi, rsi
mov rcx, rdi
je 0x14001ae93
mov rcx, qword [rsi]
mov rax, qword [rbp - 0x71]
mov qword [rax], rcx
mov rbx, qword [rbp - 0x61]
add rbx, 8
mov qword [rbp - 0x61], rbx
jmp 0x14001aeda
test r14, r14
jle 0x14001aeda
mov rdx, r14
lea rcx, [rsp + 0x30]
call fcn.14002c270
mov r8, r14
mov rcx, rax
test rsi, rsi
je 0x14001aecf
mov rdx, rsi
call fcn.14003afb0
jmp 0x14001aed6
xor edx, edx
call fcn.1400388e0
mov rbx, qword [rbp - 0x61]
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x14001aeec
mov rax, rbx
mov rsi, qword [rbp - 0x71]
jmp 0x14001af03
cmp qword [r13 + 0x48], 0
je 0x14001af49
mov rcx, qword [r13 + 0x38]
mov rax, rbx
mov rsi, qword [rbp - 0x71]
test rcx, rcx
je 0x14001af49
cmp word [rcx], 0
je 0x14001af49
test rax, rax
js 0x14001af49
lea rdx, [0x14005e6d4]
call fcn.14003c228
mov r14, rax
test rax, rax
je 0x14001af49
mov r9, rax
mov r8, rbx
mov edx, 1
mov rcx, rsi
call fcn.14003dca0
mov rsi, rdi
cmp rax, rbx
sete sil
mov rcx, r14
call fcn.14003ca1c
jmp 0x14001af4c
mov rsi, rdi
mov ebx, 0xfffffffd
test rsi, rsi
cmovne ebx, edi
mov rdx, qword [rbp + 0xf]
cmp rdx, 0x10
jb 0x14001af92
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001af8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b097
call fcn.140036964
movdqa xmm0, xmmword [0x140060440]
movdqu xmmword [rbp + 7], xmm0
mov byte [rbp - 9], 0
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14001afde
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001afd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001b073
call fcn.140036964
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov byte [rbp - 0x29], 0
lea rax, vtable.CVolMem.0
mov qword [rsp + 0x30], rax
mov rdx, qword [rbp - 0x71]
test rdx, rdx
je 0x14001b011
lea rcx, [rsp + 0x30]
mov r8, qword [rsp + 0x30]
call qword [r8 + 0x18]
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rdi
mov qword [rbp - 0x69], rdi
mov qword [rsp + 0x30], r15
mov eax, ebx
jmp 0x14001b04c
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x14001b040
cmp qword [r13 + 0x48], rdx
lea rdx, [0x14005d198]
je 0x14001b040
mov rdx, qword [r13 + 0x38]
xor r8d, r8d
add rcx, 0x10
call fcn.14001b6a0
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140036870
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14003c0e4
nop
call fcn.14003c0e4
nop
call fcn.14003c0e4
nop
call fcn.14003c0e4
nop
call fcn.14003c0e4
nop
call fcn.14003c0e4
nop
call fcn.14003c0e4
int3