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

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
cmp qword [rcx + 0xb8], 0
mov r10, r8
mov r11d, edx
mov rbp, rcx
je 0x18fb0da
xor eax, eax
xor r8d, r8d
mov ebx, 0xffffff
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x80], r8d
xor edx, edx
cmp edx, 1
cmove r10, r9
movzx eax, word [r10]
cmp ax, 0xfffe
jne 0x18fabd5
movzx eax, word [r10 + 0x18]
mov cx, word [r10 + 2]
mov word [rsp + 0x80], ax
test cx, cx
je 0x18fac02
cmp cx, 0xe
ja 0x18fac02
add ecx, 0xffffffff
mov eax, 1
shl eax, cl
xor eax, r8d
movzx eax, ax
xor r8d, eax
jmp 0x18fac09
and r8d, 0xffff0000
mov eax, dword [r10 + 4]
mov dword [rsp + 0x84], r8d
cmp eax, 0x7d00
je 0x18fac70
cmp eax, 0xac44
je 0x18fac62
cmp eax, 0xbb80
je 0x18fac54
cmp eax, 0x17700
je 0x18fac46
cmp eax, 0x2ee00
jne 0x18fac84
and r8d, 0xff20ffff
bts r8d, 0x15
jmp 0x18fac7c
and r8d, 0xff10ffff
bts r8d, 0x14
jmp 0x18fac7c
and r8d, 0xff04ffff
bts r8d, 0x12
jmp 0x18fac7c
and r8d, 0xff02ffff
bts r8d, 0x11
jmp 0x18fac7c
and r8d, 0xff01ffff
bts r8d, 0x10
mov dword [rsp + 0x84], r8d
movzx eax, word [r10 + 0xe]
cmp eax, 8
je 0x18facbb
cmp eax, 0x10
je 0x18facb1
cmp eax, 0x18
je 0x18faca7
cmp eax, 0x20
jne 0x18faccb
and r8d, ebx
bts r8d, 0x1b
jmp 0x18facc3
and r8d, ebx
bts r8d, 0x1a
jmp 0x18facc3
and r8d, ebx
bts r8d, 0x19
jmp 0x18facc3
and r8d, ebx
bts r8d, 0x18
mov dword [rsp + 0x84], r8d
test edx, edx
mov rax, qword [rsp + 0x80]
jne 0x18facde
mov qword [rsp + 0x30], rax
jmp 0x18face3
mov qword [rsp + 0x38], rax
add edx, 1
cmp edx, 2
jl 0x18fabbf
mov rsi, qword [rbp + 0x40]
mov r10, qword [0x01965a38]
lea rbx, [0x01965a38]
cmp r10, rbx
je 0x18fad50
bt dword [r10 + 0x1c], 0x19
jae 0x18fad50
cmp byte [r10 + 0x19], 4
jb 0x18fad50
mov rax, qword [rbp + 0xb8]
mov rcx, qword [r10 + 0x10]
lea r8, [0x018e4500]
lea r9, [rax + 0x100]
mov eax, dword [rax + 0x340]
mov dx, 0x3d
mov dword [rsp + 0x20], eax
call fcn.018f4808
mov r10, qword [0x01965a38]
mov r11d, dword [rsp + 0x88]
test rsi, rsi
je 0x18fb09a
movzx r14d, word [rsp + 0x3c]
movzx r12d, word [rsp + 0x38]
movzx r15d, word [rsp + 0x34]
movzx r13d, word [rsp + 0x30]
mov rdi, qword [rsi + 0x10]
cmp dword [rdi + 0x54], 0
jne 0x18fb086
test dword [rdi + 0x24], r11d
mov r9d, 0
setne r9b
test word [rdi + 0x30], r15w
je 0x18fadf2
mov ecx, dword [rsp + 0x34]
movsx eax, byte [rdi + 0x32]
shl ecx, 8
sar ecx, 0x18
test eax, ecx
je 0x18fadf2
mov eax, dword [rsp + 0x34]
movsx ecx, byte [rdi + 0x33]
sar eax, 0x18
test eax, ecx
je 0x18fadf2
cmp r13w, word [rdi + 0x2c]
jne 0x18fadf2
test word [rdi + 0x38], r14w
je 0x18fadf2
mov ecx, dword [rsp + 0x3c]
movsx eax, byte [rdi + 0x3a]
shl ecx, 8
sar ecx, 0x18
test eax, ecx
je 0x18fadf2
mov eax, dword [rsp + 0x3c]
movsx ecx, byte [rdi + 0x3b]
sar eax, 0x18
test eax, ecx
je 0x18fadf2
cmp r12w, word [rdi + 0x34]
jne 0x18fadf2
mov edx, 1
jmp 0x18fadf4
xor edx, edx
cmp dword [rdi + 0x60], 0
je 0x18fae05
mov eax, dword [rdi + 0x58]
neg eax
sbb ecx, ecx
and ecx, edx
mov edx, ecx
mov r8d, dword [r10 + 0x1c]
and r8d, 0x2000000
je 0x18fafc4
mov cl, byte [r10 + 0x19]
cmp cl, 5
jb 0x18fafc4
test r9d, r9d
mov eax, dword [0x018e6bac]
je 0x18faf67
test edx, edx
je 0x18faed9
cmp dword [rdi + 0xc], eax
jne 0x18faeab
mov eax, dword [0x018e6bb0]
cmp dword [rdi + 0x10], eax
jne 0x18faeab
mov eax, dword [0x018e6bb4]
cmp dword [rdi + 0x14], eax
jne 0x18faeab
lea rbx, [0x01965a38]
cmp r10, rbx
je 0x18fb086
cmp cl, 4
jb 0x18fb086
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x80]
mov rdx, qword [rdi]
mov rcx, rdi
mov ebx, eax
call qword [rdx]
mov dx, 0x3e
mov rcx, qword [0x01965a38]
lea r8, [0x018e4500]
mov r9, rax
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x20], ebx
call fcn.018f8be0
jmp 0x18fb078
lea rax, [0x01965a38]
cmp r10, rax
je 0x18fb07f
cmp cl, 4
jb 0x18fb07f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x80]
mov dx, 0x3f
jmp 0x18fb059
lea r9, [rdi + 8]
cmp dword [r9 + 4], eax
jne 0x18faf35
mov eax, dword [0x018e6bb0]
cmp dword [r9 + 8], eax
jne 0x18faf35
mov eax, dword [0x018e6bb4]
cmp dword [r9 + 0xc], eax
jne 0x18faf35
cmp r10, rbx
je 0x18fb086
cmp cl, 4
jb 0x18fb086
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov dx, 0x42
mov rcx, qword [0x01965a38]
lea r8, [0x018e4500]
mov r9, rax
mov rcx, qword [rcx + 0x10]
call fcn.018ec120
jmp 0x18faf5b
cmp r10, rbx
je 0x18fb086
cmp cl, 4
jb 0x18fb086
mov dx, 0x43
mov rcx, qword [r10 + 0x10]
lea r8, [0x018e4500]
call fcn.018ec028
mov r10, qword [0x01965a38]
jmp 0x18fb086
lea r9, [rdi + 8]
cmp dword [r9 + 4], eax
jne 0x18fafac
mov eax, dword [0x018e6bb0]
cmp dword [r9 + 8], eax
jne 0x18fafac
mov eax, dword [0x018e6bb4]
cmp dword [r9 + 0xc], eax
jne 0x18fafac
cmp r10, rbx
je 0x18fb086
cmp cl, 4
jb 0x18fb086
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov dx, 0x40
jmp 0x18faf19
cmp r10, rbx
je 0x18fb086
cmp cl, 4
jb 0x18fb086
mov dx, 0x41
jmp 0x18faf4b
test r9d, r9d
je 0x18fb086
test edx, edx
je 0x18fb086
mov eax, dword [0x018e6bac]
cmp dword [rdi + 0xc], eax
jne 0x18fb031
mov eax, dword [0x018e6bb0]
cmp dword [rdi + 0x10], eax
jne 0x18fb031
mov eax, dword [0x018e6bb4]
cmp dword [rdi + 0x14], eax
jne 0x18fb031
lea rbx, [0x01965a38]
cmp r10, rbx
je 0x18fb086
test r8d, r8d
je 0x18fb086
cmp byte [r10 + 0x19], 4
jb 0x18fb086
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x80]
mov rdx, qword [rdi]
mov rcx, rdi
mov ebx, eax
call qword [rdx]
mov dx, 0x44
jmp 0x18fae88
lea rax, [0x01965a38]
cmp r10, rax
je 0x18fb07f
test r8d, r8d
je 0x18fb07f
cmp byte [r10 + 0x19], 4
jb 0x18fb07f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x80]
mov dx, 0x45
mov rcx, qword [0x01965a38]
lea r9, [rdi + 8]
lea r8, [0x018e4500]
mov rcx, qword [rcx + 0x10]
mov dword [rsp + 0x20], eax
call fcn.018ec05c
mov r10, qword [0x01965a38]
lea rbx, [0x01965a38]
mov rsi, qword [rsi]
mov r11d, dword [rsp + 0x88]
test rsi, rsi
jne 0x18fad71
cmp r10, rbx
je 0x18fb0da
bt dword [r10 + 0x1c], 0x19
jae 0x18fb0da
cmp byte [r10 + 0x19], 4
jb 0x18fb0da
mov rax, qword [rbp + 0xb8]
mov rcx, qword [r10 + 0x10]
lea r8, [0x018e4500]
lea r9, [rax + 0x100]
mov eax, dword [rax + 0x340]
mov dx, 0x46
mov dword [rsp + 0x20], eax
call fcn.018f4808
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret