Function at 0x4039bf
Capabilities:
Accept command line arguments

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x409034]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push ebx
push edi
mov dword [ebp - 0x24], eax
mov edi, edx
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
test ebx, ebx
jne 0x403a0c
push 0x4015dc
push 0xa5
push 0x4015fc
push 1
call fcn.00405676
add esp, 0x10
jmp 0x403cc4
push esi
xor esi, esi
cmp dword [ebp - 0x20], esi
jle 0x403cb8
mov ecx, dword [ebx + esi*4]
movzx eax, word [ecx]
cmp eax, 0x2d
je 0x403a2c
cmp eax, 0x2f
jne case.0x403a43.72
movzx eax, word [ecx + 2]
add eax, 0xffffffbf
cmp eax, 0x37
ja case.0x403a43.72
movzx eax, byte [eax + 0x403e1b]
jmp dword [eax*4 + 0x403dd7]
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403cd7
mov ecx, dword [ebx + esi*4]
lea edx, [edi + 0x328]
call fcn.004038dc
test al, al
jne case.0x403a43.72
push 0x401610
push 0xb8
jmp 0x403ce1
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d0a
push ecx
push dword [ebx + esi*4]
push ecx
push 0xb
pop edx
lea ecx, [ebp - 0x1c]
call fcn.004037ce
test eax, eax
js 0x403cfe
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
sub eax, 1
je 0x403aec
sub eax, 1
je 0x403add
dec eax
sub eax, 1
je 0x403ace
sub eax, 0xc
jne 0x403cf2
mov dword [edi + 0x33c], 3
jmp case.0x403a43.72
mov dword [edi + 0x33c], 2
jmp case.0x403a43.72
mov dword [edi + 0x33c], 1
jmp case.0x403a43.72
and dword [edi + 0x33c], 0
jmp case.0x403a43.72
mov dword [edi + 0x340], 1
jmp case.0x403a43.72
mov dword [edi + 0x340], 2
jmp case.0x403a43.72
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d22
push dword [ebx + esi*4]
mov edx, 0x104
mov ecx, edi
call fcn.00403759
test eax, eax
js 0x403d16
push 0x40116c
push edi
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne case.0x403a43.72
push 0x208
push eax
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
jmp case.0x403a43.72
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d2e
push 0xa
push 0
push dword [ebx + esi*4]
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
mov dword [edi + 0x344], eax
jmp case.0x403a43.72
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d3a
push dword [ebx + esi*4]
lea ecx, [edi + 0x208]
push 0x40
pop edx
call fcn.00403759
test eax, eax
jns case.0x403a43.72
push 0x401720
push 0x13c
jmp 0x403ce1
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d46
push 0xa
push 0
push dword [ebx + esi*4]
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
mov dword [edi + 0x348], eax
jmp case.0x403a43.72
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d52
mov ecx, dword [ebx + esi*4]
lea edx, [edi + 0x34c]
call fcn.004038dc
test al, al
jne case.0x403a43.72
push 0x4017e4
push 0x16c
jmp 0x403ce1
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d5e
mov ecx, dword [ebx + esi*4]
lea edx, [edi + 0x330]
call fcn.004038dc
test al, al
jne case.0x403a43.72
push 0x401830
push 0x17f
jmp 0x403ce1
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d6d
mov ecx, dword [ebx + esi*4]
lea edx, [edi + 0x334]
call fcn.004038dc
test al, al
jne case.0x403a43.72
push 0x401854
push 0x192
jmp 0x403ce1
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d7c
mov ecx, dword [ebx + esi*4]
lea edx, [edi + 0x32c]
call fcn.004038dc
test al, al
jne case.0x403a43.72
push 0x401874
push 0x1a5
jmp 0x403ce1
inc esi
cmp esi, dword [ebp - 0x20]
jge 0x403d9a
push dword [ebx + esi*4]
lea ecx, [edi + 0x288]
push 0x40
pop edx
call fcn.00403759
test eax, eax
js 0x403d8b
inc esi
cmp esi, dword [ebp - 0x20]
jl 0x403a18
mov byte [ebp - 0x24], 1
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop esi
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x24]
xor ecx, ebp
pop edi
pop ebx
call fcn.00407b50
mov esp, ebp
pop ebp
ret
push 0x401610
push 0xb2
push 0x4015fc
push 1
call fcn.00405676
add esp, 0x10
jmp 0x403cbc
push 0x401674
push 0xea
jmp 0x403ce1
push 0x401658
push 0xd1
jmp 0x403ce1
push 0x401634
push 0xc8
jmp 0x403ce1
push 0x4016b4
push 0x10e
jmp 0x403ce1
push 0x401688
push 0x105
jmp 0x403ce1
push 0x4016d4
push 0x124
jmp 0x403ce1
push 0x4016f8
push 0x133
jmp 0x403ce1
push 0x401740
push 0x149
jmp 0x403ce1
push 0x4017bc
push 0x166
jmp 0x403ce1
push 0x40180c
push 0x179
jmp 0x403ce1
push 0x401854
push 0x18c
jmp 0x403ce1
push 0x401874
push 0x19f
jmp 0x403ce1
push 0x4018f4
push 0x1c2
jmp 0x403ce1
push 0x4018c8
push 0x1b9
jmp 0x403ce1
push 0x401764
push 0x155
jmp 0x403ce1
push 0x401790
push 0x15c
jmp 0x403ce1
push 0x40189c
push 0x1af
jmp 0x403ce1