Function at 0x30005928
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
and dword [ebp - 0x20], 0
push ebx
push esi
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
mov esi, ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x30058170
mov eax, dword [eax]
push edi
push eax
lea edi, [esi + 0x1cc]
push edi
call fcn.30005a6e
mov ebx, eax
test ebx, ebx
jl 0x30005a34
mov edi, dword [edi]
mov ecx, edi
test edi, edi
je 0x3005818d
lea eax, [esi + 0x13c]
mov dword [eax], ecx
mov dword [esi + 0x30], eax
mov eax, dword [ebp - 0x10]
xor edi, edi
push 0xffffffffffffffff
inc edi
mov dword [esi + 0x34], edi
mov eax, dword [eax]
push 0x30005a54
push eax
call fcn.30005b31
test eax, eax
je 0x30058197
cmp dword [ebp - 0x14], edi
mov dword [ebp - 8], edi
jle 0x30005a2b
mov eax, dword [ebp - 0x10]
add eax, 4
mov dword [ebp - 4], 2
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
movzx eax, word [ebx]
push 0x2f
pop ecx
mov dword [ebp - 0x1c], ebx
cmp cx, ax
je 0x3003fad4
push 0x2d
pop ecx
cmp cx, ax
je 0x3003fad4
xor edi, edi
cmp dword [esi + 0x3c], edi
jne 0x30005a19
cmp word [ebx], di
jne 0x30005bfe
lea edi, [esi + 0x1d0]
push edi
call fcn.30005c29
mov edi, dword [edi]
mov ecx, edi
test edi, edi
jne 0x30005a07
mov ecx, 0x3010bc18
lea eax, [esi + 0x140]
mov dword [eax], ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 1
inc dword [ebp - 8]
inc dword [ebp - 4]
add dword [ebp + 8], 4
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 8], eax
jl 0x300059bb
mov ecx, esi
call fcn.30005c6b
mov ebx, eax
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
lea eax, [ebp - 0x20]
push eax
call fcn.30005cf0
pop esi
mov eax, ebx
pop ebx
leave
ret 4
push ebx
call dword [sym.imp.MSO.dll_Ordinal_6128]
test eax, eax
je 0x300581ae
push ebx
lea edi, [esi + 0x1d0]
push edi
call fcn.30005a6e
mov ebx, eax
test ebx, ebx
jge 0x300059fa
jmp 0x30005a34
push 7
pop edi
mov ebx, 0x30023cf0
jmp 0x3003faeb
test eax, eax
jne 0x3000599f
jmp 0x30005a34
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebx]
inc eax
inc eax
push ecx
push eax
call fcn.30005bb9
test eax, eax
jne 0x3003fb08
inc edi
add ebx, 0x10
cmp edi, 0x24
jb 0x3003faeb
cmp edi, 0x24
jae 0x30058272
mov eax, edi
shl eax, 4
mov eax, dword [eax + 0x30023c84]
dec eax
jne 0x30058202
lea eax, [esi + edi*8]
cmp dword [eax + 0xc], 0
jne 0x30005a19
xor ecx, ecx
lea edi, [esi + edi*4 + 0x128]
inc ecx
mov dword [edi], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
jmp 0x30005a19
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jg 0x30058181
mov ebx, eax
jmp 0x30005a3e
and eax, 0xffff
or eax, 0x80070000
jmp 0x3005817a
mov ecx, 0x3010bc18
jmp 0x30005974
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
push 0xffffffffffffffff
push 0x300582ac
push eax
call fcn.30005b31
jmp 0x3003fade
push edi
push edi
push edi
mov dword [ebp - 0xc], edi
mov edi, dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
push ebx
call edi
mov dword [ebp - 0x18], eax
inc eax
push eax
lea ecx, [ebp - 0xc]
call fcn.300a6e75
mov ebx, eax
test ebx, ebx
jl 0x30058297
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call edi
push dword [ebp - 0xc]
lea edi, [esi + 0x1d0]
push edi
call fcn.30005a6e
push dword [ebp - 0xc]
mov ebx, eax
call fcn.3001fe70
pop ecx
jmp 0x30005c1c
dec eax
jne 0x30005a23
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14]
jge 0x30058272
lea eax, [esi + edi*8]
cmp dword [eax + 0xc], 0
mov dword [ebp - 0x1c], eax
jne 0x30058261
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea ecx, [esi + edi*4 + 0x1b8]
push eax
push ecx
call fcn.30005a6e
mov ebx, eax
test ebx, ebx
jl 0x30005a34
mov ecx, dword [esi + edi*4 + 0x1b8]
test ecx, ecx
jne 0x3005824b
mov ecx, 0x3010bc18
lea eax, [esi + edi*4 + 0x128]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
add dword [ebp - 8], 2
add dword [ebp - 4], 2
add dword [ebp + 8], 8
jmp 0x30005a23
xor eax, eax
push eax
push 0xffffffffffffffff
push eax
push 3
push eax
push 0x200
push 0x1008c
call fcn.3009a9a5
add esp, 0x1c
mov ebx, 0x80070057
jmp 0x30005a34
push dword [ebp - 0xc]
call fcn.3001fe70
pop ecx
jmp 0x30005a34