Function at 0x43f570
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x509354]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push edi
mov edi, ecx
push edi
push 3
push eax
call fcn.00444f40
xor ebx, ebx
add esp, 0xc
cmp dword [edi + 0x14], ebx
je 0x43f7bd
cmp dword [edi + 0x18], 8
mov dword [ebp - 0x60], ebx
jb 0x43f5af
mov eax, dword [edi + 4]
jmp 0x43f5b2
lea eax, [edi + 4]
push esi
lea ecx, [ebp - 0x60]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, dword [eax]
mov dword [ebp - 0x68], eax
xor edx, edx
mov eax, ecx
mov dword [ebp - 8], 7
mov dword [ebp - 0xc], ebx
mov word [ebp - 0x1c], dx
lea esi, [eax + 2]
jmp 0x43f5e0
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x43f5e0
sub eax, esi
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.00401cd6
lea eax, [edi + 0x1c]
push eax
lea ecx, [ebp - 0x20]
push 3
push ecx
call fcn.00444f40
add esp, 0xc
cmp dword [ebp - 8], 8
jb 0x43f61d
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0048e006
add esp, 4
mov eax, 1
cmp dword [ebp - 0x60], eax
mov byte [ebp - 0x59], 1
mov dword [ebp - 0x64], eax
jle 0x43f7b2
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov eax, 7
mov dword [ebp - 0x24], eax
mov word [ebp - 0x38], cx
mov ecx, dword [ebp - 0x64]
mov edx, dword [edx + ecx*4]
mov dword [ebp - 0x6c], eax
xor eax, eax
mov word [ebp - 0x80], ax
mov eax, edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x70], ebx
lea esi, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x43f660
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x84]
call fcn.00401cd6
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x84]
push 3
push edx
call fcn.00444f40
mov esi, 8
add esp, 0xc
cmp dword [ebp - 0x6c], esi
jb 0x43f6a7
mov eax, dword [ebp - 0x80]
push eax
call fcn.0048e006
add esp, 4
lea ecx, [ebp - 0x3c]
cmp byte [ebp - 0x59], bl
jne 0x43f6ca
push ecx
lea ecx, [edi + 0x44]
call fcn.0040bee8
cmp dword [ebp - 0x24], esi
jb 0x43f7a2
mov edx, dword [ebp - 0x38]
push edx
jmp 0x43f79a
mov eax, dword [ebp - 0x28]
push 2
push 0x4e6acc
push eax
push ebx
call fcn.0040129e
test eax, eax
jne 0x43f6f4
mov byte [ebp - 0x59], bl
cmp dword [ebp - 0x24], esi
jb 0x43f7a2
mov ecx, dword [ebp - 0x38]
push ecx
jmp 0x43f79a
xor edx, edx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x20]
mov word [ebp - 0x54], dx
push ecx
lea edx, [ebp - 0x3c]
push edx
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], ebx
mov byte [ebp - 0x1c], bl
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x44], ebx
call fcn.0043e4b0
add esp, 0xc
test al, al
je 0x43f745
lea eax, [ebp - 0x20]
push eax
lea ecx, [edi + 0x38]
call fcn.0043f000
push 0xffffffffffffffff
push ebx
lea ecx, [ebp - 0x58]
push ecx
mov ecx, eax
call fcn.00401c43
jmp 0x43f751
lea edx, [ebp - 0x3c]
push edx
lea ecx, [edi + 0x44]
call fcn.0040bee8
cmp dword [ebp - 0x40], esi
jb 0x43f762
mov eax, dword [ebp - 0x54]
push eax
call fcn.0048e006
add esp, 4
xor ecx, ecx
cmp dword [ebp - 8], 0x10
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x44], ebx
mov word [ebp - 0x54], cx
jb 0x43f784
mov edx, dword [ebp - 0x1c]
push edx
call fcn.0048e006
add esp, 4
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], ebx
mov byte [ebp - 0x1c], bl
cmp dword [ebp - 0x24], esi
jb 0x43f7a2
mov eax, dword [ebp - 0x38]
push eax
call fcn.0048e006
add esp, 4
mov eax, dword [ebp - 0x64]
inc eax
cmp eax, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
jl 0x43f632
mov ecx, dword [ebp - 0x68]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.0048e25d
mov esp, ebp
pop ebp
ret 4