Function at 0x180016600
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov rax, qword [0x18008ab58]
xor rax, rsp
mov qword [rsp + 0x138], rax
mov r9, rdx
mov qword [rsp + 0x78], rdx
mov rdx, rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], r9
mov r10, qword [rsp + 0x1a8]
mov qword [rsp + 0x80], r10
mov qword [rsp + 0xa0], r10
mov r15, qword [rsp + 0x1b0]
mov qword [rsp + 0xa8], r15
and qword [rsp + 0x30], 0
xor r8d, r8d
mov dword [rsp + 0x44], r8d
mov eax, dword [r9]
lea r13, [rcx + rax*2]
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x50], r13
xorps xmm0, xmm0
mov qword [rsp + 0x48], r8
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
mov qword [r11 - 0x90], r8
xor eax, eax
movups xmmword [r11 - 0x58], xmm0
movups xmmword [r11 - 0x48], xmm0
mov qword [r11 - 0x38], rax
xor esi, esi
mov dword [rsp + 0x28], esi
mov eax, dword [rsp + 0x190]
and eax, 0x3ff
mov dword [rsp + 0x40], eax
xor r14d, r14d
mov dword [rsp + 0x24], r14d
mov dword [rsp + 0x38], esi
lea r12d, [r8 + 1]
mov ecx, r12d
mov dword [rsp + 0x20], ecx
lea rax, [r13 - 0x18]
mov qword [rsp + 0x60], rax
mov rbx, rdx
mov qword [rsp + 0x30], rdx
lea edx, [rsi + 0x1a]
cmp rbx, r13
jae 0x180016ad6
movzx eax, word [rbx]
cmp ax, dx
je 0x180016ad6
cmp ax, 0xa
jne 0x180016727
add ecx, r12d
mov dword [rsp + 0x20], ecx
jmp 0x18001673c
mov rcx, rbx
call fcn.180018efc
test eax, eax
je 0x180016758
mov ecx, dword [rsp + 0x20]
mov edx, 0x1a
add rbx, 2
mov qword [rsp + 0x30], rbx
cmp rbx, r13
jae 0x180016ad6
movzx eax, word [rbx]
cmp ax, dx
je 0x180016758
jmp 0x180016718
cmp rbx, r13
jae 0x180016ad6
mov edx, 0x1a
cmp word [rbx], dx
je 0x180016ad6
cmp word [rbx], 0x5b
jne 0x1800169b8
test esi, esi
je 0x180016798
mov eax, esi
mov qword [rsp + rax*8 + 0x110], rbx
mov ecx, dword [rsp + 0x20]
mov dword [rsp + rax*4 + 0xf8], ecx
xor esi, esi
mov dword [rsp + 0x28], esi
add rbx, 2
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x3c], r8d
lea rax, [r13 - 0xe]
cmp rbx, rax
jae 0x18001689b
cmp word [rbx + 0xe], 0x5d
jne 0x18001689b
mov r8d, 7
lea rdx, [0x18007b910]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x18001683e
mov dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], r12d
add rbx, 0x10
mov qword [rsp + 0x30], rbx
lea r9, [r13 - 0x12]
mov qword [rsp + 0x50], r9
mov qword [rsp + 0xb0], r9
mov ecx, dword [rsp + 0x20]
mov edx, 0x1a
mov r8d, 0xffef
cmp rbx, r13
jae 0x180016ad1
movzx eax, word [rbx]
sub ax, 0xa
test r8w, ax
je 0x180016ad1
add rbx, 2
mov qword [rsp + 0x30], rbx
jmp 0x180016819
cmp qword [rsp + 0x48], 0
jne 0x180016ac7
mov r8d, 7
lea rdx, str.Strings
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x18001680a
lea esi, [rax + 4]
mov dword [rsp + 0x28], esi
lea rax, [rbx - 2]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xd8], rax
mov ecx, dword [rsp + 0x20]
mov dword [rsp + 0xf0], ecx
add rbx, 0x10
mov qword [rsp + 0x30], rbx
jmp 0x18001680e
cmp dword [rsp + 0x190], r8d
je 0x1800169af
cmp qword [rsp + 0xc0], r8
jne 0x1800169af
cmp rbx, qword [rsp + 0x60]
jae 0x1800169af
lea r14, [rbx + 0x18]
cmp word [r14], 0x5d
jne 0x1800169aa
cmp word [rbx + 0xe], 0x2e
jne 0x1800169aa
mov r8d, 7
lea rdx, str.Strings
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x180016ab8
lea rcx, [rbx + 0x10]
lea r8d, [rax + 0x10]
lea rdx, [rsp + 0x68]
call qword [sym.imp.msvcrt.dll_wcstoul]
nop dword [rax + rax]
mov dword [rsp + 0x58], eax
cmp qword [rsp + 0x68], r14
jne 0x180016ab8
cmp eax, dword [rsp + 0x190]
jne 0x18001693b
mov esi, r12d
mov dword [rsp + 0x28], r12d
jmp 0x180016977
mov ecx, dword [rsp + 0x40]
cmp eax, ecx
jne 0x180016955
cmp qword [rsp + 0xc8], 0
jne 0x180016973
mov esi, 2
jmp 0x18001696f
and eax, 0x3ff
cmp eax, ecx
jne 0x180016973
mov eax, 3
cmp qword [rsp + 0xd0], 0
cmove esi, eax
mov dword [rsp + 0x28], esi
test esi, esi
je 0x18001699d
mov ecx, esi
lea rax, [rbx - 2]
mov qword [rsp + rcx*8 + 0xb8], rax
mov eax, dword [rsp + 0x20]
mov dword [rsp + rcx*4 + 0xe0], eax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x48], rax
mov edx, 0x1a
add rbx, rdx
mov qword [rsp + 0x30], rbx
mov r14d, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
jmp 0x180016813
cmp dword [rsp + 0x38], 0
je 0x1800169af
cmp rbx, qword [rsp + 0x50]
jae 0x1800169af
test r14d, r14d
jne 0x1800169af
lea r8d, [r14 + 9]
lea rdx, str.Signature
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x18001680a
lea rdx, [r13 - 0x12]
add rbx, 0x12
mov qword [rsp + 0x30], rbx
mov r8d, 0xffef
cmp rbx, rdx
ja 0x18001680a
movzx ecx, word [rbx]
lea eax, [rcx - 0xa]
test r8w, ax
je 0x18001680a
add rbx, 2
mov qword [rsp + 0x30], rbx
cmp cx, 0x24
jne 0x180016ac2
mov r8d, 8
lea rdx, [0x18007b922]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x180016a62
mov r14d, r12d
mov dword [rsp + 0x24], r12d
add rbx, 0x10
mov qword [rsp + 0x30], rbx
jmp 0x18001680a
lea r14, [rbx + 0x16]
cmp r14, r13
ja 0x180016ab8
mov r8d, 0xb
lea rdx, [0x18007b8f2]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
je 0x180016aab
mov r8d, 0xb
lea rdx, [0x18007b8ba]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x180016ab8
mov dword [rsp + 0x24], r12d
mov rbx, r14
mov qword [rsp + 0x30], rbx
mov r14d, dword [rsp + 0x24]
jmp 0x18001680a
jmp 0x180016a00
mov edx, 0x1a
jmp 0x1800169af
jmp 0x180016703
mov rdx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x44]
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
jmp 0x180016b2f
test r8d, r8d
jne 0x180016bca
cmp rbx, r13
jae 0x180016b49
mov rax, rbx
sub rax, rdx
sar rax, 1
mov dword [r9], eax
test r15, r15
je 0x180016bc7
test esi, esi
je 0x180016b67
mov eax, esi
mov qword [rsp + rax*8 + 0x110], rbx
mov ecx, dword [rsp + 0x20]
mov dword [rsp + rax*4 + 0xf8], ecx
mov eax, r12d
mov ecx, eax
cmp eax, 5
jae 0x180016b81
cmp qword [rsp + rcx*8 + 0xb8], 0
jne 0x180016b81
add eax, r12d
jmp 0x180016b6a
test r14d, r14d
je 0x180016bba
cmp eax, 5
jae 0x180016bba
mov rax, qword [rsp + rcx*8 + 0xb8]
mov qword [r15], rax
mov rax, qword [rsp + rcx*8 + 0x110]
mov qword [r15 + 8], rax
mov eax, dword [rsp + rcx*4 + 0xe0]
mov dword [r15 + 0x10], eax
mov eax, dword [rsp + rcx*4 + 0xf8]
mov dword [r15 + 0x14], eax
jmp 0x180016bc7
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], rax
mov dword [r10], r14d
mov eax, r8d
mov rcx, qword [rsp + 0x138]
xor rcx, rsp
call fcn.180002a90
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rsi
ret