Function at 0x402a70
Capabilities:
Accept command line arguments

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [esp], eax
mov ebx, eax
call sym._SDL_wcslen
mov dword [esp + 8], ebx
mov dword [esp + 4], str.UTF_16LE
mov dword [esp], str.UTF_8
lea eax, [eax + eax + 2]
mov dword [esp + 0xc], eax
call sym._SDL_iconv_string
test eax, eax
mov dword [esp + 0x18], eax
je 0x402d65
movzx edx, byte [eax]
mov dword [esp + 0x14], 0
nop
test dl, dl
je 0x402af1
cmp dl, 9
jne 0x402cc3
lea esi, [esi]
add eax, 1
movzx edx, byte [eax]
cmp dl, 9
je 0x402ad0
cmp dl, 0x20
je 0x402ad0
cmp dl, 0x22
je 0x402d10
test dl, dl
jne 0x402cd2
mov eax, dword [esp + 0x14]
lea eax, [eax*4 + 4]
mov dword [esp], eax
call sym._SDL_malloc
test eax, eax
mov dword [esp + 0x10], eax
je 0x402d65
mov eax, dword [esp + 0x18]
xor esi, esi
movzx edx, byte [eax]
test dl, dl
je 0x402b9e
cmp dl, 0x20
jne 0x402c4a
lea esi, [esi]
add eax, 1
movzx edx, byte [eax]
cmp dl, 9
je 0x402b30
cmp dl, 0x20
je 0x402b30
cmp dl, 0x22
je 0x402c60
test dl, dl
mov ebp, esi
je 0x402b91
mov edi, dword [esp + 0x10]
lea ebp, [esi + 1]
mov dword [edi + esi*4], eax
movzx edx, byte [eax]
test dl, dl
je 0x402b91
cmp dl, 0x20
je 0x402cb0
cmp dl, 9
jne 0x402b87
nop
jmp 0x402cb0
cmp dl, 9
je 0x402cb0
cmp dl, 0x20
je 0x402cb0
add eax, 1
movzx edx, byte [eax]
test dl, dl
jne 0x402b75
cmp ebp, esi
jne 0x402be2
mov esi, ebp
movzx edx, byte [eax]
test dl, dl
jne 0x402b21
mov edi, dword [esp + 0x10]
mov dword [edi + esi*4], 0
call sym._SDL_SetMainReady
mov eax, dword [esp + 0x14]
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._SDL_main
mov dword [esp], edi
mov dword [esp + 0x10], eax
call sym._SDL_free
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call sym._SDL_free
mov eax, dword [esp + 0x10]
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x10]
mov edx, dword [edi + esi*4]
movzx ebx, byte [edx]
test bl, bl
je 0x402b95
xor ecx, ecx
mov esi, eax
jmp 0x402c05
movzx ebx, byte [edx + 1]
lea eax, [edx + 1]
test bl, bl
je 0x402c41
mov ecx, edx
mov edx, eax
cmp bl, 0x22
jne 0x402bf6
test ecx, ecx
je 0x402bf6
cmp byte [ecx], 0x5c
jne 0x402bf6
movzx eax, byte [edx]
test al, al
je 0x402d93
mov ebx, edx
jmp 0x402c26
mov ecx, ebx
mov ebx, edi
mov byte [ecx], al
movzx eax, byte [ebx + 1]
lea edi, [ebx + 1]
test al, al
jne 0x402c22
mov byte [ebx], 0
movzx ebx, byte [edx + 1]
lea eax, [edx + 1]
test bl, bl
jne 0x402c01
mov eax, esi
mov esi, ebp
jmp 0x402b97
cmp dl, 9
je 0x402b30
cmp dl, 0x22
jne 0x402b4f
lea esi, [esi]
cmp byte [eax + 1], 0
lea edx, [eax + 1]
je 0x402d50
mov edi, dword [esp + 0x10]
lea ebp, [esi + 1]
mov dword [edi + esi*4], edx
movzx ecx, byte [eax + 1]
test cl, cl
je 0x402d9d
mov ebx, edx
jmp 0x402c9a
movzx ecx, byte [edx + 1]
lea eax, [edx + 1]
test cl, cl
je 0x402b91
mov ebx, edx
mov edx, eax
cmp cl, 0x22
jne 0x402c87
cmp byte [ebx], 0x5c
je 0x402c87
cmp byte [edx], 0
mov eax, edx
je 0x402b91
nop
mov byte [eax], 0
add eax, 1
cmp ebp, esi
je 0x402b95
jmp 0x402be2
cmp dl, 0x20
je 0x402ad0
cmp dl, 0x22
nop
je 0x402d10
add dword [esp + 0x14], 1
cmp dl, 0x20
je 0x402cfb
cmp dl, 9
jne 0x402ce8
jmp 0x402cfb
cmp dl, 0x20
je 0x402cfb
add eax, 1
movzx edx, byte [eax]
test dl, dl
je 0x402af1
cmp dl, 9
jne 0x402ce3
mov edx, eax
lea eax, [edx + 1]
movzx edx, byte [edx + 1]
jmp 0x402ac0
movzx ecx, byte [eax + 1]
lea edx, [eax + 1]
test cl, cl
je 0x402af1
add dword [esp + 0x14], 1
mov ebx, edx
jmp 0x402d3b
movzx ecx, byte [edx + 1]
lea eax, [edx + 1]
test cl, cl
je 0x402af1
mov ebx, edx
mov edx, eax
cmp cl, 0x22
jne 0x402d28
cmp byte [ebx], 0x5c
je 0x402d28
cmp byte [edx], 0
jne 0x402cfd
jmp 0x402af1
mov ebp, esi
mov eax, edx
cmp ebp, esi
je 0x402b95
lea esi, [esi]
jmp 0x402be2
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.Out_of_memory___aborting
mov dword [esp + 4], str.Fatal_Error
mov dword [esp], 0x10
call sym._SDL_ShowSimpleMessageBox
add esp, 0x1c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, ecx
mov byte [ebx], 0
jmp 0x402c36
mov eax, edx
jmp 0x402b91