Function at 0x180003508
Capabilities:
Resolve function by hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov edx, 0x534c0ab8
mov ecx, 0x3cfa685d
call fcn.180001b34
mov edi, 0x6a4abc5b
mov qword [rsp + 0x58], rax
mov ecx, edi
mov edx, 0xec0e4e8e
mov r14, rax
call fcn.180001b34
mov edx, 0x7c0dfcaa
mov ecx, edi
mov rbp, rax
call fcn.180001b34
mov edx, 0x91afca54
mov ecx, edi
mov r13, rax
call fcn.180001b34
xor r15d, r15d
test r14, r14
je 0x18000378b
test rbp, rbp
je 0x18000378b
test r13, r13
je 0x18000378b
test rax, rax
je 0x18000378b
movsxd rdi, dword [rbx + 0x3c]
lea r9d, [r15 + 0x40]
add rdi, rbx
xor ecx, ecx
mov r8d, 0x3000
mov edx, dword [rdi + 0x50]
call rax
mov rsi, rax
test rax, rax
je 0x18000378b
mov r8d, dword [rdi + 0x54]
mov rdx, rbx
mov rcx, rax
call fcn.18000196c
movzx r9d, word [rdi + 0x14]
lea r12d, [r15 + 1]
add r9, rdi
movzx r10d, r15w
cmp r15w, word [rdi + 6]
jae 0x18000360b
movzx eax, r10w
lea rcx, [rax + rax*4]
mov edx, dword [r9 + rcx*8 + 0x2c]
mov r8d, dword [r9 + rcx*8 + 0x28]
add rdx, rbx
mov ecx, dword [r9 + rcx*8 + 0x24]
add rcx, rsi
call fcn.18000196c
add r10w, r12w
cmp r10w, word [rdi + 6]
jb 0x1800035de
cmp dword [rdi + 0x94], r15d
je 0x1800036b2
mov ebx, dword [rdi + 0x90]
add rbx, rsi
cmp dword [rbx + 0xc], r15d
je 0x1800036b2
mov ecx, dword [rbx + 0xc]
add rcx, rsi
call rbp
mov r12, rax
test rax, rax
je 0x18000369d
mov r15d, dword [rbx]
mov r14d, dword [rbx + 0x10]
add r15, rsi
add r14, rsi
cmp qword [r14], 0
je 0x18000369a
cmp qword [r15], 0
jge 0x18000367d
movsxd rax, dword [r12 + 0x3c]
movzx edx, word [r15]
mov ecx, dword [rax + r12 + 0x88]
mov eax, dword [rcx + r12 + 0x10]
mov ecx, dword [rcx + r12 + 0x1c]
sub rdx, rax
add rcx, r12
mov eax, dword [rcx + rdx*4]
add rax, r12
jmp 0x18000368d
mov rdx, qword [r14]
mov rcx, r12
add rdx, 2
add rdx, rsi
call r13
add r15, 8
mov qword [r14], rax
add r14, 8
jmp 0x180003648
xor r15d, r15d
add rbx, 0x14
cmp dword [rbx + 0xc], r15d
jne 0x18000362b
mov r14, qword [rsp + 0x58]
mov r12d, 1
cmp dword [rdi + 0xb4], r15d
je 0x18000376c
mov r8d, dword [rdi + 0xb0]
mov r9, rsi
sub r9, qword [rdi + 0x30]
add r8, rsi
mov eax, dword [r8 + 4]
test eax, eax
je 0x18000376c
mov r11d, 0xfff
mov edx, dword [r8]
mov r10, r15
mov ecx, eax
add rdx, rsi
lea rax, [rcx - 8]
test rax, 0xfffffffffffffffe
jbe 0x18000375b
movzx ecx, word [r8 + r10*2 + 8]
movzx eax, cx
shr ax, 0xc
cmp ax, 0xa
jne 0x180003715
and rcx, r11
add qword [rcx + rdx], r9
jmp 0x180003748
cmp ax, 3
jne 0x180003724
and rcx, r11
add dword [rcx + rdx], r9d
jmp 0x180003748
cmp ax, r12w
jne 0x18000373a
and rcx, r11
mov rax, r9
shr rax, 0x10
add word [rcx + rdx], ax
jmp 0x180003748
cmp ax, 2
jne 0x180003748
and rcx, r11
add word [rcx + rdx], r9w
mov ecx, dword [r8 + 4]
add r10, r12
lea rax, [rcx - 8]
shr rax, 1
cmp r10, rax
jb 0x1800036f9
mov eax, ecx
add r8, rax
mov eax, dword [r8 + 4]
test eax, eax
jne 0x1800036e2
mov ebx, dword [rdi + 0x28]
xor r8d, r8d
xor edx, edx
or rcx, 0xffffffffffffffff
add rbx, rsi
call r14
xor r8d, r8d
mov edx, r12d
mov rcx, rsi
call rbx
jmp 0x18000378d
xor eax, eax
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret