Function at 0x10009f00
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x818
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x800
lea eax, [ebp - 0x804]
mov dword [ebp - 0x810], 0
mov ebx, ecx
mov dword [ebp - 0x80c], 0
push 0
push eax
mov dword [ebp - 0x814], ebx
call fcn.10425c00
add esp, 0xc
push 0x10468f70
push 0x10468f90
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1000a039
push ebx
lea ecx, [ebp - 0x808]
mov dword [ebp - 0x808], 0x400
push ecx
call eax
test eax, eax
jne 0x1000a039
cmp dword [ebx + 0x808], 0
mov eax, dword [ebp - 0x808]
lea edi, [eax + eax]
je 0x10009fa3
push dword [ebx + 0x804]
call fcn.10434337
add esp, 4
lea eax, [edi - 1]
mov dword [ebx + 0x804], 0
shr eax, 1
mov dword [ebx + 0x808], 0
mov dword [ebx + 0x804], ebx
mov dword [ebx + 0x800], edi
cmp word [ebx + eax*2], 0
je 0x10009fe2
lea eax, [edi + 2]
mov dword [ebx + 0x800], eax
dec eax
shr eax, 1
cmp word [ebx + eax*2], 0
jne 0x1000a039
xor edx, edx
mov ecx, ebx
test ebx, ebx
je 0x1000a014
cmp word [ebx], dx
je 0x1000a014
nop
cmp edx, 0x400
jae 0x1000a014
movzx esi, word [ecx]
lea eax, [esi - 0x41]
cmp ax, 0x19
ja 0x1000a00a
lea eax, [esi + 0x20]
mov word [ecx], ax
add ecx, 2
inc edx
cmp word [ecx], 0
jne 0x10009ff0
mov eax, dword [ebx + 0x80c]
and eax, 0xfffffff9
or eax, 0x40
mov dword [ebx + 0x80c], eax
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
push 0x400
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, eax
mov dword [ebp - 0x818], edi
test edi, edi
je 0x1000a29a
lea eax, [ebp - 0x80c]
mov ecx, ebx
push eax
lea eax, [ebp - 0x810]
push eax
push 0
call fcn.10009d00
lea ecx, [ebp - 0x804]
mov esi, eax
test ebx, ebx
je 0x1000a0b7
xor edx, edx
cmp word [ebx], dx
je 0x1000a0b2
lea eax, [edi - 1]
mov edi, ebx
mov dword [ebp - 0x808], eax
mov eax, ecx
mov ebx, dword [ebp - 0x808]
sub edi, eax
cmp edx, ebx
jae 0x1000a0ac
mov ax, word [edi + ecx]
inc edx
mov word [ecx], ax
add ecx, 2
cmp word [edi + ecx], 0
jne 0x1000a096
mov ebx, dword [ebp - 0x814]
xor eax, eax
mov word [ecx], ax
push 0x10468fb0
push esi
call fcn.10424ff2
add esp, 8
test eax, eax
jne 0x1000a0df
push 0x10468fd0
push esi
call fcn.10424ff2
add esp, 8
test eax, eax
je 0x1000a199
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edi, eax
test edi, edi
je 0x1000a199
push 0x10468ff0
push edi
call fcn.10424ff2
add esp, 8
test eax, eax
je 0x1000a199
cmp word [eax], 0x20
je 0x1000a11d
nop dword [eax + eax]
cmp eax, edi
je 0x1000a11d
sub eax, 2
cmp word [eax], 0x20
jne 0x1000a110
add eax, 2
lea edx, [esi + 4]
xor ecx, ecx
movzx edi, word [eax]
cmp edi, 0x20
je 0x1000a184
test di, di
je 0x1000a184
mov word [edx - 4], di
movzx edi, word [eax + 2]
cmp edi, 0x20
je 0x1000a183
test di, di
je 0x1000a183
mov word [edx - 2], di
lea ebx, [ecx + 2]
movzx edi, word [eax + 4]
mov dword [ebp - 0x808], ebx
mov ebx, dword [ebp - 0x814]
cmp edi, 0x20
je 0x1000a17b
test di, di
je 0x1000a17b
mov word [edx], di
add ecx, 3
add eax, 6
add edx, 6
cmp ecx, 0x3ff
jl 0x1000a125
jmp 0x1000a184
mov ecx, dword [ebp - 0x808]
jmp 0x1000a184
inc ecx
xor eax, eax
mov word [esi + ecx*2], ax
cmp ecx, 0x400
jge 0x1000a199
mov eax, 1
jmp 0x1000a19b
xor eax, eax
cmp word [esi], 0
je 0x1000a24f
cmp eax, 1
jne 0x1000a291
mov ecx, esi
call fcn.10008740
xor edi, edi
mov eax, esi
cmp word [esi], di
je 0x1000a1d2
nop
cmp edi, 0x400
jae 0x1000a1d2
add eax, 2
inc edi
cmp word [eax], 0
jne 0x1000a1c0
cmp dword [ebx + 0x808], 0
lea eax, [ebx + 0x804]
je 0x1000a1f1
push dword [eax]
call fcn.10434337
add esp, 4
lea eax, [ebx + 0x804]
mov dword [eax], 0
lea edi, [edi*2 + 2]
mov dword [eax], esi
lea eax, [edi - 1]
shr eax, 1
mov dword [ebx + 0x808], 0
mov dword [ebx + 0x800], edi
cmp word [esi + eax*2], 0
je 0x1000a026
add edi, 2
mov dword [ebx + 0x800], edi
lea eax, [edi - 1]
shr eax, 1
cmp word [esi + eax*2], 0
je 0x1000a026
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret
xor edx, edx
mov ecx, esi
cmp word [ebp - 0x804], dx
je 0x1000a28c
mov ebx, dword [ebp - 0x818]
lea edi, [ebp - 0x804]
dec ebx
sub edi, esi
nop dword [eax + eax]
cmp edx, ebx
jae 0x1000a286
mov ax, word [edi + ecx]
inc edx
mov word [ecx], ax
add ecx, 2
cmp word [edi + ecx], 0
jne 0x1000a270
mov ebx, dword [ebp - 0x814]
xor eax, eax
mov word [ecx], ax
cmp dword [ebp - 0x810], 0
jne 0x1000a2fd
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
test eax, eax
je 0x1000a36d
xor esi, esi
mov ecx, eax
cmp word [eax], si
je 0x1000a2c3
cmp esi, 0x400
jae 0x1000a2c3
add ecx, 2
inc esi
cmp word [ecx], 0
jne 0x1000a2b1
cmp esi, 0x400
mov ecx, 0x3ff
cmovae esi, ecx
add esi, esi
push esi
push eax
push ebx
call fcn.10425d60
add esp, 0xc
xor eax, eax
mov word [esi + ebx], ax
mov ecx, ebx
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x810]
push eax
push 1
call fcn.10009d00
mov esi, eax
test esi, esi
je 0x1000a36d
cmp dword [ebp - 0x80c], 0
jne 0x1000a374
test byte [ebx + 0x80c], 4
je 0x1000a374
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.10425c00
add esp, 0xc
lea eax, [ebp - 0x804]
mov ecx, 0x100
lea edi, [ebp - 0x804]
rep movsd dword es:[edi], dword [esi]
push 0
push ebx
push 0x400
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor ecx, ecx
mov word [ebx + eax*2], cx
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x810]
push eax
push ecx
mov ecx, ebx
call fcn.10009d00
mov esi, eax
test esi, esi
jne 0x1000a374
xor eax, eax
mov esi, ebx
mov word [ebx], ax
xor edi, edi
mov eax, esi
test esi, esi
je 0x1000a393
cmp word [esi], di
je 0x1000a393
cmp edi, 0x400
jae 0x1000a393
add eax, 2
inc edi
cmp word [eax], 0
jne 0x1000a381
cmp dword [ebx + 0x808], 0
lea eax, [ebx + 0x804]
je 0x1000a3b2
push dword [eax]
call fcn.10434337
add esp, 4
lea eax, [ebx + 0x804]
mov dword [eax], 0
lea edi, [edi*2 + 2]
mov dword [eax], esi
lea eax, [edi - 1]
shr eax, 1
mov dword [ebx + 0x808], 0
mov dword [ebx + 0x800], edi
cmp word [esi + eax*2], 0
je 0x1000a026
add edi, 2
mov dword [ebx + 0x800], edi
lea eax, [edi - 1]
shr eax, 1
cmp word [esi + eax*2], 0
je 0x1000a026
mov ecx, dword [ebp - 4]
mov eax, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret