Function at 0x573000
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58b648
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x5e6e74]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov esi, eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x573036
sub eax, edx
inc eax
push eax
push esi
call fcn.005531ab
push str..exe
push esi
call fcn.0054b250
mov esi, eax
add esp, 0x10
test esi, esi
je 0x57306d
mov al, byte [esi]
test al, al
je 0x57306d
cmp al, 0x20
je 0x573081
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x573061
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0
je 0x57306d
call fcn.0040c12e
mov ecx, eax
test ecx, ecx
je 0x573240
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0
test esi, 0xffff0000
jne 0x5730bd
movzx eax, si
lea ecx, [ebp - 0x18]
push eax
call fcn.004028b0
jmp 0x5730d5
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5730c2
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x18]
call fcn.00402120
lea ecx, [ebp - 0x18]
mov dword [ebp - 4], 1
call fcn.00402f70
mov edi, dword [ebp - 0x18]
or eax, 0xffffffff
cmp dword [edi - 0xc], 1
jge 0x5730f7
xor ebx, ebx
jmp 0x573206
call fcn.0040c12e
mov ecx, eax
test ecx, ecx
je 0x57324a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, 0x5be33e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x14]
test eax, 0xffff0000
jne 0x57312f
movzx eax, ax
push eax
call fcn.004028b0
jmp 0x57313b
push 0
push 0x5be33e
call fcn.00402120
mov byte [ebp - 4], 3
xor ebx, ebx
mov ecx, dword [edi - 0xc]
test ecx, ecx
jle 0x5731bf
mov eax, dword [ebp - 0x14]
nop dword [eax + eax]
test ebx, ebx
js 0x573236
cmp ebx, ecx
jg 0x573236
mov cl, byte [ebx + edi]
mov byte [ebp - 0xd], cl
cmp cl, 0x22
je 0x5731b7
cmp cl, 0x27
je 0x5731b7
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x1c], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x573236
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x57319e
push esi
lea ecx, [ebp - 0x14]
call fcn.004020c0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov cl, byte [ebp - 0xd]
mov byte [edx + eax], cl
cmp esi, dword [eax - 8]
jg 0x573236
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [edi - 0xc]
inc ebx
cmp ebx, ecx
jl 0x573150
lea ecx, [ebp - 0x14]
call fcn.00402f70
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
push esi
lea ecx, [ebx + 0x1ee0]
call fcn.0040bcf5
mov dword [ebx + 0x578], 1
add esi, 0xfffffff0
mov ebx, 1
or eax, 0xffffffff
mov byte [ebp - 4], bl
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x573203
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x573222
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00401d90
push 0x80004005
call fcn.00401d90
push 0x80004005
call fcn.00401d90
int3