Function at 0x475ca0
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 0x475cdc
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 0x475e52
jmp 0x475d10
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
nop dword [eax]
test ebx, ebx
jne 0x475e4e
test esi, esi
je 0x475e52
test ebp, ebp
je 0x475d4e
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 0x475d54
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 0x475d05
mov edx, ecx
nop word [eax + eax]
movzx ecx, dx
mov dword [esp + 0x20], ecx
cmp dx, 0x22
jne 0x475d95
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 0x475e05
cmp dword [esp + 0x18], 0
jne 0x475ddd
cmp dx, 0x20
je 0x475db4
cmp dx, 9
je 0x475db4
cmp dx, 0xa
je 0x475db4
cmp dx, 0xd
jne 0x475ddd
test eax, eax
je 0x475e05
test esi, esi
jg 0x475dc3
cmp dword [esp + 0x10], 0
jne 0x475dd8
test ebx, ebx
je 0x475dd7
xor ecx, ecx
mov word [edi], cx
add edi, 2
mov dword [ebx + esi*4], eax
inc esi
xor eax, eax
jmp 0x475e05
inc ebp
inc esi
xor eax, eax
jmp 0x475e05
test eax, eax
mov ecx, edi
cmovne ecx, eax
mov eax, ecx
mov ecx, dword [esp + 0x20]
movzx ecx, cx
test esi, esi
jg 0x475df8
cmp dword [esp + 0x10], 0
jne 0x475e05
test ebx, ebx
je 0x475e04
mov word [edi], cx
add edi, 2
jmp 0x475e05
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 0x475d70
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x475d09
test esi, esi
jg 0x475e35
cmp dword [esp + 0x10], 0
jne 0x475e48
test ebx, ebx
je 0x475e47
xor ecx, ecx
mov word [edi], cx
mov dword [ebx + esi*4], eax
inc esi
jmp 0x475d05
inc ebp
inc esi
jmp 0x475d05
test esi, esi
jg 0x475e81
test edi, edi
je 0x475e7f
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 0x475e89
xor esi, esi
mov dword [esp + 0x1c], esi
test esi, esi
jle 0x475ea5
test edi, edi
je 0x475ea5
push edi
push dword [ebx]
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x475ea5
mov eax, dword [ebx]
xor ecx, ecx
mov word [eax + edi*2 - 2], cx
mov eax, dword [0x7ee784]
test eax, eax
je 0x475f11
mov ecx, dword [0x7ee788]
test ecx, ecx
je 0x475eeb
mov eax, dword [0x7ee780]
xor edx, edx
cmp eax, ecx
push ecx
cmove eax, edx
push edx
mov dword [0x7ee780], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
push eax
call edi
mov eax, dword [0x7ee784]
mov dword [0x7ee788], 0
jmp 0x475ef1
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 [0x7ee784], 0
mov dword [0x7ee77c], 0
test esi, esi
jle 0x475fbe
xor edi, edi
mov dword [0x7ee784], ebx
xor ebp, ebp
mov dword [0x7ee77c], esi
cmp dword [esp + 0x1c], edi
jle 0x475f51
nop
push dword [ebx + edi*4]
call fcn.004cdff0
mov esi, dword [0x7ee77c]
inc ebp
inc edi
add esp, 4
add ebp, eax
cmp edi, esi
jge 0x475f51
mov ebx, dword [0x7ee784]
jmp 0x475f30
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 [0x7ee77c]
xor ebx, ebx
mov dword [0x7ee788], eax
lea edi, [eax + ecx*4]
test ecx, ecx
jle 0x475fb9
nop
mov eax, dword [0x7ee784]
push dword [eax + ebx*4]
call fcn.004cdff0
lea esi, [eax + 1]
lea ecx, [esi - 1]
push ecx
mov ecx, dword [0x7ee784]
push dword [ecx + ebx*4]
push edi
call fcn.004cdf70
mov eax, dword [0x7ee788]
add esp, 0x10
mov dword [eax + ebx*4], edi
inc ebx
add edi, esi
cmp ebx, dword [0x7ee77c]
jl 0x475f80
mov dword [0x7ee780], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret