Function at 0x428f70
Capabilities:
Accept command line arguments

Disassembly:
push 0xffffffffffffffff
push 0x42a50f
mov eax, dword fs:[0]
push eax
sub esp, 0x1ac
mov eax, dword [0x435390]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x435390]
xor eax, esp
push eax
lea eax, [esp + 0x1c0]
mov dword fs:[0], eax
mov ebx, ecx
xor edi, edi
mov dword [esp + 0x18], ebx
cmp dword [ebx], edi
jne 0x429584
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
cmp eax, edi
je 0x429584
lea esi, [esp + 0x50]
call fcn.00407000
mov dword [esp + 0x1c8], edi
cmp dword [esp + 0x64], 8
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], edi
jae 0x428fea
mov eax, esi
lea ecx, [esp + 0x2c]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [esp + 0x28], eax
cmp eax, edi
je 0x42955a
mov ecx, 1
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x2c], ecx
jle 0x42955a
mov ecx, dword [eax + ecx*4]
test ecx, ecx
je 0x42953f
lea edx, [esp + 0x20]
push edx
call fcn.00407630
mov byte [esp + 0x1c8], 1
mov edi, dword [esp + 0x20]
mov eax, dword [edi - 0xc]
xor edx, edx
mov dword [esp + 0x34], eax
test eax, eax
jle 0x42906e
test edx, edx
js 0x4295ac
cmp edx, eax
jg 0x4295ac
movzx ecx, word [edi + edx*2]
cmp ecx, 0x2d
je 0x429069
cmp edx, eax
jg 0x4295ac
cmp ecx, 0x2f
jne 0x42906e
inc edx
cmp edx, eax
jl 0x429043
mov ebp, edx
cmp edx, eax
jge 0x429090
test ebp, ebp
js 0x4295ac
cmp ebp, eax
jg 0x4295ac
cmp word [edi + ebp*2], 0x3d
je 0x429090
inc ebp
cmp ebp, eax
jl 0x429074
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
mov ecx, ebp
sub ecx, edx
push eax
call fcn.004077b0
mov byte [esp + 0x1c8], 2
lea edi, [esp + 0x1c]
call fcn.004076e0
xor esi, esi
mov dword [esp + 0x30], esi
lea ebx, [ebx]
mov eax, dword [esi*8 + 0x436bc0]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4295b6
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.0040f7ae
add esp, 8
test eax, eax
je 0x4290f2
inc esi
mov dword [esp + 0x30], esi
cmp esi, 2
jl 0x4290c0
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x184]
call fcn.00407000
mov byte [esp + 0x1c8], 3
lea edi, [ebx + 4]
mov ecx, esi
mov ebx, edi
call fcn.00407890
mov byte [esp + 0x1c8], 2
call fcn.0040b3d0
mov eax, dword [esp + 0x30]
cmp eax, 2
jge 0x4294bc
mov eax, dword [eax*8 + 0x436bc4]
test eax, eax
jle 0x4292cb
mov eax, dword [esp + 0x1c]
cmp ebp, dword [esp + 0x34]
jge 0x4291bb
lea esi, [esp + 0xa4]
call fcn.00407000
mov bl, 4
mov byte [esp + 0x1c8], bl
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x24]
lea edx, [ebp + 1]
push ecx
call fcn.00407740
mov byte [esp + 0x1c8], 5
mov edx, dword [esp + 0x18]
mov esi, dword [eax]
add edx, 0x24
push edx
lea ecx, [esp + 0xa8]
call fcn.00407970
push eax
mov eax, esi
call fcn.00406ba0
mov byte [esp + 0x1c8], bl
lea eax, [esp + 0x48]
push eax
call fcn.0040a1e0
mov byte [esp + 0x1c8], 2
lea esi, [esp + 0xa4]
jmp 0x4294ea
mov ebp, dword [esp + 0x24]
cmp ebp, dword [esp + 0x2c]
jge 0x429290
lea esi, [esp + 0x6c]
call fcn.00407000
mov byte [esp + 0x1c8], 6
mov ebx, dword [esp + 0x28]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [ebx + ebp*4 + 4]
call fcn.00407630
mov byte [esp + 0x1c8], 7
mov edx, dword [esp + 0x18]
mov esi, dword [eax]
add edx, 0x24
push edx
lea ecx, [esp + 0x70]
call fcn.00407970
push eax
mov eax, esi
call fcn.00406ba0
mov byte [esp + 0x1c8], 6
lea eax, [esp + 0x4c]
push eax
call fcn.0040a1e0
mov byte [esp + 0x1c8], 2
lea esi, [esp + 0x6c]
call fcn.0040b3d0
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [ebx + ebp*4 + 4]
call fcn.00407630
mov byte [esp + 0x1c8], 8
mov eax, dword [eax]
lea esi, [esp + 0xdc]
call fcn.00407000
mov byte [esp + 0x1c8], 9
mov ecx, esi
mov ebx, edi
call fcn.00407890
mov byte [esp + 0x1c8], 8
call fcn.0040b3d0
mov byte [esp + 0x1c8], 2
lea edx, [esp + 0x44]
push edx
call fcn.0040a1e0
inc ebp
mov dword [esp + 0x24], ebp
jmp 0x4294ef
lea esi, [esp + 0x14c]
call fcn.00407000
mov byte [esp + 0x1c8], 0xa
mov eax, dword [esp + 0x18]
add eax, 0x24
push eax
mov ecx, esi
call fcn.00407970
push eax
mov eax, 0x42f30c
call fcn.00406ba0
mov byte [esp + 0x1c8], 2
jmp 0x4294ea
cmp eax, 0xffffffff
jne 0x429480
cmp ebp, dword [esp + 0x34]
jge 0x42937b
lea ecx, [esp + 0x3c]
push ecx
lea eax, [esp + 0x24]
lea edx, [ebp + 1]
push eax
call fcn.00407740
mov byte [esp + 0x1c8], 0xb
mov eax, dword [eax]
lea esi, [esp + 0x88]
call fcn.00407000
mov byte [esp + 0x1c8], 0xc
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x114]
call fcn.00407000
mov byte [esp + 0x1c8], 0xd
mov ecx, dword [esp + 0x18]
add ecx, 0x34
push ecx
mov ecx, esi
call fcn.00407b20
lea ecx, [esp + 0x88]
mov ebx, eax
call fcn.00407890
mov byte [esp + 0x1c8], 0xc
call fcn.0040b3d0
mov byte [esp + 0x1c8], 0xb
lea esi, [esp + 0x88]
call fcn.0040b3d0
mov byte [esp + 0x1c8], 2
lea edx, [esp + 0x3c]
push edx
call fcn.0040a1e0
jmp 0x4294ef
mov ebp, dword [esp + 0x24]
cmp ebp, dword [esp + 0x2c]
jge 0x4294ef
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + ebp*4 + 4]
lea eax, [esp + 0x40]
push eax
call fcn.00407630
mov byte [esp + 0x1c8], 0xe
mov eax, dword [eax]
lea esi, [esp + 0xf8]
call fcn.00407000
mov byte [esp + 0x1c8], 0xf
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0xc0]
call fcn.00407000
mov byte [esp + 0x1c8], 0x10
mov edx, dword [esp + 0x18]
add edx, 0x34
push edx
mov ecx, esi
call fcn.00407b20
lea ecx, [esp + 0xf8]
mov ebx, eax
call fcn.00407890
mov byte [esp + 0x1c8], 0xf
call fcn.0040b3d0
mov byte [esp + 0x1c8], 0xe
lea esi, [esp + 0xf8]
call fcn.0040b3d0
mov byte [esp + 0x1c8], 2
lea eax, [esp + 0x40]
push eax
call fcn.0040a1e0
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [edx + ebp*4 + 4]
call fcn.00407630
mov byte [esp + 0x1c8], 0x11
mov eax, dword [eax]
lea esi, [esp + 0x130]
call fcn.00407000
mov byte [esp + 0x1c8], 0x12
mov ecx, esi
mov ebx, edi
call fcn.00407890
mov byte [esp + 0x1c8], 0x11
call fcn.0040b3d0
mov byte [esp + 0x1c8], 2
lea eax, [esp + 0x38]
push eax
call fcn.0040a1e0
inc ebp
mov dword [esp + 0x24], ebp
jmp 0x4294ef
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x168]
call fcn.00407000
mov byte [esp + 0x1c8], 0x13
mov ecx, dword [esp + 0x18]
add ecx, 0x24
push ecx
mov ecx, esi
call fcn.00407970
push eax
mov eax, 0x42f30c
call fcn.00406ba0
mov byte [esp + 0x1c8], 2
jmp 0x4294ea
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x1a0]
call fcn.00407000
mov byte [esp + 0x1c8], 0x14
mov ebx, dword [esp + 0x18]
add ebx, 0x14
mov ecx, esi
call fcn.00407890
mov byte [esp + 0x1c8], 2
call fcn.0040b3d0
mov byte [esp + 0x1c8], 1
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x429517
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1c8], 0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42953f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [esp + 0x2c]
jl 0x429015
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebx], 1
mov dword [esp + 0x1c8], 0xffffffff
lea esi, [esp + 0x50]
call fcn.0040b3d0
mov ecx, dword [esp + 0x1c0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.0040e68e
add esp, 0x1b8
ret
push 0x80070057
call fcn.00405970
push 0x80004005
call fcn.00405970
int3