Function at 0x4098e0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x1c]
push ebx
sub esp, 0x4c
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.shcore.dll_CommandLineToArgvW]
sub esp, 8
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x409c7d
mov esi, dword [ebp - 0x1c]
cmp esi, 1
je 0x409c6e
mov edi, 1
mov dword [ebp - 0x30], 0
jg 0x40998f
jmp 0x409a30
cmp cx, 0x2d
je 0x4099c0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_towupper]
cmp ax, 0x3f
je 0x409a78
lea ecx, [eax - 0x43]
cmp cx, 0x13
ja 0x409a50
mov eax, 1
shl eax, cl
test eax, 0x98601
jne 0x409988
cmp cx, 1
je 0x409a90
cmp cx, 2
jne 0x409a50
mov dword [ebp - 0x30], 1
lea esi, [esi]
nop
add edi, 1
cmp edi, esi
jge 0x4099c0
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + edi*4]
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfffffffd
cmp ax, 0x2d
jne 0x4099c0
movzx eax, word [ebx + 2]
test ax, ax
je 0x409930
movzx ecx, word [ebx + 4]
test cx, cx
je 0x40993a
cmp cx, 0x3a
je 0x40993a
nop
cmp esi, edi
je 0x409c10
cmp edi, esi
jge 0x409a30
cmp dword [ebp - 0x30], 1
je 0x409ad0
mov eax, dword [ebp - 0x30]
cmp eax, 2
je 0x409ab8
test eax, eax
jne 0x409aa0
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + edi*4]
mov dword [esp + 4], 0x411b52
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
jne 0x409b10
mov dword [esp], 0
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [esp], eax
call fcn.0040bce0
lea esi, [esi]
add edi, 1
cmp edi, dword [ebp - 0x1c]
jl 0x4099d6
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
mov eax, 1
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], ebx
mov dword [esp], 0xbba
call fcn.00409780
mov dword [esp], 0xbbb
call fcn.00409830
mov esi, dword [ebp - 0x1c]
jmp 0x409988
mov dword [esp], 0xbb9
call fcn.00409830
mov esi, dword [ebp - 0x1c]
jmp 0x409988
mov dword [ebp - 0x30], 2
jmp 0x409988
mov dword [esp], 0xbc0
call fcn.00409830
jmp 0x409a28
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + edi*4]
mov dword [esp], eax
call fcn.0040be40
jmp 0x409a28
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx + edi*4 + 4]
mov edx, dword [ebx + edi*4]
test eax, eax
je 0x409ae8
cmp word [eax], 0
jne 0x409c40
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], edx
call fcn.0040bf70
add edi, 2
cmp edi, dword [ebp - 0x1c]
jl 0x409ad3
jmp 0x409a30
mov esi, dword [sym.imp.kernel32.dll_SearchPathW]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call esi
mov dword [ebp - 0x34], 0
sub esp, 0x18
test eax, eax
mov edx, eax
jg 0x409ba8
test edx, edx
je 0x409bef
mov dword [esp + 4], 0x411b56
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll__wfopen]
mov esi, eax
test eax, eax
je 0x409c84
mov dword [esp], eax
call fcn.0040bce0
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x409a28
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], esi
call dword [sym.imp.ucrtbase.dll_fclose]
jmp 0x409a28
lea eax, [eax + eax]
mov dword [ebp - 0x38], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_malloc]
mov dword [ebp - 0x34], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov edx, dword [ebp - 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
mov dword [esp + 0xc], edx
call esi
mov edx, eax
sub esp, 0x18
test edx, edx
jne 0x409b5b
mov dword [esp + 4], ebx
mov dword [esp], 0xbbe
call fcn.00409780
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x409a28
mov eax, dword [ebp - 0x30]
cmp eax, 1
jbe 0x409c60
cmp eax, 2
jne 0x409c29
mov dword [esp], 0xbbd
call fcn.00409780
mov dword [esp], 0xbbb
call fcn.00409830
mov esi, dword [ebp - 0x1c]
jmp 0x4099c8
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0040bf70
jmp 0x409b00
mov dword [esp], 0xbbc
call fcn.00409780
jmp 0x409c29
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
xor eax, eax
jmp 0x409a44
mov dword [esp], 0x411b5c
call dword [sym.imp.ucrtbase.dll__wperror]
mov dword [esp + 4], ebx
mov dword [esp], 0xbbf
call fcn.00409780
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_free]
jmp 0x409a28