Function at 0x4acd60
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push ebp
push esi
push edi
push 0x20a
push 0
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x105
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, eax
mov dword [esp + 0x10], eax
test edi, edi
je 0x4acd9c
inc edi
mov dword [esp + 0x10], edi
push esi
push 0
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x14], ecx
or esi, 0xffffffff
test ecx, ecx
jne 0x4ace18
test edi, edi
je 0x4acf53
lea eax, [edi*2 + 4]
mov ebp, 1
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
mov esi, ebp
lea eax, [ebx + 4]
mov dword [ebx], eax
push edi
push dword [ebx]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4acf57
mov eax, dword [ebx]
xor ecx, ecx
mov word [eax + edi*2 - 2], cx
jmp 0x4acf57
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
test ebx, ebx
jne 0x4acf40
test esi, esi
je 0x4acdbf
test ebp, ebp
je 0x4ace52
lea eax, [esi*2]
add eax, ebp
add eax, eax
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
lea ecx, [ebx + esi*4]
mov dword [ebx], ecx
lea edi, [ecx + edi*2]
mov ecx, dword [esp + 0x14]
jmp 0x4ace58
mov ebp, dword [esp + 0x10]
mov edi, ecx
mov dword [esp + 0x1c], ecx
xor eax, eax
movzx ecx, word [ecx]
xor esi, esi
mov dword [esp + 0x18], eax
test cx, cx
je 0x4ace10
mov edx, ecx
nop
cmp dx, 0x22
jne 0x4ace8e
xor ecx, ecx
cmp dword [esp + 0x18], ecx
sete cl
test eax, eax
mov dword [esp + 0x18], ecx
mov ecx, edi
cmovne ecx, eax
mov eax, ecx
jmp 0x4acef7
cmp dword [esp + 0x18], 0
jne 0x4aced6
cmp dx, 0x20
je 0x4acead
cmp dx, 9
je 0x4acead
cmp dx, 0xa
je 0x4acead
cmp dx, 0xd
jne 0x4aced6
test eax, eax
je 0x4acef7
test esi, esi
jg 0x4acebc
cmp dword [esp + 0x10], 0
jne 0x4aced1
test ebx, ebx
je 0x4aced0
xor ecx, ecx
mov word [edi], cx
add edi, 2
mov dword [ebx + esi*4], eax
inc esi
xor eax, eax
jmp 0x4acef7
inc ebp
inc esi
xor eax, eax
jmp 0x4acef7
test eax, eax
mov ecx, edi
cmovne ecx, eax
mov eax, ecx
test esi, esi
jg 0x4aceea
cmp dword [esp + 0x10], 0
jne 0x4acef7
test ebx, ebx
je 0x4acef6
mov word [edi], dx
add edi, 2
jmp 0x4acef7
inc ebp
mov ecx, dword [esp + 0x1c]
add ecx, 2
mov dword [esp + 0x1c], ecx
movzx ecx, word [ecx]
mov edx, ecx
test cx, cx
jne 0x4ace70
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x4ace14
test esi, esi
jg 0x4acf27
cmp dword [esp + 0x10], 0
jne 0x4acf3a
test ebx, ebx
je 0x4acf39
xor ecx, ecx
mov word [edi], cx
mov dword [ebx + esi*4], eax
inc esi
jmp 0x4ace10
inc ebp
inc esi
jmp 0x4ace10
test esi, esi
jle 0x4acdbf
mov ebp, esi
test edi, edi
je 0x4acf57
jmp 0x4acdec
xor ebp, ebp
xor esi, esi
mov eax, dword [0x8a8144]
test eax, eax
je 0x4acfc3
mov ecx, dword [0x8a8148]
test ecx, ecx
je 0x4acf9d
mov eax, dword [0x8a8140]
xor edx, edx
cmp eax, ecx
push ecx
cmove eax, edx
push edx
mov dword [0x8a8140], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call edi
mov eax, dword [0x8a8144]
mov dword [0x8a8148], 0
jmp 0x4acfa3
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call edi
mov dword [0x8a8144], 0
mov dword [0x8a813c], 0
test ebp, ebp
jle 0x4ad071
xor ecx, ecx
mov dword [0x8a8144], ebx
xor edi, edi
mov dword [0x8a813c], ebp
mov dword [esp + 0x1c], ecx
test esi, esi
jle 0x4ad00c
push dword [ebx + edi*4]
call fcn.0057b8d0
mov ecx, dword [esp + 0x20]
inc edi
mov ebp, dword [0x8a813c]
inc ecx
add ecx, eax
add esp, 4
mov dword [esp + 0x1c], ecx
cmp edi, ebp
jge 0x4ad00c
mov ebx, dword [0x8a8144]
jmp 0x4acfe3
lea eax, [ecx + ebp*4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [0x8a813c]
xor ebx, ebx
mov dword [0x8a8148], eax
lea edi, [eax + ecx*4]
test ecx, ecx
jle 0x4ad06c
mov eax, dword [0x8a8144]
push dword [eax + ebx*4]
call fcn.0057b8d0
lea esi, [eax + 1]
lea ecx, [esi - 1]
push ecx
mov ecx, dword [0x8a8144]
push dword [ecx + ebx*4]
push edi
call fcn.0057b850
mov eax, dword [0x8a8148]
add esp, 0x10
mov dword [eax + ebx*4], edi
inc ebx
add edi, esi
cmp ebx, dword [0x8a813c]
jl 0x4ad033
mov dword [0x8a8140], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret