Function at 0x1005a2a0
Capabilities:
Accept command line arguments
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov ebx, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [0x101b9014]
xor edx, ebp
mov dword [esp + 0x78], edx
lea edx, [esp + 0x68]
push 3
push ecx
push eax
push edx
call fcn.10082f90
add esp, 0x10
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1005ac2c
mov esi, dword [esp + 0x68]
mov dword [ebx], esi
mov dword [ebx + 4], eax
mov dword [esp + 0x34], 0
push 0x800
push 0
push str.api_ms_win_downlevel_shell32_l1_1_0.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x1005a32d
push 0x101a03d6
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1005a33f
mov ecx, eax
call dword [section..00cfg]
lea eax, [esp + 0x34]
push eax
push esi
call ecx
jmp 0x1005a339
lea eax, [esp + 0x34]
push eax
push esi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [esp + 0x20], eax
jmp 0x1005a347
mov dword [esp + 0x20], 0
mov edi, dword [esp + 0x34]
test edi, edi
mov dword [esp + 0xc], ebx
je 0x1005a3aa
shl edi, 2
cmp edi, 0x55555555
jae 0x1005abb1
lea eax, [edi + edi*2]
xor ebx, ebx
push eax
call fcn.10145ba4
add esp, 4
mov esi, eax
mov dword [esp + 8], eax
nop word cs:[eax + eax]
test esi, esi
je 0x1005acaf
mov ecx, esi
mov eax, dword [esp + 0x20]
push dword [eax + ebx]
call fcn.100349a0
add esi, 0xc
add ebx, 4
cmp edi, ebx
jne 0x1005a380
mov dword [esp + 0x1c], esi
mov ebx, dword [esp + 0xc]
jmp 0x1005a3ba
mov dword [esp + 0x1c], 0
mov dword [esp + 8], 0
push 0xc
call fcn.10145ba4
add esp, 4
test eax, eax
je 0x1005acca
mov esi, eax
mov ecx, eax
add ecx, 0xc
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
lea eax, [ebx + 0xc]
mov dword [esp + 0x24], eax
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x1005a448
mov dword [esp + 0x18], ecx
mov eax, dword [ebx + 0x10]
mov ecx, edi
cmp eax, edi
je 0x1005a434
mov ebx, esi
jmp 0x1005a416
mov eax, esi
cmp esi, edi
je 0x1005a42c
lea esi, [eax - 0xc]
cmp byte [eax - 1], 0
jns 0x1005a410
push dword [eax - 0xc]
call fcn.10145bd4
add esp, 4
jmp 0x1005a410
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov esi, ebx
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x10], edi
push ecx
call fcn.10145bd4
add esp, 4
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0x14], ecx
lea ecx, [ebx + 0x18]
lea esi, [ebx + 0x1c]
push dword [ebx + 0x1c]
call fcn.1005d320
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x24], 1
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x1c]
mov esi, ebx
je 0x1005a4a1
movzx eax, byte [edx + 0xb]
test al, al
jns 0x1005a494
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x68]
push eax
push edx
call fcn.10060680
jmp 0x1005a4b9
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov ecx, esi
lea eax, [esp + 0x68]
push eax
call fcn.10059ae0
cmp byte [esp + 0x73], 0
jns 0x1005a4d8
push dword [esp + 0x68]
call fcn.10145bd4
add esp, 4
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 8]
sar eax, 2
imul eax, eax, 0xaaaaaaab
mov dword [esp + 0x28], eax
cmp eax, 2
jb 0x1005abed
lea edx, [esp + 0x68]
cmp edx, 0x101a03ea
seta al
lea ecx, [esp + 0x6c]
cmp ecx, 0x101a03ea
setbe cl
or cl, al
mov byte [esp + 0x13], cl
cmp edx, 0x101a03f0
seta al
lea ecx, [esp + 0x6a]
cmp ecx, 0x101a03f0
setbe ah
or ah, al
mov byte [esp + 0x12], ah
cmp edx, 0x101a03f4
seta al
cmp ecx, 0x101a03f4
setbe cl
mov edx, dword [esi + 4]
mov dword [esp + 0x30], edx
or cl, al
mov byte [esp + 7], cl
dec dword [esp + 0x28]
mov eax, dword [esp + 8]
lea ebx, [eax + 0xc]
mov al, 1
mov dword [esp + 0x14], eax
jmp 0x1005a594
push dword [esp + 0x48]
call fcn.10145bd4
add esp, 4
cmp byte [esp + 0x63], 0
js 0x1005aac6
add ebx, 0xc
dec dword [esp + 0x28]
je 0x1005abed
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
cmp byte [ebx + 0xb], 0
mov dword [esp + 0x18], ebx
js 0x1005a5d0
mov eax, dword [ebx + 8]
mov dword [esp + 0x60], eax
movsd xmm0, qword [ebx]
movsd qword [esp + 0x58], xmm0
jmp 0x1005a63e
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ebx, 4
ja 0x1005a5e8
mov byte [esp + 0x63], bl
lea eax, [esp + 0x58]
cmp eax, edi
jbe 0x1005a622
jmp 0x1005a630
cmp ebx, 0x7ffffff0
jae 0x1005abb1
mov esi, ebx
or esi, 7
inc esi
js 0x1005abb6
lea eax, [esi + esi]
push eax
call fcn.10145ba4
add esp, 4
mov dword [esp + 0x58], eax
or esi, 0x80000000
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], ebx
cmp eax, edi
ja 0x1005a630
lea ecx, [eax + ebx*2]
add ecx, 2
cmp ecx, edi
ja 0x1005acc1
inc ebx
add ebx, ebx
push ebx
push edi
push eax
call fcn.10148eb0
add esp, 0xc
movzx eax, byte [esp + 0x63]
lea ecx, [esp + 0x58]
test al, al
jns 0x1005a653
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
push 3
push eax
push ecx
lea eax, [esp + 0x54]
push eax
call fcn.10082f90
add esp, 0x10
mov edi, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x1005a678
test edi, edi
je 0x1005acb2
cmp ebx, 0x7ffffff0
jae 0x1005abb1
cmp ebx, 4
ja 0x1005a6a0
mov byte [esp + 0x73], bl
lea eax, [esp + 0x68]
jmp 0x1005a6ca
mov esi, ebx
or esi, 7
inc esi
js 0x1005abb6
lea eax, [esi + esi]
push eax
call fcn.10145ba4
add esp, 4
mov dword [esp + 0x68], eax
or esi, 0x80000000
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
lea esi, [eax + ebx*2]
cmp eax, edi
ja 0x1005a6d9
cmp esi, edi
ja 0x1005acb5
test ebx, ebx
je 0x1005a6ea
add ebx, ebx
push ebx
push edi
push eax
call fcn.10148eb0
add esp, 0xc
mov word [esi], 0
cmp byte [esp + 0x63], 0
jns 0x1005a702
push dword [esp + 0x58]
call fcn.10145bd4
add esp, 4
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], eax
movsd xmm0, qword [esp + 0x68]
movsd qword [esp + 0x58], xmm0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
movzx eax, byte [esp + 0x63]
test al, al
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
movzx ebx, al
mov esi, ebx
cmovs esi, ecx
lea edx, [esp + 0x58]
cmovs edx, edi
test esi, esi
je 0x1005a770
test edx, edx
je 0x1005acb8
cmp esi, 2
jne 0x1005a790
cmp word [edx], 0x2d
jne 0x1005a790
test al, al
lea edx, [esp + 0x58]
cmovs edx, edi
cmp word [edx + 2], 0x2d
je 0x1005a990
nop
test byte [esp + 0x14], 1
je 0x1005a990
lea ecx, [esp + 0x58]
lea edx, [esp + 0x48]
lea eax, [esp + 0x38]
push eax
call fcn.1005bfe0
add esp, 4
test al, al
je 0x1005a9a0
cmp dword [esp + 0x30], 0
je 0x1005ab0f
movzx eax, byte [esp + 0x53]
mov ecx, dword [esp + 0x48]
lea esi, [esp + 0x48]
mov ebx, eax
test al, al
jns 0x1005a7dc
mov ebx, dword [esp + 0x4c]
mov esi, ecx
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x70], 0x2ffffff
cmp byte [esp + 0x13], 0
je 0x1005acc7
mov dword [esp + 0x68], 0x2d002d
mov word [esp + 0x6c], 0
cmp ebx, 2
jb 0x1005a82e
cmp word [esi], 0x2d
jne 0x1005a82e
test al, al
lea eax, [esp + 0x48]
cmovns ecx, eax
mov edi, 2
cmp word [ecx + 2], 0x2d
je 0x1005a89f
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x70], 0x1ffffff
cmp byte [esp + 0x12], 0
je 0x1005acc7
mov word [esp + 0x68], 0x2d
test ebx, ebx
je 0x1005aaec
mov edi, 1
cmp word [esi], 0x2d
je 0x1005a89f
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x70], 0x1ffffff
cmp byte [esp + 7], 0
je 0x1005acc7
mov word [esp + 0x68], 0x2f
cmp word [esi], 0x2f
jne 0x1005ab0f
cmp ebx, edi
je 0x1005ab0f
push 0
push 1
push 0x101a0382
push ebx
push esi
call fcn.10075260
add esp, 0x14
sub ebx, edi
jb 0x1005accd
sub eax, edi
cmp ebx, eax
cmovb eax, ebx
cmp eax, 0xf
jne 0x1005ab0f
cmp word [esi + edi*2], 0x73
jne 0x1005ab0f
cmp word [esi + edi*2 + 2], 0x69
jne 0x1005ab0f
cmp word [esi + edi*2 + 4], 0x6e
jne 0x1005ab0f
cmp word [esi + edi*2 + 6], 0x67
jne 0x1005ab0f
cmp word [esi + edi*2 + 8], 0x6c
jne 0x1005ab0f
cmp word [esi + edi*2 + 0xa], 0x65
jne 0x1005ab0f
cmp word [esi + edi*2 + 0xc], 0x2d
jne 0x1005ab0f
cmp word [esi + edi*2 + 0xe], 0x61
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x10], 0x72
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x12], 0x67
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x14], 0x75
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x16], 0x6d
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x18], 0x65
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x1a], 0x6e
jne 0x1005ab0f
cmp word [esi + edi*2 + 0x1c], 0x74
jne 0x1005ab0f
jmp 0x1005abbb
mov dword [esp + 0x14], 0
jmp 0x1005a9b6
movzx eax, byte [esp + 0x63]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
movzx ebx, al
mov dl, 1
mov dword [esp + 0x14], edx
test al, al
lea eax, [esp + 0x58]
cmovns edi, eax
cmovs ebx, ecx
test edi, edi
jne 0x1005a9ce
test ebx, ebx
jne 0x1005acbb
cmp ebx, 0x7ffffff0
jae 0x1005abb1
cmp ebx, 4
ja 0x1005a9f0
mov byte [esp + 0x73], bl
lea eax, [esp + 0x68]
jmp 0x1005aa1a
mov esi, ebx
or esi, 7
inc esi
js 0x1005abb6
lea eax, [esi + esi]
push eax
call fcn.10145ba4
add esp, 4
mov dword [esp + 0x68], eax
or esi, 0x80000000
mov dword [esp + 0x70], esi
mov dword [esp + 0x6c], ebx
lea esi, [eax + ebx*2]
cmp eax, edi
ja 0x1005aa29
cmp esi, edi
ja 0x1005acbe
test ebx, ebx
je 0x1005aa3a
add ebx, ebx
push ebx
push edi
push eax
call fcn.10148eb0
add esp, 0xc
mov word [esi], 0
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
cmp eax, dword [esi + 0x14]
jae 0x1005aa90
test eax, eax
mov ebx, dword [esp + 0x18]
je 0x1005acc4
mov ecx, dword [esp + 0x70]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x68]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [esi + 0x10], eax
cmp byte [esp + 0x43], 0
jns 0x1005aab0
push dword [esp + 0x38]
call fcn.10145bd4
add esp, 4
cmp byte [esp + 0x53], 0
jns 0x1005aabb
jmp 0x1005a570
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x68]
push eax
call fcn.1005cfe0
cmp byte [esp + 0x73], 0
mov ebx, dword [esp + 0x18]
js 0x1005aad7
cmp byte [esp + 0x43], 0
js 0x1005aa75
cmp byte [esp + 0x53], 0
js 0x1005a570
cmp byte [esp + 0x63], 0
jns 0x1005a587
push dword [esp + 0x58]
call fcn.10145bd4
add esp, 4
jmp 0x1005a587
push dword [esp + 0x68]
call fcn.10145bd4
add esp, 4
cmp byte [esp + 0x43], 0
jns 0x1005aab0
jmp 0x1005aa75
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x6c], 0xffffffff
mov dword [esp + 0x70], 0x1ffffff
cmp byte [esp + 7], 0
je 0x1005acc7
movzx ebx, byte [esp + 0x43]
lea edi, [esp + 0x38]
test bl, bl
jns 0x1005ab24
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x53]
lea ecx, [esp + 0x48]
test al, al
jns 0x1005ab39
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
lea esi, [esp + 0x68]
push esi
push eax
push ecx
call fcn.10078390
add esp, 0xc
movzx eax, byte [esp + 0x73]
mov edx, esi
test al, al
jns 0x1005ab73
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xc]
push ebx
push edi
push eax
push edx
call fcn.1005b340
cmp byte [esp + 0x73], 0
jns 0x1005ab93
push dword [esp + 0x68]
call fcn.10145bd4
add esp, 4
mov al, 1
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
cmp byte [esp + 0x43], 0
jns 0x1005aab0
jmp 0x1005aa75
call fcn.1015b4f0
call fcn.10034a48
lea edx, [esp + 0x48]
mov ecx, dword [esp + 0xc]
call fcn.1005c1f0
cmp byte [esp + 0x43], 0
js 0x1005ac70
cmp byte [esp + 0x53], 0
js 0x1005ac87
cmp byte [esp + 0x63], 0
js 0x1005ac9e
mov esi, dword [esp + 0xc]
mov dword [esi], 0
mov dword [esi + 4], 0
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1005ac13
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [esp + 8]
test eax, eax
je 0x1005ac2c
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
jne 0x1005ac56
push eax
call fcn.10145bd4
add esp, 4
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.101465a3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, esi
cmp esi, eax
je 0x1005ac23
lea esi, [ecx - 0xc]
cmp byte [ecx - 1], 0
jns 0x1005ac50
push dword [ecx - 0xc]
call fcn.10145bd4
mov eax, dword [esp + 0xc]
add esp, 4
jmp 0x1005ac50
push dword [esp + 0x38]
call fcn.10145bd4
add esp, 4
cmp byte [esp + 0x53], 0
jns 0x1005abde
push dword [esp + 0x48]
call fcn.10145bd4
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x1005abe9
push dword [esp + 0x58]
call fcn.10145bd4
add esp, 4
jmp 0x1005abe9
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3