Function at 0x180001190
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x180026008]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov eax, dword [0x180026a30]
add rax, 0x44
cmp rax, 0x2c0
ja 0x1800016b4
xorps xmm0, xmm0
lea r8, [rbp - 0x30]
mov edx, 0x34
lea rcx, [0x180026a00]
movups xmmword [rbp - 0x30], xmm0
call fcn.180006040
mov rax, qword [0x1800269f0]
cmp rax, qword [rbp - 0x30]
jne 0x1800016b4
mov rax, qword [0x1800269f8]
cmp rax, qword [rbp - 0x28]
jne 0x1800016b4
mov edx, dword [0x180026a30]
lea r8, [rbp - 0x30]
xorps xmm0, xmm0
mov qword [rsp + 0x70], r15
lea r15, [0x180026a34]
mov rcx, r15
movups xmmword [rbp - 0x30], xmm0
call fcn.180006040
mov rax, qword [str.HXf_9]
cmp rax, qword [rbp - 0x30]
jne 0x1800016af
mov rax, qword [0x180026a28]
cmp rax, qword [rbp - 0x28]
jne 0x1800016af
mov eax, dword [0x180026a30]
lea r9, [0x180026a10]
mov qword [rsp + 0x30], r15
lea rdx, [0x180026a00]
mov qword [rsp + 0x28], rax
mov r8d, 0x10
mov qword [rsp + 0x20], r15
call fcn.180004780
test eax, eax
je 0x1800016af
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x78], r14
mov rax, r9
mov qword [0x180027f08], r15
inc rax
cmp byte [r15 + rax], 0
jne 0x180001291
mov qword [rsp + 0x90], rbx
xor r14d, r14d
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], rdi
test rax, rax
je 0x1800013ba
mov ebx, dword [0x180027ef8]
mov esi, r14d
mov r10d, r14d
test ebx, ebx
jle 0x18000135f
mov rdi, qword [0x180027f00]
mov r11, rdi
nop dword [rax]
mov rax, qword [r11]
lea r11, [r11 + 8]
inc r10d
mov r8, r15
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180001303
inc rax
test ecx, ecx
jne 0x1800012f0
test edx, edx
je 0x18000130e
cmp r10d, ebx
jl 0x1800012e0
jmp 0x18000135f
cmp r10d, ebx
jge 0x18000135f
movsxd rax, r10d
mov rcx, qword [rdi + rax*8]
test rcx, rcx
je 0x18000135f
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
inc r9
cmp byte [rcx + r9], sil
jne 0x180001326
lea r8, [rbp - 0x30]
mov rdx, r9
call fcn.180006040
mov rcx, qword [0x180027f08]
mov rax, qword [rbp - 0x30]
sub rax, qword [rcx + 8]
jne 0x180001354
mov rax, qword [rbp - 0x28]
sub rax, qword [rcx + 0x10]
test rax, rax
sete sil
test esi, esi
jne 0x1800013ba
xor ecx, ecx
call fcn.18000b504
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r14
mov ebx, 0xa00001
nop word [rax + rax]
lea r8, [rbp - 0x30]
mov edx, 0x10
lea rcx, [rbp - 0x30]
call fcn.180006040
sub rbx, 1
jne 0x180001380
cmp qword [rbp - 0x30], rdi
jne 0x1800013b2
lea r8, [rbp - 0x30]
mov qword [rbp - 0x30], rdi
lea edx, [rbx + 8]
lea rcx, [rbp - 0x30]
call fcn.180006040
test esi, esi
je 0x180001692
mov ecx, dword [0x180027ef8]
test ecx, ecx
jle 0x18000143c
mov rax, qword [0x180027f00]
test rax, rax
je 0x18000143c
mov edi, r14d
test ecx, ecx
jle 0x180001418
mov rbx, r14
nop word [rax + rax]
mov rsi, qword [rax + rbx]
test rsi, rsi
je 0x18000140e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [0x180027f00]
mov ecx, dword [0x180027ef8]
mov qword [rax + rbx], r14
inc edi
add rbx, 8
cmp edi, ecx
jl 0x1800013e0
test rax, rax
je 0x18000143c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [0x180027f00]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [0x180027f00], r14
lea rcx, str.ole32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rcx, str.SHLWAPI.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call fcn.1800043c0
test eax, eax
je 0x180001692
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x38], r14
lea rcx, [rbp - 0x38]
mov dword [rbp - 0x40], r14d
call fcn.180001710
test eax, eax
je 0x180001692
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, dword [rbp - 0x40]
lea r15, [0x18002a180]
mov rdi, qword [rbp - 0x38]
mov edx, esi
mov rcx, rdi
mov qword [0x18002a188], r15
mov qword [0x18002a180], r15
call fcn.180003df0
mov rbx, rax
test rdi, rdi
je 0x1800014dc
mov r8d, esi
xor edx, edx
mov rcx, rdi
call fcn.18000a5a0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x180001601
movsxd r8, dword [rbx + 0x3c]
mov edx, r8d
mov r9d, dword [r8 + rbx + 0x88]
mov r10d, dword [r9 + rbx + 0x10]
cmp r10d, 1
ja 0x180001553
mov ecx, dword [r9 + rbx + 0x14]
add ecx, r10d
cmp ecx, 1
jbe 0x180001553
mov ecx, dword [r9 + rbx + 0x1c]
mov eax, 1
sub eax, r10d
add rcx, rbx
mov eax, dword [rcx + rax*4]
test eax, eax
je 0x180001553
mov r10d, eax
add r10, rbx
je 0x180001553
mov rax, qword [0x180027f08]
mov rcx, qword [0x180027ef0]
mov r9d, dword [rax + 0x264]
mov r8d, dword [rax + 0x260]
mov edx, dword [rax + 0x25c]
call r10
mov edx, dword [rbx + 0x3c]
movsxd rax, edx
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov r9d, dword [rax + rbx + 0x28]
add r9, rbx
call r9
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x18002a180]
cmp rax, r15
je 0x1800015b0
mov rcx, qword [rax]
cmp qword [rax + 0x10], rbx
je 0x1800015a2
mov rax, rcx
cmp rcx, r15
jne 0x180001582
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x180001601
mov r14, rax
mov rax, qword [rax + 8]
mov qword [rax], rcx
mov qword [rcx + 8], rax
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
je 0x180001601
mov eax, dword [r14 + 0x18]
cmp eax, 1
jne 0x1800015d6
mov rcx, qword [r14 + 0x20]
call fcn.180001c60
jmp 0x1800015ed
cmp eax, 2
jne 0x1800015ed
mov rcx, qword [r14 + 0x10]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x18002a180]
cmp rbx, r15
je 0x180001678
nop word [rax + rax]
mov rax, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov eax, dword [rbx + 0x18]
cmp eax, 1
jne 0x180001641
mov rcx, qword [rbx + 0x20]
call fcn.180001c60
jmp 0x180001658
cmp eax, 2
jne 0x180001658
mov rcx, qword [rbx + 0x10]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [0x18002a180]
cmp rbx, r15
jne 0x180001620
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [0x18002a190]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov rax, qword [0x180027f08]
cmp dword [rax + 0x264], 0
je 0x1800016d5
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.180009470
add rsp, 0x80
pop rbp
ret