Function at 0x4917d0
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x14
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 0x49180c
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
je 0x491982
jmp 0x491840
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
nop dword [eax]
test ebx, ebx
jne 0x49197e
test esi, esi
je 0x491982
test ebp, ebp
je 0x49187e
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 0x491884
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 0x491835
mov edx, ecx
nop word [eax + eax]
movzx ecx, dx
mov dword [esp + 0x20], ecx
cmp dx, 0x22
jne 0x4918c5
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 0x491935
cmp dword [esp + 0x18], 0
jne 0x49190d
cmp dx, 0x20
je 0x4918e4
cmp dx, 9
je 0x4918e4
cmp dx, 0xa
je 0x4918e4
cmp dx, 0xd
jne 0x49190d
test eax, eax
je 0x491935
test esi, esi
jg 0x4918f3
cmp dword [esp + 0x10], 0
jne 0x491908
test ebx, ebx
je 0x491907
xor ecx, ecx
mov word [edi], cx
add edi, 2
mov dword [ebx + esi*4], eax
inc esi
xor eax, eax
jmp 0x491935
inc ebp
inc esi
xor eax, eax
jmp 0x491935
test eax, eax
mov ecx, edi
cmovne ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x20]
movzx ecx, cx
test esi, esi
jg 0x491928
cmp dword [esp + 0x10], 0
jne 0x491935
test ebx, ebx
je 0x491934
mov word [edi], cx
add edi, 2
jmp 0x491935
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 0x4918a0
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x491839
test esi, esi
jg 0x491965
cmp dword [esp + 0x10], 0
jne 0x491978
test ebx, ebx
je 0x491977
xor ecx, ecx
mov word [edi], cx
mov dword [ebx + esi*4], eax
inc esi
jmp 0x491835
inc ebp
inc esi
jmp 0x491835
test esi, esi
jg 0x4919b1
test edi, edi
je 0x4919af
lea eax, [edi*2 + 4]
mov esi, 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 dword [esp + 0x1c], esi
lea eax, [ebx + 4]
mov dword [ebx], eax
jmp 0x4919b9
xor esi, esi
mov dword [esp + 0x1c], esi
test esi, esi
jle 0x4919d5
test edi, edi
je 0x4919d5
push edi
push dword [ebx]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4919d5
mov eax, dword [ebx]
xor ecx, ecx
mov word [eax + edi*2 - 2], cx
mov eax, dword [0x8b8534]
test eax, eax
je 0x491a41
mov ecx, dword [0x8b8538]
test ecx, ecx
je 0x491a1b
mov eax, dword [0x8b8530]
xor edx, edx
cmp eax, ecx
push ecx
cmove eax, edx
push edx
mov dword [0x8b8530], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call edi
mov eax, dword [0x8b8534]
mov dword [0x8b8538], 0
jmp 0x491a21
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 [0x8b8534], 0
mov dword [0x8b852c], 0
test esi, esi
jle 0x491aee
xor edi, edi
mov dword [0x8b8534], ebx
xor ebp, ebp
mov dword [0x8b852c], esi
cmp dword [esp + 0x1c], edi
jle 0x491a81
nop
push dword [ebx + edi*4]
call fcn.004f9030
mov esi, dword [0x8b852c]
inc ebp
inc edi
add esp, 4
add ebp, eax
cmp edi, esi
jge 0x491a81
mov ebx, dword [0x8b8534]
jmp 0x491a60
lea eax, [esi*4]
add eax, ebp
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [0x8b852c]
xor ebx, ebx
mov dword [0x8b8538], eax
lea edi, [eax + ecx*4]
test ecx, ecx
jle 0x491ae9
nop
mov eax, dword [0x8b8534]
push dword [eax + ebx*4]
call fcn.004f9030
lea esi, [eax + 1]
lea ecx, [esi - 1]
push ecx
mov ecx, dword [0x8b8534]
push dword [ecx + ebx*4]
push edi
call fcn.004f8fb0
mov eax, dword [0x8b8538]
add esp, 0x10
mov dword [eax + ebx*4], edi
inc ebx
add edi, esi
cmp ebx, dword [0x8b852c]
jl 0x491ab0
mov dword [0x8b8530], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret