Function at 0x100017570
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r14d, r14d
mov rsi, rdx
mov rdi, rcx
mov dword [rax + 8], r14d
cmp rcx, r14
je 0x100017872
cmp rdx, r14
je 0x100017872
call fcn.1000173f0
lea r15d, [r14 + 1]
cmp eax, r15d
jne 0x1000176e2
call qword [sym.imp.msvcrt.dll___iob_func]
add rax, 0x30
cmp rdi, rax
jne 0x1000175d3
mov ecx, 0xfffffff5
jmp 0x1000175eb
call qword [sym.imp.msvcrt.dll___iob_func]
add rax, 0x60
cmp rdi, rax
jne 0x1000176c9
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rsi
mov dword [rsp + 0x70], r14d
mov r12, rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea r9, [rsp + 0x70]
mov rdx, rsi
mov rcx, r12
mov r8d, eax
mov ebx, eax
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
cmp eax, r14d
je 0x100017628
cmp ebx, dword [rsp + 0x70]
je 0x100017685
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 8
jne 0x1000176ab
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, r14d
mov ebp, eax
cmp eax, r14d
jbe 0x100017685
mov r13d, 0x400
mov eax, ebx
mov edi, ebp
lea r9, [rsp + 0x70]
sub edi, ebx
lea rdx, [rsi + rax*2]
mov rcx, r12
cmp edi, r13d
mov qword [rsp + 0x20], r14
cmova edi, r13d
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
cmp eax, r14d
je 0x10001768d
cmp edi, dword [rsp + 0x70]
jne 0x10001768d
add ebx, r13d
cmp ebx, ebp
jb 0x10001764c
mov eax, r15d
jmp 0x10001788a
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x60]
call fcn.100017218
call fcn.100017290
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x60]
call fcn.100017218
call fcn.100017290
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
jne 0x100017888
mov ecx, 0x42b
jmp 0x100017882
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [0x1000804a0]
xor edx, edx
mov r8d, 0x100
mov r12d, eax
call sub.msvcrt.dll_memset
mov ebp, r14d
cmp r12d, r14d
jbe 0x100017685
mov eax, 0xff
mov ebx, r12d
mov dword [rsp + 0x70], r14d
sub ebx, ebp
cmp ebx, eax
cmova ebx, eax
mov eax, ebp
lea r13, [rsi + rax*2]
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov r9d, ebx
mov r8, r13
xor edx, edx
mov ecx, eax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rsp + 0x70], eax
cmp eax, r14d
je 0x100017854
cmp eax, 0xff
jbe 0x1000177b6
add eax, 0xffffff01
cmp eax, 3
jbe 0x100017776
shr eax, 1
sub ebx, eax
jmp 0x100017778
dec ebx
mov dword [rsp + 0x70], r14d
cmp ebx, r14d
jne 0x100017728
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
jne 0x100017798
mov ecx, 0x42b
call qword [sym.imp.KERNEL32.dll_SetLastError]
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x30]
call fcn.100017218
call fcn.100017290
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, ebx
lea rcx, [0x1000804a0]
mov r8d, 0x100
cmovb ebx, eax
xor edx, edx
call sub.msvcrt.dll_memset
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov qword [rsp + 0x38], r14
mov ecx, eax
lea rax, [0x1000804a0]
mov qword [rsp + 0x30], r14
mov r9d, ebx
mov r8, r13
xor edx, edx
mov dword [rsp + 0x28], 0xff
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rsp + 0x70], eax
cmp eax, r14d
je 0x100017836
lea r8, [0x1000804a0]
lea rdx, [0x100003510]
mov rcx, rdi
add ebp, ebx
call qword [sym.imp.msvcrt.dll_fprintf]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_fflush]
cmp r12d, ebp
jmp 0x100017708
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x30]
call fcn.100017218
call fcn.100017290
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x30]
call fcn.100017218
call fcn.100017290
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, r14d
jne 0x100017888
mov ecx, 0x57
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret