Function at 0x140037690
Capabilities:
Write file on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xfc0]
mov eax, 0x10c0
call fcn.1400c20d0
sub rsp, rax
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x10f8], rbx
mov qword [rsp + 0x1100], rsi
mov qword [rsp + 0x1108], rdi
mov rax, qword [0x14016ca00]
xor rax, rsp
mov qword [rbp + 0xfb0], rax
mov rbx, rcx
mov r15, qword [rcx + 0x18]
mov qword [rsp + 0x50], r15
xor r12b, r12b
mov byte [rsp + 0x58], r12b
test r15, r15
je 0x140037724
mov rcx, qword [r15]
test rcx, rcx
je 0x14003771f
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x140037717
xor r12b, r12b
jmp 0x14003771f
mov byte [r15 + 8], 1
mov r12b, 1
mov byte [rsp + 0x58], r12b
xor edi, edi
cmp qword [rbx + 0x20], rdi
je 0x140037c11
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x38]
mov r13, rax
test rax, rax
je 0x140037c11
mov rdx, qword [rbx + 0x88]
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x68], rdi
mov word [rbp - 0x78], di
cmp word [rdx], di
jne 0x14003776e
mov r8d, edi
jmp 0x14003777c
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], di
jne 0x140037772
lea rcx, [rbp - 0x78]
call fcn.140006900
nop
mov r8d, 1
lea rdx, [rbp - 0x78]
lea rcx, [rsp + 0x68]
call fcn.140060df0
nop
cmp qword [rbp - 0x60], 8
jb 0x1400377ab
mov rcx, qword [rbp - 0x78]
call fcn.1400bd20c
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x68], rdi
mov word [rbp - 0x78], di
cmp qword [rsp + 0x78], 0
jne 0x140037866
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rdi, rdi
je 0x140037852
test rax, rax
je 0x14003784a
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
lea rax, [0x1401297d0]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCCustomPhraseLibLoader::SaveWordLib
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
mov r8, rdi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140015100
mov rcx, rdi
call fcn.1400bd2dc
test rbx, rbx
je 0x14003785f
mov rcx, rbx
call fcn.1400bd2dc
xor bl, bl
jmp 0x140037bea
lea rcx, [rsp + 0x48]
call fcn.14006d290
nop
mov dword [rsp + 0x20], 2
mov r9d, 2
mov r8d, 0x40000000
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x48]
call fcn.14006fad0
test al, al
jne 0x14003794f
mov ecx, 0x800
call fcn.1400bbc88
mov rdi, rax
mov ecx, 0x800
call fcn.1400bbc88
mov rbx, rax
test rdi, rdi
je 0x14003793b
test rax, rax
je 0x140037933
xor edx, edx
mov r8d, 0x800
mov rcx, rdi
call fcn.1400c2130
lea rax, [0x140129840]
mov qword [rsp + 0x20], rax
lea r9, str.RC::RCCustomPhraseLibLoader::SaveWordLib
lea r8, str._s__:__s
mov edx, 0x400
mov rcx, rdi
call fcn.140007140
xor edx, edx
mov r8d, 0x800
mov rcx, rbx
call fcn.1400c2130
lea r9, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r9, qword [rsp + 0x68]
mov r8, rdi
mov edx, 0x400
mov rcx, rbx
call fcn.140007140
mov rcx, rbx
call fcn.140015100
mov rcx, rdi
call fcn.1400bd2dc
test rbx, rbx
je 0x140037948
mov rcx, rbx
call fcn.1400bd2dc
xor bl, bl
jmp 0x140037bdf
mov dword [rsp + 0x30], edi
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
mov qword [rsp + 0x38], rax
mov ecx, dword [rbx + 0xa8]
mov dword [rsp + 0x40], ecx
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x140037999
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140037999
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x30]
mov r8d, 2
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_WriteFile]
movsxd rsi, dword [r13 + 0x186a0c]
cmp esi, dword [r13 + 0x186a04]
jge 0x140037bdd
lea r14, [rsi*4 + 4]
add r14, r13
mov r15, qword [rsp + 0x38]
nop dword [rax]
movsxd rax, dword [r14]
lea r9, [r15 + rax*2]
mov edx, 0x16
lea rcx, [rbp - 0x78]
lea rax, [rbp - 0x78]
mov r8, r9
sub r8, rax
nop word [rax + rax]
lea rax, [rdx + 0x7fffffe8]
test rax, rax
je 0x140037a04
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140037a04
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x1400379e0
jmp 0x140037a09
test rdx, rdx
jne 0x140037a0d
sub rcx, 2
mov word [rcx], di
test r9, r9
jne 0x140037a19
mov eax, edi
jmp 0x140037a2b
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [r9 + rax*2], 0
jne 0x140037a20
lea eax, [rax + 1]
lea rdi, [r9 + rax*2]
mov edx, 2
lea rcx, [rsp + 0x38]
lea rax, [rsp + 0x38]
mov r8, rdi
sub r8, rax
nop word [rax + rax]
lea rax, [rdx + 0x7ffffffc]
test rax, rax
je 0x140037a74
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140037a74
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x140037a50
jmp 0x140037a79
test rdx, rdx
jne 0x140037a7d
sub rcx, 2
xor eax, eax
mov word [rcx], ax
mov word [rbp - 0x48], ax
mov qword [rbp - 0x46], rax
mov qword [rbp - 0x3e], rax
mov qword [rbp - 0x36], rax
mov qword [rbp - 0x2e], rax
mov qword [rbp - 0x26], rax
mov qword [rbp - 0x1e], rax
mov qword [rbp - 0x16], rax
mov dword [rbp - 0xe], eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x78]
lea r8, str._s__s_
mov edx, 0x1f
lea rcx, [rbp - 0x48]
call fcn.140060500
lea rcx, [rbp - 0x48]
or rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140037ad0
lea r8d, [rax + rax]
test rbx, rbx
je 0x140037b05
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140037b05
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
lea rdx, [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test rdi, rdi
jne 0x140037b0e
xor eax, eax
jmp 0x140037b1c
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], 0
jne 0x140037b12
lea eax, [rax + 1]
lea r8, [rdi + rax*2]
mov edx, 0x7d1
lea rcx, [rbp]
lea rax, [rbp]
sub r8, rax
lea rax, [rdx + 0x7ffff82d]
test rax, rax
je 0x140037b57
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140037b57
mov word [rcx], ax
add rcx, 2
dec rdx
jne 0x140037b33
jmp 0x140037b5c
test rdx, rdx
jne 0x140037b60
sub rcx, 2
xor edi, edi
mov word [rcx], di
lea rcx, [rbp]
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rcx + rax*2], di
jne 0x140037b70
lea r8d, [rax + rax]
test rbx, rbx
je 0x140037bc5
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140037b9f
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x30]
lea rdx, [rbp]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140037bc5
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x30]
mov r8d, 4
lea rdx, [0x1401298b4]
call qword [sym.imp.KERNEL32.dll_WriteFile]
inc esi
add r14, 4
cmp esi, dword [r13 + 0x186a04]
jl 0x1400379c0
mov r15, qword [rsp + 0x50]
mov bl, 1
lea rcx, [rsp + 0x48]
call fcn.14006fa80
nop
cmp qword [rbp - 0x80], 8
jb 0x140037bfb
mov rcx, qword [rsp + 0x68]
call fcn.1400bd20c
mov qword [rbp - 0x80], 7
xor edi, edi
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
jmp 0x140037c13
xor bl, bl
test r15, r15
je 0x140037c30
test r12b, r12b
je 0x140037c30
mov rcx, qword [r15]
test rcx, rcx
je 0x140037c2b
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [r15 + 8], 0
mov qword [rsp + 0x50], rdi
movzx eax, bl
mov rcx, qword [rbp + 0xfb0]
xor rcx, rsp
call fcn.1400bcae0
lea r11, [rsp + 0x10c0]
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