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

Disassembly:
mov rax, rsp
mov word [rax + 0x20], r9w
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
xor r15d, r15d
mov r14, r8
mov r11, rdx
mov r8, rcx
mov esi, r15d
mov ebx, r15d
cmp word [rsp + 0x100], r15w
je 0x140068b22
mov rax, qword [rcx]
mov r9, qword [rax]
test byte [r9 + 0x5c], 0x40
jne 0x1400691f6
movzx r9d, word [rsp + 0xf8]
movzx edx, word [rdx]
mov word [rsp + 0x54], dx
cmp dx, 0x3f
ja 0x1400691f6
movzx r12d, dx
mov eax, 1
mov r10b, al
mov dword [rsp + 0x50], r12d
mov ecx, r12d
mov dword [rsp + 0x38], r10d
shl rax, cl
mov rdx, r15
movzx ecx, r9w
mov qword [rsp + 0x68], r15
mov rbp, r15
mov qword [rsp + 0x58], r15
mov r13d, r15d
mov dword [rsp + 0x4c], r15d
lea rdi, [rax - 1]
mov qword [rsp + 0x78], rdx
mov eax, 0x800
mov qword [rsp + 0x70], rdi
and cx, ax
movzx eax, cx
mov word [rsp + 0x3e], cx
neg ax
sbb r9w, r9w
neg r9w
add r9w, 0x182
mov word [rsp + 0x30], r9w
cmp rbx, rdi
jae 0x1400691bf
movzx eax, word [rsp + 0x100]
cmp r13d, eax
jg 0x1400691bc
test r13d, r13d
jle 0x140068bc9
or rbp, qword [rsi + 8]
mov qword [rsp + 0x58], rbp
cmp r13d, eax
jge 0x140068be9
mov rax, qword [r14 + 0x18]
mov rsi, qword [rax + rdx*8]
mov qword [rsp + 0x80], rsi
test cx, cx
jne 0x14006918c
jmp 0x140068bf9
mov rsi, qword [rsp + 0x108]
mov qword [rsp + 0x80], rsi
mov edx, dword [rsi + 0x28]
bt edx, 0xa
jb 0x1400691ae
movzx eax, byte [rsi + 0x10]
mov ebp, r15d
imul rcx, rax, 0x78
mov word [rsi + 0x1e], r15w
mov rax, qword [r8 + 8]
mov r8d, dword [rcx + rax + 0x50]
mov dword [rsp + 0x40], r8d
test r12d, r12d
je 0x140068d25
mov r13, qword [rsp + 0xe0]
lea r14, [r11 + 8]
xor edx, edx
mov eax, ebp
bt rbx, rax
jb 0x140068cfe
mov rcx, qword [r14]
call fcn.140036e80
mov rdi, rax
cmp byte [rax], 0x91
jne 0x140068cfe
cmp dword [rax + 0x2c], r8d
jne 0x140068cfe
movsx r8d, word [rdi + 0x30]
lea rcx, [r13 + 0x68]
movzx eax, r9w
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x28], rdx
not r9
mov edx, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.14006587c
mov r8, rax
xor eax, eax
test r8, r8
je 0x140068cf1
lea r10d, [rax + 1]
cmp word [r8 + 0x14], r10w
jne 0x140068cc5
movzx edx, word [rsi + 0x2c]
mov ecx, eax
test edx, edx
je 0x140068cc1
mov r9, qword [rsi + 0x38]
movsxd rax, ecx
cmp r8, qword [r9 + rax*8]
je 0x140068cbf
add ecx, r10d
cmp ecx, edx
jl 0x140068caf
xor eax, eax
cmp ecx, edx
jge 0x140068cf1
test byte [r8 + 0x14], 0x82
je 0x140068ce9
cmp word [rdi + 0x30], ax
jl 0x140068ce9
mov r8, qword [r8]
mov rdx, qword [r14]
mov rcx, qword [r13]
call fcn.140037028
xor edx, edx
test eax, eax
je 0x140068cf3
jmp 0x140068ceb
xor edx, edx
bts rbx, r15
jmp 0x140068cf3
xor edx, edx
movzx r9d, word [rsp + 0x30]
mov r8d, dword [rsp + 0x40]
mov eax, 1
add r14, 0x28
add ebp, eax
add r15, rax
cmp ebp, r12d
jl 0x140068c3b
mov r13d, dword [rsp + 0x4c]
xor r15d, r15d
mov edx, dword [rsi + 0x28]
mov r10d, dword [rsp + 0x38]
bt edx, 0xc
jb 0x1400690b1
mov eax, 0x100
test eax, edx
je 0x140068d4d
mov r9d, 1
mov word [rsp + 0x44], r15w
movzx eax, r9w
mov rbp, r15
jmp 0x140068d84
mov rbp, qword [rsi + 0x20]
test rbp, rbp
je 0x1400691f6
test byte [rbp + 0x64], 4
jne 0x1400691f6
movzx eax, word [rbp + 0x5e]
mov r9d, 1
cmp byte [rbp + 0x62], r15b
mov word [rsp + 0x44], ax
movzx eax, word [rbp + 0x60]
setne r10b
mov dword [rsp + 0x38], r10d
movzx eax, ax
mov r11b, r15b
mov byte [rsp + 0x34], r15b
mov edi, r15d
mov byte [rsp + 0x33], r15b
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x60], eax
test eax, eax
je 0x1400690b1
movzx r8d, word [rsi + 0x18]
mov r14b, r9b
cmp edi, r8d
jge 0x140068e2c
movzx eax, word [rsi + 0x2e]
cmp edi, eax
jl 0x140068e2c
mov r9, qword [rsi + 0x38]
movsxd rax, edi
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test word [rsp + 0x30], ax
je 0x140068df8
mov ecx, 0x100
mov r9d, 1
test cx, ax
movzx eax, r10b
mov ecx, r15d
cmove ecx, eax
mov r10b, cl
mov dword [rsp + 0x38], r10d
jmp 0x140069084
mov r13d, 1
test r13b, al
je 0x140068e29
mov r10, qword [rcx]
lea edx, [rdi + 1]
jmp 0x140068e1a
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r10
je 0x140068e21
add edx, r13d
cmp edx, r8d
jl 0x140068e0b
jmp 0x140068e24
mov r14b, r15b
mov r10d, dword [rsp + 0x38]
mov r9, r13
test rbp, rbp
je 0x140068e5b
mov rax, qword [rbp + 8]
movsxd rcx, edi
movsx r15d, word [rax + rcx*2]
mov rax, qword [rbp + 0x38]
mov dl, byte [rcx + rax]
mov rax, qword [rbp + 0x18]
mov byte [rsp + 0x32], dl
movsx ecx, word [rax + 0x44]
cmp r15d, ecx
jne 0x140068e65
or r15d, 0xffffffff
jmp 0x140068e65
or r15d, 0xffffffff
xor edx, edx
mov byte [rsp + 0x32], dl
test r10b, r10b
je 0x140068e92
test r15d, r15d
js 0x140068e92
cmp edi, r8d
jl 0x140068e92
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + 8]
movsxd rax, r15d
shl rax, 5
mov al, byte [rax + rcx + 0x18]
neg al
sbb cl, cl
and cl, r10b
mov byte [rsp + 0x38], cl
xor r10d, r10d
mov r13d, r10d
test r14b, r14b
je 0x140068fc8
cmp r13d, r12d
jge 0x140068fc3
mov eax, r13d
bt rbx, rax
jb 0x140068fb7
mov r9, qword [rsp + 0xe8]
movsxd rax, r13d
lea r8, [rax + rax*4]
mov rcx, qword [r9 + r8*8 + 8]
mov qword [rsp + 0x88], r8
call fcn.140036e80
mov rdx, rax
mov al, byte [rsp + 0xf8]
and al, 0xc0
neg al
sbb al, al
and al, r14b
mov byte [rsp + 0x3c], al
mov r14b, al
cmp r15d, 0xffffffff
jl 0x140068f20
cmp byte [rdx], 0x91
jne 0x140068fb1
mov ecx, dword [rsp + 0x40]
cmp dword [rdx + 0x2c], ecx
jne 0x140068fb1
movsx eax, word [rdx + 0x30]
cmp eax, r15d
jne 0x140068fb1
movsxd r12, edi
jmp 0x140068f66
mov rax, qword [rbp + 0x50]
movsxd r12, edi
lea rcx, [r12 + r12*4]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140036e80
mov rcx, rdx
mov r8, rax
call fcn.140036e80
mov r9d, dword [rsp + 0x40]
mov rdx, rax
xor ecx, ecx
call fcn.14003c56c
xor r10d, r10d
test eax, eax
jne 0x140068fac
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0xe8]
cmp r15d, 0xffffffff
je 0x140068fe4
mov rax, qword [rsp + 0xe0]
mov rdx, qword [r9 + r8*8 + 8]
mov r14, qword [rax]
mov rcx, r14
call fcn.140036eac
test rax, rax
jne 0x140068f90
mov rax, qword [r14]
mov rax, qword [rax + 0x10]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rax]
mov r14b, byte [rsp + 0x3c]
mov rdx, qword [rdx + r12*8]
call fcn.14000b6fc
xor r10d, r10d
test eax, eax
je 0x140068fe4
mov r12d, dword [rsp + 0x50]
mov r9d, 1
add r13d, r9d
test r14b, r14b
jne 0x140068ea1
mov r11d, dword [rsp + 0x48]
xor r15d, r15d
test edi, edi
je 0x140068fdc
movzx eax, word [rsp + 0x44]
cmp edi, eax
jge 0x140069092
mov r10b, r15b
jmp 0x140069097
test byte [rsp + 0xf8], 0x40
mov r9d, 1
mov dl, r9b
lea eax, [r9 + rdi]
mov word [rsi + 0x1e], ax
jne 0x14006905a
mov r8, qword [rsp + 0xe8]
movsxd rax, r13d
lea rax, [rax + rax*4]
cmp byte [rsp + 0x34], r10b
je 0x140069027
mov cl, byte [rsp + 0x32]
xor cl, byte [rsp + 0x33]
cmp cl, byte [r8 + rax*8 + 0x20]
sete dl
jmp 0x140069052
mov al, byte [r8 + rax*8 + 0x20]
xor al, byte [rsp + 0x32]
mov byte [rsp + 0x33], al
je 0x14006904d
mov r8, qword [rsp + 0x110]
movsxd rax, dword [rsp + 0x4c]
mov rcx, qword [r8]
bts rcx, rax
mov qword [r8], rcx
mov byte [rsp + 0x34], r9b
test dl, dl
je 0x140068fc3
mov r11d, dword [rsp + 0x48]
cmp r15d, 0xffffffff
mov r10d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x50]
movzx r11d, r11b
cmove r11d, r9d
movsxd rax, r13d
bts rbx, rax
mov dword [rsp + 0x48], r11d
xor r15d, r15d
add edi, r9d
cmp edi, dword [rsp + 0x60]
jge 0x140069097
jmp 0x140068da8
mov r10d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0x50]
test r11b, r11b
mov r13d, dword [rsp + 0x4c]
movzx r10d, r10b
cmovne r10d, r9d
mov dword [rsp + 0x38], r10d
test r10b, r10b
je 0x14006915f
mov rbp, qword [rsp + 0x68]
mov edi, r15d
or rbp, qword [rsi + 8]
mov qword [rsp + 0x68], rbp
test r12d, r12d
je 0x14006915f
mov r13, qword [rsp + 0xe0]
mov ecx, 1
mov rsi, qword [rsp + 0xe8]
mov eax, edi
bt rbx, rax
jb 0x140069143
movsxd r14, edi
lea rcx, [r13 + 0x290]
lea rax, [r14 + r14*4]
mov rbp, qword [rsi + rax*8 + 8]
mov rdx, rbp
call fcn.140065344
mov r15, rax
test rax, rax
jne 0x140069126
xor r8d, r8d
lea edx, [rax + 1]
mov rcx, rbp
call fcn.140038b38
test eax, eax
je 0x14006913e
mov rax, qword [rsp + 0x68]
mov ecx, 1
not rax
test r15, rax
jne 0x140069143
bts rbx, r14
jmp 0x140069143
mov ecx, 1
add edi, ecx
cmp edi, r12d
jl 0x1400690e9
mov rsi, qword [rsp + 0x80]
xor r15d, r15d
mov r10d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x4c]
mov r8, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xe8]
movzx r9d, word [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
movzx ecx, word [rsp + 0x3e]
mov rbp, qword [rsp + 0x58]
mov r14, qword [rsp + 0xf0]
mov eax, 1
add qword [rsp + 0x78], rax
add r13d, eax
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x4c], r13d
test r10b, r10b
jne 0x140068ba1
jmp 0x1400691bc
cmp byte [rsi + 0x1d], r15b
mov rcx, rdi
cmove rcx, rbx
mov rbx, rcx
cmp rbx, rdi
jne 0x1400691c7
mov al, byte [rsp + 0x54]
jmp 0x1400691f8
test r10b, r10b
jne 0x140069210
lea ecx, [r12 - 1]
test ecx, ecx
jle 0x1400691f6
mov r8d, 1
mov rdx, r8
shl rdx, cl
sub rdx, r8
mov rax, rdx
and rax, rbx
cmp rax, rdx
je 0x14006920c
sub ecx, r8d
test ecx, ecx
jg 0x1400691db
xor al, al
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov al, cl
jmp 0x1400691f8
mov al, 0xff
jmp 0x1400691f8