Function at 0x14006e680
Capabilities:
Accept command line arguments

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rbp, rax
movzx eax, word [rax]
test ax, ax
je 0x14006c5d0
mov rdx, rbp
mov ebx, 2
jmp 0x14006c32c
add rdx, 2
movzx eax, word [rdx]
test ax, ax
je 0x14006c347
cmp ax, 0x20
je 0x14006c338
cmp ax, 9
jne 0x14006c320
add rdx, 2
movzx eax, word [rdx]
add ebx, 1
test ax, ax
jne 0x14006c32c
mov qword [rsp + 0x38], 0
mov r8, rbp
xor edx, edx
mov r9d, 0xffffffff
mov qword [rsp + 0x30], 0
mov ecx, 0xfde9
mov r13, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call r13
mov r12d, eax
test eax, eax
jg 0x14006c3c0
xor r9d, r9d
lea r8, str.Out_of_memory___aborting
lea rdx, str.Fatal_Error
xor ebx, ebx
mov ecx, 0x10
call sub.SDL2.dll_SDL_ShowSimpleMessageBox
mov eax, ebx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea esi, [rax + rbx*8]
mov r9d, 4
mov r8d, 0x3000
xor ecx, ecx
movsxd rsi, esi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
je 0x14006c38b
movsxd rbx, ebx
xor edx, edx
mov dword [rsp + 0x28], r12d
mov r9d, 0xffffffff
lea rbx, [rax + rbx*8]
mov r8, rbp
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], rbx
call r13
test rbx, rbx
je 0x14006c38b
movzx edx, byte [rbx]
test dl, dl
je 0x14006c57c
xor eax, eax
cmp dl, 0x20
je 0x14006c440
cmp dl, 9
jne 0x14006c474
nop dword [rax + rax]
add rbx, 1
movzx edx, byte [rbx]
cmp dl, 0x20
je 0x14006c440
cmp dl, 9
je 0x14006c440
cmp dl, 0x22
je 0x14006c520
mov ebp, eax
test dl, dl
jne 0x14006c47d
cmp ebp, eax
jne 0x14006c4c0
movzx edx, byte [rbx]
test dl, dl
je 0x14006c57e
movsxd rax, ebp
jmp 0x14006c431
cmp dl, 0x22
je 0x14006c520
movsxd rdx, eax
lea ebp, [rax + 1]
mov qword [rdi + rdx*8], rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14006c460
cmp dl, 9
je 0x14006c4b5
cmp dl, 0x20
jne 0x14006c4a5
jmp 0x14006c4b5
cmp dl, 9
je 0x14006c4b5
add rbx, 1
movzx edx, byte [rbx]
test dl, dl
je 0x14006c460
cmp dl, 0x20
jne 0x14006c4a0
mov byte [rbx], 0
add rbx, 1
cmp ebp, eax
je 0x14006c464
mov rax, qword [rdi + rax*8]
cmp byte [rax], 0
je 0x14006c464
movzx edx, byte [rax + 1]
test dl, dl
jne 0x14006c4de
jmp 0x14006c464
movzx edx, byte [rcx + 1]
mov rax, rcx
test dl, dl
je 0x14006c464
lea rcx, [rax + 1]
test rax, rax
je 0x14006c4d3
cmp dl, 0x22
jne 0x14006c4d3
cmp byte [rax], 0x5c
mov rdx, rcx
mov r8d, 0x22
jne 0x14006c4d3
jmp 0x14006c503
mov rdx, r9
mov byte [rax], r8b
movzx r8d, byte [rdx + 1]
lea r9, [rdx + 1]
mov rax, rdx
test r8b, r8b
jne 0x14006c500
mov byte [rdx], 0
jmp 0x14006c4d3
cmp byte [rbx + 1], 0
lea rdx, [rbx + 1]
jne 0x14006c534
mov ebp, eax
mov rbx, rdx
jmp 0x14006c460
movsxd rcx, eax
lea ebp, [rax + 1]
mov qword [rdi + rcx*8], rdx
movzx r9d, byte [rbx + 1]
test r9b, r9b
je 0x14006c52c
mov r8d, r9d
jmp 0x14006c561
add rdx, 1
movzx ecx, byte [rdx]
mov r9d, r8d
test cl, cl
je 0x14006c52c
mov r8d, ecx
cmp r8b, 0x22
jne 0x14006c550
cmp r9b, 0x5c
je 0x14006c550
mov rbx, rdx
mov byte [rbx], 0
add rbx, 1
jmp 0x14006c4bc
xor ebp, ebp
movsxd rax, ebp
mov qword [rdi + rax*8], 0
call sub.SDL2.dll_SDL_SetMainReady
mov rdx, rdi
mov ecx, ebp
call fcn.140066590
mov rdx, rsi
mov rcx, rdi
mov rsi, qword [sym.imp.KERNEL32.dll_VirtualFree]
mov ebx, eax
mov r8d, 0x4000
call rsi
mov r8d, 0x8000
xor edx, edx
mov rcx, rdi
call rsi
mov eax, ebx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ebx, 2
jmp 0x14006c347
jmp 0x14006c2f0
push rdi
push rsi
push rbx
sub rsp, 0x90
xor esi, esi
call fcn.14006b340
call sub.api_ms_win_crt_runtime_l1_1_0.dll___p__acmdln
mov rbx, qword [rax]
test rbx, rbx
jne 0x14006e6cb
jmp 0x14006e741
test cl, cl
je 0x14006e6f8
and esi, 1
je 0x14006e6e0
mov esi, 1
call sub.api_ms_win_crt_multibyte_l1_1_0.dll__ismbblead
test eax, eax
je 0x14006e6c7
cmp byte [rbx + 1], 1
sbb rbx, 0xffffffffffffffff
add rbx, 1
movsx ecx, byte [rbx]
cmp cl, 0x20
jle 0x14006e6a8
mov eax, esi
xor eax, 1
cmp cl, 0x22
cmove esi, eax
jmp 0x14006e6b6
test cl, cl
je 0x14006e6f8
nop dword [rax]
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
je 0x14006e6f8
cmp al, 0x20
jle 0x14006e6e8
lea rdx, [rsp + 0x20]
xor eax, eax
mov ecx, 0xd
mov rdi, rdx
rep stosq qword [rdi], rax
mov rcx, rdx
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
test byte [rsp + 0x5c], 1
mov r9d, 0xa
je 0x14006e726
movzx r9d, word [rsp + 0x60]
mov rcx, qword [0x140120ba0]
mov r8, rbx
xor edx, edx
add rsp, 0x90
pop rbx
pop rsi
pop rdi
jmp 0x14006c600
lea rbx, [0x140120620]
jmp 0x14006e6f8