Function at 0x140071d90
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 0x14006fce0
mov rdx, rbp
mov ebx, 2
jmp 0x14006fa3c
add rdx, 2
movzx eax, word [rdx]
test ax, ax
je 0x14006fa57
cmp ax, 0x20
je 0x14006fa48
cmp ax, 9
jne 0x14006fa30
add rdx, 2
movzx eax, word [rdx]
add ebx, 1
test ax, ax
jne 0x14006fa3c
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 0x14006fad0
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 0x14006fa9b
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 0x14006fa9b
movzx edx, byte [rbx]
test dl, dl
je 0x14006fc8c
xor eax, eax
cmp dl, 0x20
je 0x14006fb50
cmp dl, 9
jne 0x14006fb84
nop dword [rax + rax]
add rbx, 1
movzx edx, byte [rbx]
cmp dl, 0x20
je 0x14006fb50
cmp dl, 9
je 0x14006fb50
cmp dl, 0x22
je 0x14006fc30
mov ebp, eax
test dl, dl
jne 0x14006fb8d
cmp ebp, eax
jne 0x14006fbd0
movzx edx, byte [rbx]
test dl, dl
je 0x14006fc8e
movsxd rax, ebp
jmp 0x14006fb41
cmp dl, 0x22
je 0x14006fc30
movsxd rdx, eax
lea ebp, [rax + 1]
mov qword [rdi + rdx*8], rbx
movzx edx, byte [rbx]
test dl, dl
je 0x14006fb70
cmp dl, 9
je 0x14006fbc5
cmp dl, 0x20
jne 0x14006fbb5
jmp 0x14006fbc5
cmp dl, 9
je 0x14006fbc5
add rbx, 1
movzx edx, byte [rbx]
test dl, dl
je 0x14006fb70
cmp dl, 0x20
jne 0x14006fbb0
mov byte [rbx], 0
add rbx, 1
cmp ebp, eax
je 0x14006fb74
mov rax, qword [rdi + rax*8]
cmp byte [rax], 0
je 0x14006fb74
movzx edx, byte [rax + 1]
test dl, dl
jne 0x14006fbee
jmp 0x14006fb74
movzx edx, byte [rcx + 1]
mov rax, rcx
test dl, dl
je 0x14006fb74
lea rcx, [rax + 1]
test rax, rax
je 0x14006fbe3
cmp dl, 0x22
jne 0x14006fbe3
cmp byte [rax], 0x5c
mov rdx, rcx
mov r8d, 0x22
jne 0x14006fbe3
jmp 0x14006fc13
mov rdx, r9
mov byte [rax], r8b
movzx r8d, byte [rdx + 1]
lea r9, [rdx + 1]
mov rax, rdx
test r8b, r8b
jne 0x14006fc10
mov byte [rdx], 0
jmp 0x14006fbe3
cmp byte [rbx + 1], 0
lea rdx, [rbx + 1]
jne 0x14006fc44
mov ebp, eax
mov rbx, rdx
jmp 0x14006fb70
movsxd rcx, eax
lea ebp, [rax + 1]
mov qword [rdi + rcx*8], rdx
movzx r9d, byte [rbx + 1]
test r9b, r9b
je 0x14006fc3c
mov r8d, r9d
jmp 0x14006fc71
add rdx, 1
movzx ecx, byte [rdx]
mov r9d, r8d
test cl, cl
je 0x14006fc3c
mov r8d, ecx
cmp r8b, 0x22
jne 0x14006fc60
cmp r9b, 0x5c
je 0x14006fc60
mov rbx, rdx
mov byte [rbx], 0
add rbx, 1
jmp 0x14006fbcc
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.140069fe0
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 0x14006fa57
jmp 0x14006fa00
push rdi
push rsi
push rbx
sub rsp, 0x90
xor esi, esi
call fcn.14006ea50
call sub.api_ms_win_crt_runtime_l1_1_0.dll___p__acmdln
mov rbx, qword [rax]
test rbx, rbx
jne 0x140071ddb
jmp 0x140071e51
test cl, cl
je 0x140071e08
and esi, 1
je 0x140071df0
mov esi, 1
call sub.api_ms_win_crt_multibyte_l1_1_0.dll__ismbblead
test eax, eax
je 0x140071dd7
cmp byte [rbx + 1], 1
sbb rbx, 0xffffffffffffffff
add rbx, 1
movsx ecx, byte [rbx]
cmp cl, 0x20
jle 0x140071db8
mov eax, esi
xor eax, 1
cmp cl, 0x22
cmove esi, eax
jmp 0x140071dc6
test cl, cl
je 0x140071e08
nop dword [rax]
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
je 0x140071e08
cmp al, 0x20
jle 0x140071df8
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 0x140071e36
movzx r9d, word [rsp + 0x60]
mov rcx, qword [0x14011db00]
mov r8, rbx
xor edx, edx
add rsp, 0x90
pop rbx
pop rsi
pop rdi
jmp 0x14006fd10
lea rbx, [0x14011d580]
jmp 0x140071e08