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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rdi, qword [rdx + 8]
mov rbx, rdx
mov rbp, rcx
test rdi, rdi
je 0x1400971b4
mov r13, qword [rdi + 0xc8]
test r13, r13
je 0x1400971b4
mov r9, qword [rdx + 0x28]
mov al, byte [r9 - 3]
mov byte [rsp + 0x78], al
test al, al
jns 0x140096a1d
cmp byte [rdi + 0x44], 0x5c
je 0x140096a1d
mov eax, dword [r9 - 0x1c]
add eax, 2
jmp 0x1400971b6
mov edx, dword [r9 - 0x2c]
mov r14, r13
mov r10d, dword [r9 - 0x30]
mov eax, edx
mov r11d, dword [rcx + 0xb8]
cmp edx, r10d
cmovb eax, r10d
mov dword [rsp + 0x88], eax
add eax, r11d
mov dword [rsp + 0x20], eax
cmp word [r14 + 0x10], 4
jne 0x140096a5a
mov r14, qword [r14 + 0xc8]
test r14, r14
jne 0x140096a46
mov rsi, qword [r13 + 0xd0]
jmp 0x140096a71
cmp word [rsi + 0x10], 4
jne 0x140096a76
mov rsi, qword [rsi + 0xd0]
test rsi, rsi
jne 0x140096a63
mov r8b, byte [rcx + 0x1e3]
lea r15, [rdi + 0x10]
test rsi, rsi
mov byte [rsp + 0x80], r8b
mov r12d, 1
cmove rsi, rdi
cmp r8b, 3
jne 0x140096b14
mov rax, qword [rcx + 0x2f0]
mov rcx, qword [rax + 0x118]
mov r8, qword [rax + 0x110]
test rcx, rcx
je 0x140096ad0
movzx eax, word [r15]
sub ax, 7
cmp ax, 0xb
jbe 0x140096ad0
cmp word [r15], r12w
je 0x140096ad0
cmp rcx, qword [rdi + 8]
je 0x140096afd
test r8, r8
je 0x140096b0d
movzx eax, word [r15]
cmp ax, 0xf
je 0x140096b0d
cmp ax, 6
jbe 0x140096aeb
cmp ax, 0x13
jb 0x140096b0d
cmp ax, 0xf
je 0x140096b0d
cmp ax, r12w
je 0x140096b0d
cmp r8, qword [rdi + 8]
jne 0x140096b0d
lea ecx, [r10 + r11]
cmp edx, ecx
cmovb edx, ecx
mov eax, edx
jmp 0x1400971b6
mov r8b, byte [rbp + 0x1e3]
cmp byte [rbp + 0x54], 5
jne 0x140096b3a
mov rax, qword [rbx + 0x40]
mov rcx, qword [rax]
cmp word [rcx + 0x10], 0x56
jne 0x140096b3a
mov eax, dword [rcx + 0x7c]
add eax, r12d
imul eax, dword [rbp + 0x1c0]
jmp 0x1400971b6
movzx r11d, word [rsi + 0x10]
cmp r11w, 0x17
jne 0x140096b67
mov eax, dword [rsi + 0x40]
and eax, 0x3000
cmp eax, 0x1000
jne 0x140096b67
cmp dword [rdi + 0x78], 0
jne 0x140096b5f
mov r10d, dword [rbx + 0x3c]
mov eax, r10d
jmp 0x1400971b6
movzx r12d, word [r15]
mov ecx, 0xfffb
movabs rdx, 0x4924924924924925
lea eax, [r12 - 0x14]
test cx, ax
je 0x140096b9b
cmp r12w, 0x33
jne 0x140096ca8
lea eax, [r8 - 7]
test al, 0xfd
jne 0x140096d01
mov rax, rdx
mov rcx, r9
sub rcx, qword [rbx + 0x20]
imul rcx
mov ecx, 1
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, rcx
jbe 0x140096c9e
cmp byte [rdi + 0x44], 0x4f
jne 0x140096bfb
cmp qword [rdi + 0x20], rcx
jb 0x140096be5
mov rax, qword [rdi + 0x18]
cmp byte [rax], 0x7d
jne 0x140096bdd
xor eax, eax
jmp 0x140096be1
sbb eax, eax
or eax, ecx
test eax, eax
je 0x140096c13
lea eax, [r12 - 0x14]
mov edx, 0xfff9
test dx, ax
jne 0x140096bfb
cmp r12w, 0x1a
jne 0x140096c13
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x140096c47
mov rdx, rbp
call fcn.14008777c
test al, al
je 0x140096c47
mov r8, qword [rbx + 0x20]
movabs rax, 0x4924924924924925
mov rcx, qword [rbx + 0x28]
sub rcx, r8
imul rcx
sar rdx, 4
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
imul rax, rdx, 0x38
mov eax, dword [rax + r8 - 0x60]
jmp 0x1400971b6
mov rax, qword [rdi + 0xc0]
test rax, rax
je 0x140096c96
mov eax, dword [rax + 0x40]
and eax, 0x3000
cmp eax, 0x2000
jne 0x140096c96
mov rcx, qword [rbx + 0x28]
mov r8, qword [rbx + 0x20]
movabs rax, 0x4924924924924925
sub rcx, r8
imul rcx
sar rdx, 4
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
imul rax, rdx, 0x38
mov eax, dword [rax + r8 - 0x64]
jmp 0x1400971b6
mov eax, dword [rbx + 0x3c]
jmp 0x1400971b6
movabs rdx, 0x4924924924924925
cmp r12w, 0x16
jne 0x140096d01
mov r8, qword [rbx + 0x20]
mov rax, rdx
mov rcx, r9
sub rcx, r8
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
cmp rdx, rax
jbe 0x140096d06
mov rax, qword [rdi + 0xd0]
test rax, rax
je 0x140096c88
movzx ecx, word [rax + 0x10]
sub cx, 0x17
cmp cx, 0x39
ja 0x140096d01
movabs rax, 0x200008000000001
bt rax, rcx
jb 0x140096c88
mov eax, 1
cmp byte [rbp + 8], 3
jne 0x140096d46
cmp r12w, 0x16
jne 0x140096d46
mov r8, qword [rbx + 0x20]
mov rcx, r9
sub rcx, r8
movabs rax, 0x4924924924924925
imul rcx
mov eax, 1
sar rdx, 4
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
cmp rdx, rax
ja 0x140096c88
movzx ecx, byte [rsi + 0x44]
cmp cl, 0x4f
jne 0x140096d88
cmp qword [rsi + 0x20], rax
jb 0x140096d6b
mov rax, qword [rsi + 0x18]
cmp byte [rax], 0x7d
jne 0x140096d62
xor eax, eax
jmp 0x140096d67
sbb eax, eax
or eax, 1
test eax, eax
je 0x140096d80
lea eax, [r11 - 0x14]
mov edx, 0xfff9
test dx, ax
jne 0x140096d88
cmp r11w, 0x1a
je 0x140096d88
mov rcx, r9
jmp 0x140096c66
cmp r12w, 5
jne 0x140096dc7
mov rdx, qword [rdi + 0xd0]
test rdx, rdx
je 0x140096dc7
cmp byte [rdx + 0x44], 0x13
je 0x140096b5f
mov al, byte [rbp + 0x1e3]
sub al, 7
test al, 0xfd
jne 0x140096dc7
cmp word [rdx + 0x10], 0x2e
je 0x140096b5f
cmp word [rdx + 0x10], 0x17
je 0x140096b5f
cmp cl, 0x40
jne 0x140096dda
mov eax, dword [rbx + 0x1c]
test eax, eax
je 0x140096dda
dec eax
jmp 0x1400971b6
mov edx, 1
lea eax, [r11 - 0xd]
lea r8d, [rdx + 1]
cmp ax, dx
jbe 0x140096df6
lea eax, [r11 - 0x10]
cmp ax, r8w
ja 0x140096e01
mov eax, dword [rbx + 0x1c]
test eax, eax
jne 0x1400971b6
cmp r11w, 0x2f
jne 0x140096e31
mov eax, dword [r9 - 0x24]
test eax, eax
jne 0x1400971b6
xor al, al
mov rdx, r9
test al, al
je 0x140096e6c
cmp dword [r9 - 0xc], 0
je 0x140097022
mov eax, dword [r9 - 0xc]
jmp 0x1400971b6
lea eax, [r11 - 0x19]
cmp ax, 0x2d
ja 0x140096e14
movabs rdx, 0x200000000801
bt rdx, rax
jae 0x140096e14
cmp cl, 0x2f
ja 0x140096e60
movabs rdx, 0x900000040000
bt rdx, rcx
jb 0x140096e14
cmp cl, 0x52
je 0x140096e14
mov eax, 1
jmp 0x140096e16
cmp dword [r9 - 0x20], 0
je 0x140096f1d
cmp r11w, 0x3d
jne 0x140096e83
cmp cl, 0xa
je 0x140096e95
cmp byte [r13 + 0x44], 0xa
jne 0x140096f1d
cmp r11w, 0x3d
jne 0x140096ebe
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x140096ebe
cmp dword [rax + 0x98], 0
je 0x140096ebe
mov ecx, dword [rax + 0x98]
mov rax, qword [rax + 0x90]
cmp dword [rax + rcx*4 - 4], 3
je 0x140096ee3
cmp word [r13 + 0x10], 0x3d
jne 0x140096f14
cmp dword [rdi + 0x98], 0
je 0x140096f14
mov ecx, dword [rdi + 0x98]
mov rax, qword [rdi + 0x90]
cmp dword [rax + rcx*4 - 4], 3
jne 0x140096f14
test byte [r9 - 2], r8b
jne 0x140096f14
cmp byte [rbp + 0x21], 0
je 0x140096ef6
sub r10d, dword [rbp + 0xb8]
cmp byte [rbp + 0x68], 0
je 0x140096b5f
test byte [r9 - 2], 4
je 0x140096b5f
add r10d, 0xfffffffe
jmp 0x140096b5f
mov eax, dword [r9 - 0x20]
jmp 0x1400971b6
cmp word [r13 + 0x10], 0x41
jne 0x140096f31
mov eax, dword [r9 - 8]
test eax, eax
jne 0x1400971b6
test r14, r14
je 0x140096f5c
test byte [r14 + 0x40], 0x40
jne 0x140096f75
cmp byte [r14 + 0x44], 0x2f
ja 0x140096f5c
movzx eax, byte [r14 + 0x44]
movabs r9, 0x800400400030
bt r9, rax
mov r9, rdx
jb 0x140096f75
cmp byte [rbp + 0x1c4], 0
jne 0x140096f81
mov eax, 0x8b
cmp r11w, ax
je 0x140096f75
cmp cl, 0x17
jne 0x140096f81
mov eax, dword [rsp + 0x88]
jmp 0x1400971b6
cmp cl, 0x48
jne 0x140096fea
test byte [rsp + 0x78], 8
jne 0x140096fcc
mov rax, qword [rbx + 0x40]
mov rcx, rbp
mov r8d, dword [rdx - 0x30]
mov edx, dword [rax + 0x20]
call fcn.140099d1c
test al, al
je 0x140096fb4
mov ecx, dword [rbp + 0xb8]
add ecx, dword [rbx + 0x3c]
cmp r8d, ecx
cmovb r8d, ecx
mov eax, dword [rsi + 0x84]
cmp eax, dword [rsi + 0x50]
cmovb eax, dword [rsi + 0x50]
sub eax, dword [rsi + 0x50]
add eax, r8d
jmp 0x1400971b6
test byte [rdx - 3], 4
je 0x140096fe2
mov eax, dword [rdx - 0x1c]
cmp eax, dword [rsi + 0x50]
jbe 0x140096fe2
sub eax, dword [rsi + 0x50]
jmp 0x1400971b6
mov eax, dword [rdx - 0x30]
jmp 0x1400971b6
cmp r11w, 0x3d
jne 0x140096fff
cmp cl, r11b
jne 0x140096fff
mov eax, dword [r9 - 0x1c]
jmp 0x1400971b6
mov eax, 1
cmp cl, al
jne 0x14009702b
mov eax, dword [r9 - 0x14]
test eax, eax
jne 0x1400971b6
cmp byte [rsp + 0x80], r8b
je 0x140096b5f
mov eax, dword [rsp + 0x20]
jmp 0x1400971b6
cmp r11w, 5
jne 0x140097051
cmp dword [rsi + 0xb0], 0
jne 0x140097051
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x140097051
cmp byte [rax + 0x44], 0x3d
je 0x140096b5f
cmp cl, 0x49
je 0x140097022
cmp cl, 0x43
je 0x140097022
movzx eax, word [r13 + 0x10]
mov edx, 0xfff7
sub ax, 0x3f
test dx, ax
je 0x140097022
cmp byte [r13 + 0x44], 0x28
je 0x140097022
test r14, r14
je 0x14009708e
cmp word [r14 + 0x10], 0x3d
jne 0x14009708e
mov al, byte [r14 + 0x44]
cmp al, 0x3d
je 0x140097022
cmp al, 0x13
je 0x140097022
cmp cl, 0x10
je 0x140096b5f
test r14, r14
je 0x1400970bb
mov al, byte [r14 + 0x44]
cmp al, 0xf
jne 0x1400970aa
cmp byte [rbp + 0x69], r8b
jmp 0x1400970b5
cmp al, 0x1d
jne 0x1400970bb
cmp byte [rbp + 0xb0], r8b
je 0x140096b5f
cmp cl, 0xf
je 0x1400971a9
sub cl, 0x1d
mov eax, 1
cmp cl, al
jbe 0x1400971a9
cmp word [r13 + 0x10], 0x16
mov r13d, eax
jne 0x140097105
mov r8b, r13b
mov dl, r13b
movzx ecx, r12w
call fcn.140148d5c
cmp eax, r13d
jg 0x140097105
cmp word [r15], 0x3d
je 0x140097105
cmp word [r15], 4
jne 0x140097022
cmp byte [rdi + 0x44], 0x50
jne 0x140097117
mov rax, qword [rbx + 0x28]
mov eax, dword [rax - 0x30]
jmp 0x1400971b6
movzx ecx, word [r15]
mov r8b, r13b
mov dl, r13b
call fcn.140148d5c
cmp eax, r13d
jle 0x140097140
mov rax, qword [rbx + 0x28]
test byte [rax - 2], 4
je 0x140097140
mov eax, dword [rax - 0x30]
sub eax, dword [rdi + 0x58]
sub eax, dword [rdi + 4]
jmp 0x1400971b6
cmp word [r15], 4
je 0x140097152
mov al, byte [rdi + 0x44]
cmp al, 8
je 0x140097152
cmp al, 0x30
jne 0x14009717b
movzx ecx, word [rsi + 0x10]
mov r8b, r13b
mov dl, r13b
call fcn.140148d5c
cmp eax, r13d
jle 0x14009717b
mov rax, qword [rbx + 0x28]
test byte [rax - 2], 4
je 0x14009717b
mov eax, dword [rax - 0x30]
sub eax, dword [rsi + 0x58]
sub eax, dword [rsi + 4]
jmp 0x1400971b6
mov rax, qword [rbx + 0x28]
mov ecx, dword [rax - 0x30]
cmp ecx, dword [rbx + 0x3c]
jne 0x1400971a5
test r14, r14
je 0x1400971a5
cmp word [r14 + 0x10], 0x18
je 0x1400971a5
cmp byte [r14 + 0x44], 0x10
je 0x1400971a5
mov eax, dword [rbp + 0xb8]
add eax, ecx
jmp 0x1400971b6
mov eax, ecx
jmp 0x1400971b6
mov eax, dword [rbp + 0xb4]
add eax, dword [rbx + 0x3c]
jmp 0x1400971b6
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret