Function at 0x14006c5e0
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 0x14006c5b0
mov rdx, rbp
mov ebx, 2
jmp 0x14006c30c
add rdx, 2
movzx eax, word [rdx]
test ax, ax
je 0x14006c327
cmp ax, 0x20
je 0x14006c318
cmp ax, 9
jne 0x14006c300
add rdx, 2
movzx eax, word [rdx]
add ebx, 1
test ax, ax
jne 0x14006c30c
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 0x14006c3a0
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 0x14006c36b
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 0x14006c36b
movzx edx, byte [rbx]
test dl, dl
je 0x14006c55c
xor eax, eax
cmp dl, 0x20
je 0x14006c420
cmp dl, 9
jne 0x14006c454
nop dword [rax + rax]
add rbx, 1
movzx edx, byte [rbx]
cmp dl, 0x20
je 0x14006c420
cmp dl, 9
je 0x14006c420
cmp dl, 0x22
je 0x14006c500
mov ebp, eax
test dl, dl
jne 0x14006c45d
cmp ebp, eax
jne 0x14006c4a0
movzx edx, byte [rbx]
test dl, dl
je 0x14006c55e
movsxd rax, ebp
jmp 0x14006c411
cmp dl, 0x22
je 0x14006c500
movsxd rdx, eax
lea ebp, [rax + 1]
mov qword [rdi + rdx*8], rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14006c440
cmp dl, 9
je 0x14006c495
cmp dl, 0x20
jne 0x14006c485
jmp 0x14006c495
cmp dl, 9
je 0x14006c495
add rbx, 1
movzx edx, byte [rbx]
test dl, dl
je 0x14006c440
cmp dl, 0x20
jne 0x14006c480
mov byte [rbx], 0
add rbx, 1
cmp ebp, eax
je 0x14006c444
mov rax, qword [rdi + rax*8]
cmp byte [rax], 0
je 0x14006c444
movzx edx, byte [rax + 1]
test dl, dl
jne 0x14006c4be
jmp 0x14006c444
movzx edx, byte [rcx + 1]
mov rax, rcx
test dl, dl
je 0x14006c444
lea rcx, [rax + 1]
test rax, rax
je 0x14006c4b3
cmp dl, 0x22
jne 0x14006c4b3
cmp byte [rax], 0x5c
mov rdx, rcx
mov r8d, 0x22
jne 0x14006c4b3
jmp 0x14006c4e3
mov rdx, r9
mov byte [rax], r8b
movzx r8d, byte [rdx + 1]
lea r9, [rdx + 1]
mov rax, rdx
test r8b, r8b
jne 0x14006c4e0
mov byte [rdx], 0
jmp 0x14006c4b3
cmp byte [rbx + 1], 0
lea rdx, [rbx + 1]
jne 0x14006c514
mov ebp, eax
mov rbx, rdx
jmp 0x14006c440
movsxd rcx, eax
lea ebp, [rax + 1]
mov qword [rdi + rcx*8], rdx
movzx r9d, byte [rbx + 1]
test r9b, r9b
je 0x14006c50c
mov r8d, r9d
jmp 0x14006c541
add rdx, 1
movzx ecx, byte [rdx]
mov r9d, r8d
test cl, cl
je 0x14006c50c
mov r8d, ecx
cmp r8b, 0x22
jne 0x14006c530
cmp r9b, 0x5c
je 0x14006c530
mov rbx, rdx
mov byte [rbx], 0
add rbx, 1
jmp 0x14006c49c
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.140066570
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 0x14006c327
jmp 0x14006c2d0
push rdi
push rsi
push rbx
sub rsp, 0x90
xor esi, esi
call fcn.14006b320
call sub.api_ms_win_crt_runtime_l1_1_0.dll___p__acmdln
mov rbx, qword [rax]
test rbx, rbx
jne 0x14006e6ab
jmp 0x14006e721
test cl, cl
je 0x14006e6d8
and esi, 1
je 0x14006e6c0
mov esi, 1
call sub.api_ms_win_crt_multibyte_l1_1_0.dll__ismbblead
test eax, eax
je 0x14006e6a7
cmp byte [rbx + 1], 1
sbb rbx, 0xffffffffffffffff
add rbx, 1
movsx ecx, byte [rbx]
cmp cl, 0x20
jle 0x14006e688
mov eax, esi
xor eax, 1
cmp cl, 0x22
cmove esi, eax
jmp 0x14006e696
test cl, cl
je 0x14006e6d8
nop dword [rax]
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
je 0x14006e6d8
cmp al, 0x20
jle 0x14006e6c8
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 0x14006e706
movzx r9d, word [rsp + 0x60]
mov rcx, qword [0x140120b60]
mov r8, rbx
xor edx, edx
add rsp, 0x90
pop rbx
pop rsi
pop rdi
jmp 0x14006c5e0
lea rbx, [0x1401205e0]
jmp 0x14006e6d8