Function at 0x140001480
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x658]
sub rsp, 0x730
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x600], rax
mov rsi, rdx
mov ebx, ecx
xor r12d, r12d
mov edi, r12d
xor edx, edx
mov r8d, 0x188
lea rcx, [rbp + 0x270]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0x270]
call fcn.140002aa0
nop
xor edx, edx
mov r8d, 0x188
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rbp + 0xe0]
call fcn.140002aa0
nop
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x40], xmm1
movdqu xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], r12b
movsxd rax, dword [0x14017a368]
test eax, eax
jne 0x140001559
mov r10d, 1
mov dword [0x140177080], r10d
mov eax, r10d
mov dword [0x14017a368], eax
mov dword [0x14017a36c], eax
jmp 0x140001570
movsxd rdx, dword [0x14017a36c]
cmp edx, 1
jne 0x140001e08
mov r10d, dword [0x140177080]
cmp eax, ebx
jge 0x14000165c
nop dword [rax + rax]
movsxd rcx, eax
mov r9, qword [rsi + rcx*8]
cmp byte [r9], 0x2d
jne 0x14000159b
movsx ecx, byte [r9 + 1]
cmp cl, 0x2d
je 0x1400015ac
test cl, cl
jne 0x1400015fe
inc eax
mov dword [0x14017a368], eax
cmp eax, ebx
jl 0x140001580
jmp 0x14000165c
cmp byte [r9 + 2], 0
je 0x14000160e
mov rdx, rsi
mov ecx, ebx
call fcn.140001060
mov ecx, eax
not eax
test eax, eax
je 0x140001605
cmp ecx, 0x3f
je 0x140001e36
cmp ecx, 0x48
je 0x1400015ed
cmp ecx, 0x56
jne 0x140001530
mov eax, 0x76
test edi, edi
cmovne eax, edi
mov edi, eax
jmp 0x140001530
mov eax, 0x68
test edi, edi
cmovne eax, edi
mov edi, eax
jmp 0x140001530
mov ebx, ecx
jmp 0x140001e15
mov r10d, dword [0x140177080]
jmp 0x14000165c
cmp eax, r10d
je 0x14000164a
jle 0x140001636
nop word [rax + rax]
lea r8d, [rax - 1]
mov edx, eax
mov rax, qword [rsi + r8*8]
mov qword [rsi + rdx*8], rax
mov eax, r8d
cmp r8d, r10d
jg 0x140001620
movsxd rax, r10d
mov qword [rsi + rax*8], r9
mov r10d, dword [0x140177080]
mov eax, dword [0x14017a368]
inc eax
mov dword [0x14017a368], eax
inc r10d
mov dword [0x140177080], r10d
cmp edi, 0x68
jne 0x140001699
lea rcx, str.Usage:_recrypt__OPTIONS__DBIN_DBOUT_nRecrypt_PASSIN_passworded_DBIN_database_to_PASSOUT_passworded_DBOUT_database__nwith_PASSIN_and_PASSOUT_read_from_stdin__one_per_line._n_nOptions:_n________help_t_t_tdisplay_this_help_and_exit_n________version_t_t_toutput_version_information_and_exit
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_puts]
nop
lea rcx, [rbp + 0x10]
call fcn.1400020c0
nop
lea rcx, [rbp + 0xe0]
call fcn.140002cc0
nop
lea rcx, [rbp + 0x270]
call fcn.140002cc0
xor eax, eax
jmp 0x140001e5e
mov r15, qword [rsi]
mov qword [rsp + 0x30], r15
cmp edi, 0x76
jne 0x1400016b7
mov rdx, r15
lea rcx, str._s_unversioned_n
call fcn.140001250
jmp 0x14000166f
sub ebx, r10d
cmp ebx, 2
je 0x1400016e4
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, r15
mov r8, r15
lea rdx, str._s:_wrong_number_of_arguments_nTry___s___help_for_more_information._n
mov rcx, rax
call fcn.140001010
jmp 0x140001e36
mov edx, 0xff
lea rcx, [rbp + 0x400]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_gets_s]
mov edx, 0xff
lea rcx, [rbp + 0x500]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_gets_s]
lea rax, [rbp + 0x400]
mov rdi, 0xffffffffffffffff
mov r14, rdi
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140001720
mov rax, qword [rbp + 0x28]
cmp r14, rax
ja 0x14000175d
lea rbx, [rbp + 0x10]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x10]
mov qword [rbp + 0x20], r14
mov r8, r14
lea rdx, [rbp + 0x400]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r14], 0
jmp 0x140001770
lea r9, [rbp + 0x400]
mov rdx, r14
lea rcx, [rbp + 0x10]
call fcn.1400022b0
movsxd rcx, dword [0x140177080]
mov r14, qword [rsi + rcx*8]
inc ecx
mov dword [0x140177080], ecx
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
mov r8, rdi
inc r8
cmp byte [r14 + r8], 0
jne 0x140001795
mov rdx, r14
lea rcx, [rbp - 0x38]
call fcn.140002170
nop
mov r9d, 1
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x270]
call fcn.140002f20
movzx ebx, al
lea rcx, [rbp - 0x38]
call fcn.1400020c0
test bl, bl
jne 0x140001802
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r9, r14
mov r8, r15
lea rdx, str._s:_cannot_open___s_n
call fcn.140001010
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rax, [rbp + 0x500]
mov r14, rdi
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x140001810
mov rax, qword [rbp + 0x28]
cmp r14, rax
ja 0x14000184d
lea rbx, [rbp + 0x10]
cmp rax, 0xf
cmova rbx, qword [rbp + 0x10]
mov qword [rbp + 0x20], r14
mov r8, r14
lea rdx, [rbp + 0x500]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r14], 0
jmp 0x140001860
lea r9, [rbp + 0x500]
mov rdx, r14
lea rcx, [rbp + 0x10]
call fcn.1400022b0
movsxd rcx, dword [0x140177080]
mov rsi, qword [rsi + rcx*8]
inc ecx
mov dword [0x140177080], ecx
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
mov r8, rdi
nop word [rax + rax]
inc r8
cmp byte [rsi + r8], 0
jne 0x140001890
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140002170
nop
xor r9d, r9d
lea r8, [rbp + 0x10]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0xe0]
call fcn.140002f20
movzx ebx, al
lea rcx, [rsp + 0x40]
call fcn.1400020c0
test bl, bl
jne 0x1400018fd
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
mov r9, rsi
mov r8, r15
lea rdx, str._s:_cannot_open___s_n
call fcn.140001010
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov qword [rbp + 0x70], r12
mov r14d, 0x800
lea rdx, [rbp + 0x60]
lea rcx, [rbp + 0x270]
call fcn.140004630
mov r12, qword [rbp + 0x60]
mov r13, qword [rbp + 0x68]
cmp r12, r13
je 0x140001c5b
mov rdx, r12
lea rcx, [rbp + 0xb8]
call fcn.140001f10
nop
lea r8, [rbp + 0xb8]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x270]
call fcn.140004870
mov r15, qword [rax]
mov rcx, qword [rax + 8]
xor edx, edx
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rbp + 0x40], r15
mov rbx, qword [rbp + 0x48]
mov qword [rbp + 0x48], rcx
test rbx, rbx
je 0x1400019a1
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400019a1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400019a1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x1400019d3
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400019d3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400019d3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
test r15, r15
je 0x140001cf2
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x48]
test eax, eax
jne 0x140001cf2
lea r8, [rbp + 0xb8]
lea rdx, [rbp]
lea rcx, [rbp + 0xe0]
call fcn.140004870
mov rsi, qword [rax]
mov rcx, qword [rax + 8]
xor edx, edx
mov qword [rax], rdx
mov qword [rax + 8], rdx
mov qword [rbp + 0x30], rsi
mov rbx, qword [rbp + 0x38]
mov qword [rbp + 0x38], rcx
test rbx, rbx
je 0x140001a4e
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140001a4e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140001a4e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rbx, qword [rbp + 8]
test rbx, rbx
je 0x140001a80
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140001a80
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140001a80
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
test rsi, rsi
je 0x140001caa
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x48]
test eax, eax
jne 0x140001caa
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
mov rax, qword [r15]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x60], rcx
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x78], 0xf
mov dword [rsp + 0x68], 1
xor ebx, ebx
mov qword [rbp - 0x80], rbx
mov byte [rsp + 0x70], bl
mov dword [rbp - 0x70], ebx
lea rcx, [rbp - 0x68]
mov qword [rsp + 0x60], rcx
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x48], 0xf
mov dword [rbp - 0x68], ebx
mov qword [rbp - 0x50], rbx
mov byte [rbp - 0x60], bl
mov dword [rbp - 0x40], ebx
mov byte [rsp + 0x20], bl
lea r9, [rsp + 0x68]
lea r8, [rbp - 0x68]
lea rdx, [rbp + 0x50]
mov rcx, r15
call qword [rax + 8]
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], bl
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], 0xf
mov byte [rbp + 0x78], bl
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x98]
call qword [rax + 0x10]
test eax, eax
jne 0x140001bf8
mov rax, qword [rsi]
xor r9d, r9d
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x98]
mov rcx, rsi
call qword [rax + 0x20]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x18]
sub r14d, 1
jne 0x140001bdb
lea rax, [rbp + 0x1f0]
mov qword [rbp - 0x18], rax
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140001c9e
cmp dword [rbp + 0x23c], 0x7fffffff
je 0x140001c88
lea rcx, [rbp + 0xe0]
call fcn.140005f70
nop
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov r14d, 0x800
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
lea r8, [rbp + 0x78]
lea rdx, [rbp + 0x98]
call qword [rax + 0x10]
test eax, eax
je 0x140001b62
lea rcx, [rbp + 0x78]
call fcn.1400020c0
nop
lea rcx, [rbp + 0x98]
call fcn.1400020c0
nop
mov rbx, qword [rbp + 0x58]
test rbx, rbx
je 0x140001c42
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140001c42
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140001c42
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rbp + 0xb8]
call fcn.1400020c0
add r12, 0x20
cmp r12, r13
jne 0x140001930
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140001d3a
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp + 0x23c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
movups xmm6, xmmword [rbp + 0xb8]
movups xmm7, xmmword [rbp + 0xc8]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x50], xmm7
lea r9, [rsp + 0x40]
mov r8, qword [rsp + 0x30]
lea rdx, str._s:_cannot_open___s_n
mov rcx, rax
call fcn.140001010
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
movups xmm6, xmmword [rbp + 0xb8]
movups xmm7, xmmword [rbp + 0xc8]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x50], xmm7
lea r9, [rsp + 0x40]
mov r8, qword [rsp + 0x30]
lea rdx, str._s:_cannot_open___s_n
mov rcx, rax
call fcn.140001010
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
mov eax, dword [rbp + 0x23c]
cmp eax, 0x7fffffff
jne 0x140001d5b
dec eax
mov dword [rbp + 0x23c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rcx, [rbp + 0xe0]
call fcn.140005f70
nop
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
lea rcx, [rbp + 0x60]
call fcn.140002030
nop
lea rcx, [rbp + 0x10]
call fcn.1400020c0
nop
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x140001dc2
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140001dc2
mov rbx, qword [rbp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140001dc2
mov rcx, qword [rbp + 0x38]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x140001679
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140001679
mov rbx, qword [rbp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140001679
mov rcx, qword [rbp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140001679
mov rcx, rax
mov rax, rdx
add rax, qword [rsi + rcx*8]
movsx ebx, byte [rax]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9d, ebx
mov r8, qword [rsi]
lea rdx, str._s:_unrecognized_option____c_n
mov rcx, rax
call fcn.140001010
nop
lea rcx, [rbp + 0x10]
call fcn.1400020c0
nop
lea rcx, [rbp + 0xe0]
call fcn.140002cc0
nop
lea rcx, [rbp + 0x270]
call fcn.140002cc0
mov eax, 1
mov rcx, qword [rbp + 0x600]
xor rcx, rsp
call fcn.14012fde0
lea r11, [rsp + 0x730]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret