Function at 0x4023f0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424c91
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x42f00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x89], 0
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edx, eax
mov dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0xffffffff
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402467
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00403d20
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xac]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push ecx
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [ebp - 0xac], 0
mov edi, eax
mov dword [ebp - 0xb0], edi
jne 0x402529
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [ebp - 0xc0]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40250c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402502
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d32
push edx
push ecx
call fcn.00406cdc
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00406933
mov esp, ebp
pop ebp
ret
mov edx, dword [edi]
mov dword [ebp - 0x88], 0
mov ecx, edx
mov dword [ebp - 0x78], 0
xor eax, eax
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
mov byte [ebp - 4], 1
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402555
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.00403d20
mov byte [ebp - 4], 3
push 0x18
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
call fcn.00406946
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], eax
add esp, 4
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xa8], ecx
lea esi, [eax + 0x18]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
push ecx
mov ecx, eax
call fcn.004038e0
mov dword [ebp - 0x94], esi
push 0x401bf0
push 1
push 0x18
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 7
push eax
call fcn.00406976
cmp dword [ebp - 0xac], 1
jne 0x40264b
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov dword [edi], eax
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
jmp 0x4024d2
push str..msb
push dword [edi + 4]
mov dword [ebp - 0xbc], 2
call fcn.00407aa3
add esp, 8
test eax, eax
jne 0x4026ab
mov esi, dword [ebp - 0xac]
dec esi
test esi, esi
jle 0x4026ab
nop dword [eax]
nop dword [eax + eax]
push str..msb
push dword [edi + esi*4]
call fcn.00407aa3
add esp, 8
test eax, eax
jne 0x40269b
dec esi
test esi, esi
jg 0x402680
jmp 0x4026ab
lea eax, [esi + 1]
mov byte [ebp - 0x89], 1
mov dword [ebp - 0xbc], eax
mov edx, dword [edi]
mov dword [ebp - 0x70], 0
mov ecx, edx
mov dword [ebp - 0x60], 0
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov byte [ebp - 4], 7
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4026d1
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x70]
call fcn.00403d20
mov edx, dword [edi + 4]
mov dword [ebp - 0x58], 0
mov ecx, edx
mov dword [ebp - 0x48], 0
xor eax, eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov byte [ebp - 4], 9
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402711
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x58]
call fcn.00403d20
cmp byte [ebp - 0x89], 0
mov byte [ebp - 4], 0xb
je 0x402ab3
push str.detected_input_file_name_was_not_escaped__working_around_tool_bug._n
call fcn.004010d0
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x70]
add esp, 4
lea edx, [ebp - 0x28]
cmp dword [ebp - 0x5c], 8
cmovae eax, dword [ebp - 0x70]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x9c], eax
cmovae edx, dword [ebp - 0x28]
setae byte [ebp - 0x89]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xa8], edx
cmp ecx, eax
ja 0x402862
test ecx, ecx
je 0x402865
sub eax, ecx
mov ecx, edx
inc eax
lea edi, [edx + eax*2]
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xc4], edi
movzx esi, word [eax]
mov dword [ebp - 0xb4], esi
mov edx, edi
movzx esi, si
sub edx, ecx
mov edi, 0
sar edx, 1
je 0x4027da
movzx eax, word [ecx]
cmp ax, si
je 0x4027d2
nop dword [eax]
cmp edx, 1
je 0x4027d4
movzx eax, word [ecx + 2]
add ecx, 2
dec edx
cmp ax, si
jne 0x4027c0
mov edi, ecx
mov eax, dword [ebp - 0x9c]
mov ecx, edi
mov dword [ebp - 0xb8], ecx
test ecx, ecx
je 0x40285c
mov esi, dword [ebp - 0xb4]
movzx edx, word [ecx]
mov edi, dword [ebp - 0x60]
movzx esi, si
cmp dx, si
jb 0x402832
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0x9c]
sub dword [ebp - 0xa4], ecx
cmp dx, si
mov ecx, dword [ebp - 0xb8]
ja 0x402832
cmp edi, 1
je 0x40284c
mov edx, dword [ebp - 0xa4]
add eax, 2
dec edi
movzx edx, word [eax + edx]
movzx esi, word [eax]
cmp dx, si
jae 0x402815
mov eax, dword [ebp - 0x9c]
add ecx, 2
mov esi, dword [ebp - 0xb4]
mov edi, dword [ebp - 0xc4]
jmp 0x4027a4
sub ecx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xb0]
sar ecx, 1
jmp 0x402865
mov edi, dword [ebp - 0xb0]
or ecx, 0xffffffff
mov edi, dword [edi + 4]
mov esi, edi
mov edx, dword [ebp - 0x60]
add edx, ecx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x402872
sub esi, ecx
lea ecx, [ebp - 0x28]
sar esi, 1
cmp byte [ebp - 0x89], al
push esi
cmovne ecx, dword [ebp - 0x28]
push edi
push edx
mov edx, dword [ebp - 0x18]
call fcn.00404560
mov edx, dword [ebp - 0xbc]
add esp, 0xc
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x40], 0
mov edx, dword [eax + edx*4 - 4]
mov ecx, edx
mov dword [ebp - 0x30], 0
xor eax, eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 0xb
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4028d6
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.00403d20
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
lea edx, [ebp - 0x28]
mov esi, dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
setae byte [ebp - 0x9d]
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0xb4], eax
cmovae edx, dword [ebp - 0x28]
setae byte [ebp - 0x89]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xb8], edx
test esi, esi
jne 0x40293b
or edi, 0xffffffff
cmp eax, 0xffffffff
cmovb edi, eax
jmp 0x4029cc
cmp esi, eax
ja 0x4029c9
sub eax, esi
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
lea edi, [edx + ecx*2]
mov ecx, dword [ebp - 0xb4]
mov eax, edi
sub eax, ecx
movzx edx, word [ecx]
mov dword [ebp - 0xa4], edx
movzx ecx, word [edi]
mov dword [ebp - 0x9c], eax
cmp cx, dx
jne 0x4029a9
mov eax, dword [ebp - 0xb4]
movzx edx, dx
cmp cx, dx
ja 0x40299a
cmp esi, 1
je 0x4029b9
mov ecx, dword [ebp - 0x9c]
add eax, 2
dec esi
movzx ecx, word [ecx + eax]
movzx edx, word [eax]
cmp cx, dx
jae 0x40297d
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x9c]
cmp edi, dword [ebp - 0xb8]
je 0x4029c6
sub edi, 2
sub eax, 2
jmp 0x402963
sub edi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x18]
sar edi, 1
jmp 0x4029cc
mov eax, dword [ebp - 0x18]
or edi, 0xffffffff
mov edx, dword [ebp - 0xa8]
sub edi, edx
mov ecx, dword [ebp - 0x30]
add ecx, edi
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov byte [ebp - 4], 0xd
cmp eax, edx
jb 0x402d37
sub eax, edx
cmp eax, ecx
cmovb ecx, eax
cmp byte [ebp - 0x89], 0
lea eax, [ebp - 0x28]
cmovne eax, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x88]
lea eax, [eax + edx*2]
push eax
call fcn.00403d20
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x402a5c
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402a52
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d32
push edx
push ecx
call fcn.00406cdc
add esp, 8
movups xmm0, xmmword [ebp - 0x88]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [ebp - 0x78]
movq qword [ebp - 0x48], xmm0
cmp byte [ebp - 0x9d], 0
mov byte [ebp - 4], 0xb
je 0x402ab3
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x40]
mov eax, edx
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x402aa9
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d32
push ecx
push edx
call fcn.00406cdc
add esp, 8
mov eax, dword [ebp - 0x94]
lea ecx, [ebp - 0x58]
push ecx
cmp eax, dword [ebp - 0x90]
je 0x402ad5
mov ecx, eax
call fcn.004038e0
add dword [ebp - 0x94], 0x18
jmp 0x402ae1
push eax
lea ecx, [ebp - 0x98]
call fcn.00404420
mov edi, dword [ebp - 0xbc]
cmp edi, dword [ebp - 0xac]
jge 0x402be1
nop dword [eax]
nop word [eax + eax]
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x40], 0
mov edx, dword [eax + edi*4]
mov ecx, edx
mov dword [ebp - 0x30], 0
xor eax, eax
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 0xb
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402b30
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.00403d20
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebp - 0x90]
je 0x402b86
movups xmm0, xmmword [ebp - 0x40]
mov dword [eax], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x30]
movq qword [eax + 0x10], xmm0
xor eax, eax
mov edx, 7
add dword [ebp - 0x94], 0x18
mov word [ebp - 0x40], ax
jmp 0x402b99
lea ecx, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.004042e0
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xb
cmp edx, 8
jb 0x402bd4
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402bca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d32
push edx
push ecx
call fcn.00406cdc
add esp, 8
inc edi
cmp edi, dword [ebp - 0xac]
jl 0x402b00
push dword [ebp - 0xb0]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [ebp - 0xc0]
xor esi, esi
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x98]
mov dword [edi + 8], edx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], esi
mov dword [edi], eax
mov dword [edi + 4], ecx
cmp edx, 8
jb 0x402c69
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402c59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d32
push edx
push ecx
call fcn.00406cdc
mov esi, dword [ebp - 0x98]
add esp, 8
mov eax, dword [ebp - 0x5c]
cmp eax, 8
jb 0x402ca9
mov edx, dword [ebp - 0x70]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x402c99
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402d32
push ecx
push edx
call fcn.00406cdc
mov esi, dword [ebp - 0x98]
add esp, 8
test esi, esi
je 0x402cfa
mov edx, dword [ebp - 0x94]
push ecx
mov ecx, esi
call fcn.004048d0
mov eax, dword [ebp - 0x90]
add esp, 4
mov ecx, dword [ebp - 0x98]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
push eax
push ecx
call fcn.004040f0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x40250c
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x402502
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x402502
call fcn.00415999
call fcn.00404130
int3