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

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
sub rsp, 0x50
mov rax, qword [0x18017b008]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rdx, qword [rcx + 0x340]
xor ebp, ebp
mov r12, qword [rcx + 0x348]
mov rdi, rcx
mov rbx, rdx
cmp byte [rdx], 0xff
jge 0x18005c3c3
movdqa xmm2, xmmword [0x180139870]
nop
movdqu xmm0, xmmword [rbx]
movdqa xmm1, xmm2
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
inc eax
bsf ecx, eax
mov eax, ecx
add rbx, rax
lea r12, [r12 + rcx*8]
cmp byte [rbx], 0xff
jl 0x18005c3a0
mov r13, qword [rdi + 0x358]
mov qword [rsp + 0x88], rsi
add r13, rdx
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r15
cmp rbx, r13
je 0x18005c62f
mov r10, qword [r12]
xor eax, eax
mov rsi, qword [rdi + 0x328]
movabs rcx, 0xde5fb9d2630458e9
mov r15, qword [rdi + 0x310]
xorps xmm0, xmm0
mov qword [rsp + 0x38], rax
mov r14, rbp
mov dword [rsp + 0x40], eax
mov rax, rcx
mul r10
movups xmmword [rsp + 0x28], xmm0
lea rcx, [rdx + rax]
mov r8, rcx
shr r8, 7
and r8, rsi
and cl, 0x7f
movsx eax, cl
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
nop dword [rax + rax]
movdqu xmm1, xmmword [r8 + r15]
movdqa xmm0, xmm2
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
je 0x18005c48f
mov r11, qword [rdi + 0x318]
nop dword [rax]
bsf ecx, eax
movsxd rdx, ecx
add rdx, r8
and rdx, rsi
mov r9, rdx
add r9, r9
cmp qword [r11 + r9*8], r10
je 0x18005c4b3
lea ecx, [rax - 1]
and eax, ecx
jne 0x18005c470
movdqa xmm0, xmmword [0x180143d90]
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
jne 0x18005c5e4
add r14, 0x10
add r8, r14
and r8, rsi
jmp 0x18005c450
lea rcx, [rdx + r15]
lea rax, [r15 + rsi]
cmp rcx, rax
je 0x18005c5e4
mov rax, qword [r11 + r9*8 + 8]
mov r15, r10
mov rsi, qword [rdi + 0x388]
mov r14, qword [rdi + 0x370]
mov dword [rsp + 0x30], eax
shr rax, 0x20
mov dword [rsp + 0x34], eax
movabs rax, 0xde5fb9d2630458e9
mul r10
mov qword [rsp + 0x28], r10
lea rcx, [rdx + rax]
mov r8, rcx
shr r8, 7
and r8, rsi
and cl, 0x7f
movsx eax, cl
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
nop dword [rax]
movdqu xmm1, xmmword [r14 + r8]
movdqa xmm0, xmm2
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
je 0x18005c569
mov r11, qword [rdi + 0x378]
nop dword [rax]
bsf ecx, eax
mov dword [rsp + 0x20], 0
movsxd rcx, ecx
add rcx, r8
and rcx, rsi
lea rdx, [rcx + rcx*2]
cmp qword [r11 + rdx*8], r10
lea r9, [r11 + rdx*8]
je 0x18005c589
lea ecx, [rax - 1]
and eax, ecx
jne 0x18005c540
movdqa xmm0, xmmword [0x180143d90]
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
test eax, eax
jne 0x18005c5c7
add rbp, 0x10
add r8, rbp
and r8, rsi
jmp 0x18005c520
lea rdx, [r14 + rcx]
lea rax, [r14 + rsi]
cmp rdx, rax
je 0x18005c5c7
or r10, 1
mov qword [rsp + 0x28], r10
mov eax, dword [r9 + 8]
or rax, r15
or rax, 1
mov qword [rsp + 0x28], rax
mov eax, dword [r9 + 0xc]
mov dword [rsp + 0x38], eax
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x3c], eax
mov eax, dword [r9 + 0x14]
mov dword [rsp + 0x40], eax
mov rcx, qword [rdi + 0x3a0]
lea r8, [rsp + 0x28]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x38]
test eax, eax
je 0x18005c628
xor ebp, ebp
inc rbx
add r12, 8
cmp byte [rbx], 0xff
jge 0x18005c3e5
movdqa xmm2, xmmword [0x180139870]
nop dword [rax]
movdqu xmm0, xmmword [rbx]
movdqa xmm1, xmm2
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
inc eax
bsf ecx, eax
mov eax, ecx
add rbx, rax
lea r12, [r12 + rcx*8]
cmp byte [rbx], 0xff
jl 0x18005c600
jmp 0x18005c3e5
xor al, al
jmp 0x18005c8ac
cmp qword [rdi + 0x350], 0
lea rbx, [0x180143630]
je 0x18005c705
mov r8, qword [rdi + 0x358]
cmp r8, 0x7f
jbe 0x18005c6b3
mov rcx, qword [rdi + 0x340]
lea rax, [r8 + 0x18]
and rax, 0xfffffffffffffff8
lea rdx, [rax + r8*8]
cmp rdx, 0x1000
jb 0x18005c689
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18005c8dd
mov rcx, r8
call fcn.18000b6f0
mov qword [rdi + 0x340], rbx
mov qword [rdi + 0x348], rbp
mov qword [rdi + 0x350], rbp
mov qword [rdi + 0x358], rbp
mov qword [rdi + 0x368], rbp
jmp 0x18005c705
test r8, r8
je 0x18005c705
mov rcx, qword [rdi + 0x340]
add r8, 0x10
mov edx, 0xffffff80
mov qword [rdi + 0x350], rbp
call fcn.18000c7b0
mov rcx, qword [rdi + 0x358]
mov rax, qword [rdi + 0x340]
mov byte [rcx + rax], 0xff
mov rcx, qword [rdi + 0x358]
mov rax, rcx
shr rax, 3
sub rcx, rax
sub rcx, qword [rdi + 0x350]
mov qword [rdi + 0x368], rcx
cmp qword [rdi + 0x320], 0
je 0x18005c7d7
mov r8, qword [rdi + 0x328]
cmp r8, 0x7f
jbe 0x18005c785
mov rcx, qword [rdi + 0x310]
lea rdx, [r8 + 0x18]
and rdx, 0xfffffffffffffff8
shl r8, 4
add rdx, r8
cmp rdx, 0x1000
jb 0x18005c75b
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18005c8dd
mov rcx, r8
call fcn.18000b6f0
mov qword [rdi + 0x310], rbx
mov qword [rdi + 0x318], rbp
mov qword [rdi + 0x320], rbp
mov qword [rdi + 0x328], rbp
mov qword [rdi + 0x338], rbp
jmp 0x18005c7d7
test r8, r8
je 0x18005c7d7
mov rcx, qword [rdi + 0x310]
add r8, 0x10
mov edx, 0xffffff80
mov qword [rdi + 0x320], rbp
call fcn.18000c7b0
mov rcx, qword [rdi + 0x328]
mov rax, qword [rdi + 0x310]
mov byte [rcx + rax], 0xff
mov rcx, qword [rdi + 0x328]
mov rax, rcx
shr rax, 3
sub rcx, rax
sub rcx, qword [rdi + 0x320]
mov qword [rdi + 0x338], rcx
cmp qword [rdi + 0x380], 0
je 0x18005c8aa
mov r8, qword [rdi + 0x388]
cmp r8, 0x7f
jbe 0x18005c858
lea rcx, [r8 + 0x18]
and rcx, 0xfffffffffffffff8
lea rax, [r8 + r8*2]
lea rdx, [rcx + rax*8]
mov rcx, qword [rdi + 0x370]
cmp rdx, 0x1000
jb 0x18005c82e
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18005c8dd
mov rcx, r8
call fcn.18000b6f0
mov qword [rdi + 0x370], rbx
mov qword [rdi + 0x378], rbp
mov qword [rdi + 0x380], rbp
mov qword [rdi + 0x388], rbp
mov qword [rdi + 0x398], rbp
jmp 0x18005c8aa
test r8, r8
je 0x18005c8aa
mov rcx, qword [rdi + 0x370]
add r8, 0x10
mov edx, 0xffffff80
mov qword [rdi + 0x380], rbp
call fcn.18000c7b0
mov rcx, qword [rdi + 0x370]
mov rax, qword [rdi + 0x388]
mov byte [rcx + rax], 0xff
mov rcx, qword [rdi + 0x388]
mov rax, rcx
shr rax, 3
sub rcx, rax
sub rcx, qword [rdi + 0x380]
mov qword [rdi + 0x398], rcx
mov al, 1
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18000b6d0
add rsp, 0x50
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
call fcn.18002c4c8
int3