Function at 0x14003e620
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov r15d, r8d
mov ecx, 0x18
mov rdi, r9
mov rsi, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
test rax, rax
jne 0x14003e679
lea ecx, [rax + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, str.smack
lea rdx, str._s:_out_of_memory_error_n
call fcn.140001010
lea ecx, [r14 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, dword [rax + 0x14]
mov r8d, 0
mov edx, dword [rsp + 0x70]
mov r9d, r8d
mov dword [rax + 0x10], r15d
test dl, 2
mov eax, r8d
mov qword [r14], rdi
mov qword [rsp + 0x50], rbp
mov r10d, 4
mov ebp, 2
mov qword [rsp + 0x68], r13
cmova r9d, ebp
and r9d, 0xfffffffb
test dl, 4
cmova eax, r10d
and ecx, 0xfffffff0
or r9d, eax
mov eax, edx
and eax, 1
and r9d, 0xfffffff7
xor ecx, eax
mov eax, 8
or r9d, ecx
lea ecx, [r15 + 1]
test dl, 8
cmova r8d, eax
or r9d, r8d
mov dword [r14 + 0x14], r9d
mov edi, dword [rbx + 8]
and edi, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r13, rax
test rax, rax
jne 0x14003e721
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, str.smack
lea rdx, str._s:_out_of_memory_error_n
call fcn.140001010
lea ecx, [rbp - 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov qword [rsp + 0x60], r12
mov r12, r15
test edi, edi
je 0x14003e762
test r15d, r15d
je 0x14003e770
mov rbp, rsi
mov rdi, r13
sub rbp, r13
mov rsi, r15
nop
movzx ecx, byte [rdi + rbp]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rdi], al
lea rdi, [rdi + 1]
sub rsi, 1
jne 0x14003e740
mov rsi, qword [rsp + 0x58]
mov ebp, 2
jmp 0x14003e770
mov r8, r15
mov rdx, rsi
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov byte [r12 + r13], 0
test byte [r14 + 0x14], 1
mov r12, qword [rsp + 0x60]
mov qword [r14 + 8], r13
je 0x14003e789
or dword [rbx + 8], 2
test byte [r14 + 0x14], 2
je 0x14003e794
or dword [rbx + 8], 4
mov r8d, r15d
mov rdx, rsi
mov rcx, rbx
call fcn.14003e540
test byte [r14 + 0x14], 4
je 0x14003e839
test byte [rbx + 8], 1
je 0x14003e7fb
mov ecx, 0x80
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov r8d, dword [rbx + 0x548]
mov edx, 1
mov r9d, eax
cmp r8d, edx
jb 0x14003e7e2
mov ecx, edx
cmp dword [rbx + rcx*4 + 0x3c], r9d
je 0x14003e839
inc edx
cmp edx, r8d
jbe 0x14003e7d2
lea ecx, [r8 + 1]
mov dword [rbx + 0x548], ecx
mov dword [rbx + rcx*4 + 0x3c], r9d
mov byte [r9 + rbx + 0x444], cl
jmp 0x14003e839
mov edx, dword [rbx + 0x548]
mov ecx, 1
cmp edx, ecx
jb 0x14003e822
nop word [rax + rax]
mov eax, ecx
cmp dword [rbx + rax*4 + 0x3c], 0x80
je 0x14003e839
inc ecx
cmp ecx, edx
jbe 0x14003e810
lea ecx, [rdx + 1]
mov dword [rbx + 0x548], ecx
mov dword [rbx + rcx*4 + 0x3c], 0x80
mov byte [rbx + 0x4c4], cl
mov eax, dword [rbx + 0x18]
mov esi, dword [rbx + 0x1c]
inc eax
cmp eax, esi
jb 0x14003e8b2
lea esi, [rsi*2 + 1]
mov ecx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
jne 0x14003e888
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea r8, str.smack
lea rdx, str._s:_out_of_memory_error_n
call fcn.140001010
lea ecx, [rdi + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14003e8ab
mov r8d, dword [rbx + 0x18]
mov rcx, rdi
shl r8, 3
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx + 0x10], rdi
mov dword [rbx + 0x1c], esi
mov ecx, dword [rbx + 0x18]
mov rax, qword [rbx + 0x10]
mov rbp, qword [rsp + 0x50]
mov r13, qword [rsp + 0x68]
mov qword [rax + rcx*8], r14
inc dword [rbx + 0x18]
add rsp, 0x20
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret