Function at 0x40b4d5
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x438008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
xor ecx, ecx
push 0x38
push ecx
push esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], ecx
call fcn.0041e810
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 8]
mov dword [ebp - 0x10], eax
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
test ebx, ebx
jne 0x40b550
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
push 0x407558
cmovle esi, eax
mov eax, 0x80004005
test esi, esi
cmovns esi, eax
push esi
call fcn.0040e21e
pop ecx
pop ecx
jmp 0x40ba3d
push edi
xor edi, edi
mov dword [ebp - 0x20], 9
inc edi
cmp dword [ebp - 8], edi
jle 0x40b9a8
push dword [ebx + edi*4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jle 0x40b5ed
mov eax, dword [ebx + edi*4]
push 0x2d
pop ecx
cmp word [eax], cx
jne 0x40b5ed
cmp word [eax + 2], cx
jne 0x40b5ed
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 7
jne 0x40b5b9
mov eax, dword [ebx + edi*4]
push 0xffffffffffffffff
push 0x407574
push 5
add eax, 4
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x40b5b9
xor eax, eax
inc eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
jmp 0x40b5ed
push dword [ebx + edi*4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 8
jne 0x40b5ed
mov eax, dword [ebx + edi*4]
push 0xffffffffffffffff
push 0x407580
push 6
add eax, 4
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x40b5ed
mov dword [esi + 0x28], 1
mov ecx, dword [ebx + edi*4]
push 0x2d
pop edx
movzx eax, word [ecx]
cmp ax, dx
je 0x40b604
cmp eax, 0x2f
jne 0x40b957
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x40b65a
mov eax, dword [ebx + edi*4]
push 0xffffffffffffffff
push 0x407590
push 2
add eax, 2
push eax
push 1
push 0x7f
call dword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
jne 0x40b65a
mov edx, dword [ebx + edi*4]
mov ecx, esi
push 0
add edx, 6
call fcn.0040e5b0
mov esi, eax
test esi, esi
jns 0x40b817
push 0x407598
push esi
call fcn.0040e21e
pop ecx
pop ecx
jmp 0x40ba35
push dword [ebx + edi*4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 3
jle 0x40b695
mov eax, dword [ebx + edi*4]
push 0xffffffffffffffff
push 0x4075b4
push 2
add eax, 2
push eax
push 1
inc dword [ebp - 0x46]
cwde
push ebp
mov eax, dword [esi + 0x20]
add eax, edi
mov edi, dword [esi + 0x1c]
add edi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
shr eax, 0x10
test ax, ax
je 0x40b8ab
and dword [ebp - 4], 0
mov eax, dword [edi]
pop es
mov dword [ebp - 0x10], eax
call fcn.0040b709
mov esp, 0x83e48490
jge 0x40b83a
add byte [ebx + eax*2 - 0x75], dh
inc ebp
in al, dx
and dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
movzx eax, word [eax]
cmp eax, dword [ebp - 4]
jne 0x40b87c
mov eax, dword [ebp - 0xc]
push dword [ebp + 0xc]
mov eax, dword [eax]
add eax, dword [ebp + 8]
push eax
call fcn.0040b69f
pop ecx
test eax, eax
pop ecx
je 0x40b8a3
mov eax, dword [esi + 0x18]
inc dword [ebp - 0x10]
add dword [ebp - 8], 2
add dword [ebp - 0xc], 4
dec eax
cmp dword [ebp - 0x10], eax
jbe 0x40b85a
mov eax, dword [esi + 0x14]
inc dword [ebp - 4]
dec eax
cmp dword [ebp - 4], eax
jbe 0x40b839
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp - 4]
mov eax, dword [edi + eax*4]
jmp 0x40b8e0
xor ebx, ebx
mov dword [ebp - 0x10], edi
mov eax, dword [esi + 0x10]
add eax, ebx
cmp dword [ebp + 0xc], eax
jne 0x40b8cb
call fcn.0040b709
out dx, al
pop es
in eax, 0x8b
inc ebp
invalid
mov eax, dword [esi + 0x14]
add dword [ebp - 0x10], 4
inc ebx
dec eax
cmp ebx, eax
jbe 0x40b8b0
jmp 0x40b89c
add eax, dword [ebp + 8]
jmp 0x40b89e
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
clc
jae 0x40b95d
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x40b94e
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0xe0
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.0040b709
cmp byte [esp + edx*2 - 0x57ba724c], ch
push eax
call fcn.0040b719
mov esi, dword [ebp + 0xc]
push eax
push esi
push dword [ebp + 8]
call fcn.0040b6ce
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x40b9f7
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
dec dword [ecx + 0x5d880c4d]
ror byte [eax + 0x45c6c15d], 0xc2
in al, dx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
pop ebp
rol esi, 0x45
ret 0x88ec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
jg 0x40b9fd
inc ebp
into
jl 0x40ba01
inc ebp
iretd
jo 0x40ba05
inc ebp
rcl byte [ebx]
call fcn.0040b709
cwde
jbe 0x40ba83
mov dl, 0x8d
inc ebp
in al, dx
jmp 0xd72e004f