Function at 0x100019af4
Capabilities:
Accept command line arguments

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0xc8
mov qword [rsp + 0xb8], 0xfffffffffffffffe
mov esi, 0x80000000
lea rdi, [0x100083100]
mov rcx, rdi
mov rax, qword [0x100083100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
mov rcx, rdi
mov rax, qword [0x100083100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
mov rcx, rdi
mov rax, qword [0x100083100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
mov rcx, rdi
mov rax, qword [0x100083100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
mov rcx, rdi
mov rax, qword [0x100083100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x110], rax
xor ebp, ebp
mov dword [rsp + 0x108], ebp
mov rbx, rbp
mov rcx, rdi
mov rax, qword [0x100083100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x118], rax
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov dword [rsp + 0x40], ebp
lea rcx, [rsp + 0x48]
call fcn.1000202e8
mov word [rsp + 0x50], bp
mov dword [rsp + 0x54], ebp
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x60], ebp
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x68], ebp
mov dword [rsp + 0x78], ebp
mov dword [rsp + 0x7c], ebp
mov dword [rsp + 0x80], ebp
mov dword [rsp + 0x90], ebp
lea rcx, [rsp + 0x88]
call fcn.1000202e8
lea r13d, [rbp + 1]
mov dword [rsp + 0x94], r13d
mov dword [rsp + 0x98], ebp
mov dword [rsp + 0x9c], ebp
lea rcx, [rsp + 0xa0]
call fcn.1000202e8
mov dword [rsp + 0xa8], ebp
mov dword [rsp + 0xac], ebp
mov rdi, qword [0x100083fd8]
mov rdx, qword [0x100084838]
mov ecx, r13d
sub ecx, dword [rdx - 8]
mov eax, dword [rdx - 0xc]
mov r12d, 0x104
sub eax, r12d
or eax, ecx
jge 0x100019c7d
mov edx, r12d
lea rcx, [0x100084838]
call fcn.100020154
mov rdx, qword [0x100084838]
cmp dword [rdx - 0xc], r12d
jge 0x100019c8e
mov ecx, 0x80070057
call fcn.1000201f8
int3
mov dword [rdx - 0x10], r12d
mov rax, qword [0x100084838]
mov word [rax + 0x208], bp
mov rax, qword [0x100084838]
mov r8d, dword [rax - 0x10]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
or r12, 0xffffffffffffffff
cmp eax, ebp
je 0x10001a015
mov rdx, qword [0x100084838]
cmp rdx, rbp
jne 0x100019cd0
mov ecx, ebp
jmp 0x100019ce9
xor eax, eax
mov rcx, r12
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
sub rcx, r13
cmp ecx, ebp
jl 0x10001a00a
cmp ecx, dword [rdx - 0xc]
jg 0x10001a00a
mov dword [rdx - 0x10], ecx
movsxd rcx, ecx
mov rax, qword [0x100084838]
mov word [rax + rcx*2], bp
mov rax, qword [0x100084838]
mov ecx, ebp
cmp dword [rax - 0x10], ebp
setne cl
cmp ecx, ebp
je 0x10001a015
call fcn.100033d10
mov dword [reloc.OLEAUT32.dll_SysStringLen], eax
call fcn.10001dde4
call fcn.10001eb60
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rdi, rax
lea rdx, [rsp + 0x108]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rbx, rax
cmp rax, rbp
jne 0x100019d76
lea rdx, [0x100002620]
mov ecx, r13d
call fcn.10001e014
lea rdx, [0x100002678]
mov ecx, 3
call fcn.10001e014
jmp 0x10001a015
mov r8, rdi
lea rdx, [0x1000026b0]
mov ecx, r13d
call fcn.10001e4c4
mov dword [rsp + 0x100], ebp
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
lea r9, [0x10001be24]
mov r8, r13
mov edx, 0x10
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumResourceLanguagesW]
cmp eax, ebp
je 0x100019dd5
cmp dword [rsp + 0x100], 0x18
jne 0x100019dd5
lea rdx, [0x1000026e0]
mov ecx, r13d
call fcn.10001e014
mov r8d, r13d
jmp 0x100019dea
lea rdx, [0x100002728]
mov ecx, r13d
call fcn.10001e014
mov r8d, 2
mov rdx, qword [0x100083fd8]
lea rcx, [0x100002768]
call fcn.1000310dc
cmp eax, ebp
je 0x100019e19
lea r8, [0x100002780]
mov edx, eax
mov ecx, 3
call fcn.10001e1c4
jmp 0x10001a015
lea r9, [rsp + 0x110]
lea r8, [rsp + 0x40]
mov rdx, rbx
mov ecx, dword [rsp + 0x108]
call fcn.10001c0d0
mov edi, eax
mov r8, qword [rsp + 0xa0]
cmp dword [r8 - 0x10], ebp
je 0x100019e54
lea rdx, [0x1000027f8]
mov ecx, r13d
call fcn.10001e4c4
lea rdx, [0x100002620]
mov ecx, r13d
call fcn.10001e014
cmp edi, ebp
jne 0x100019e8b
mov rdx, qword [rsp + 0x110]
mov ecx, 3
call fcn.10001e014
lea rcx, [rsp + 0x110]
call fcn.10001b8c4
jmp 0x10001a015
mov edi, dword [rsp + 0x40]
cmp edi, ebp
cmove edi, r13d
mov dword [rsp + 0x40], edi
cmp edi, 4
jne 0x100019ee5
lea rdx, [0x100005b90]
lea rcx, [rsp + 0x30]
call fcn.100020428
nop
lea rcx, [rsp + 0x30]
call fcn.10001b8c4
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a015
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x10001a015
cmp dword [rsp + 0x98], ebp
je 0x100019f3c
cmp dword [reloc.OLEAUT32.dll_SysStringLen], 2
jne 0x100019f0a
lea rdx, [0x100002810]
mov ecx, 2
call fcn.10001e014
jmp 0x100019f3c
call fcn.100030bf0
cmp eax, ebp
je 0x100019f2b
mov dword [0x1000844b8], r13d
lea rdx, [0x1000028d0]
mov ecx, r13d
call fcn.10001e014
jmp 0x100019f3c
lea rdx, [0x100002930]
mov ecx, 3
call fcn.10001e014
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov rdx, qword [rbx]
lea rcx, [rsp + 0xb0]
call fcn.100020428
nop
mov edx, dword [rsp + 0x94]
mov rcx, rax
call fcn.10001d338
cmp eax, ebp
jne 0x100019f86
mov r8, qword [rbx]
lea rdx, [0x1000029a0]
mov ecx, 3
call fcn.10001e4c4
jmp 0x10001a015
lea rcx, [rsp + 0x118]
call fcn.100034e44
cmp eax, ebp
jne 0x100019fae
mov r8, qword [rsp + 0x118]
lea rdx, [0x100002a10]
mov ecx, r13d
call fcn.10001e4c4
lea rax, [0x10001ddc0]
mov qword [0x100084740], rax
mov qword [0x100084748], rbp
mov qword [0x100084750], rbp
cmp edi, r13d
je 0x100019fe7
cmp edi, r13d
jle 0x100019ff3
cmp edi, 3
jg 0x100019ff3
lea rcx, [rsp + 0x40]
call fcn.10001aa54
mov esi, eax
jmp 0x100019ff3
lea rcx, [rsp + 0x40]
call fcn.10001a2b0
mov esi, eax
mov qword [0x100084740], rbp
mov qword [0x100084748], rbp
mov qword [0x100084750], rbp
jmp 0x10001a015
mov ecx, 0x80070057
call fcn.1000201f8
int3
mov r8d, esi
lea rdx, [0x100002a58]
mov ecx, r13d
call fcn.10001e4c4
mov rcx, qword [0x100084508]
cmp rcx, rbp
je 0x10001a040
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x100084508], rbp
mov qword [0x100084510], rbp
mov word [0x100084520], bp
mov dword [0x100084518], ebp
cmp dword [0x1000844b8], ebp
je 0x10001a061
call fcn.100030dc8
cmp rbx, rbp
je 0x10001a06f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
call fcn.10001e954
lea rcx, [0x1000837c0]
call fcn.100030ab4
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a0ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a0d1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a0f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a119
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a13a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, ebp
jg 0x10001a15b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, esi
add rsp, 0xc8
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret