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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1402142b0]
xor rax, rsp
mov qword [rbp - 0x10], rax
cmp byte [rcx + 0x61], 0
mov r12, rdx
mov rdi, qword [rdx + 8]
mov r13, rcx
mov rsi, qword [rdi + 0xc8]
je 0x140098808
test byte [rdi + 0x40], 0x20
je 0x140098808
cmp byte [rdi + 0x44], 0x2d
jne 0x140098808
cmp byte [rsi + 0x44], 0x30
je 0x140098808
add rdx, 0x20
mov rcx, rdi
call fcn.140096894
mov rdx, r12
mov rcx, r13
mov ebx, eax
call fcn.140096510
cmp ebx, eax
seta al
jmp 0x14009908b
test byte [rdi + 0x40], 8
mov ecx, 1
jne 0x140099086
cmp byte [rdi + 0x44], 0x20
je 0x140099086
mov rax, qword [rdx + 0x28]
test byte [rax - 4], 2
je 0x14009888e
cmp byte [rdi + 0x44], 0x4f
jne 0x14009886d
cmp qword [rdi + 0x20], rcx
jb 0x140098850
mov rax, qword [rdi + 0x18]
cmp byte [rax], 0x7d
jne 0x140098844
xor eax, eax
jmp 0x140098848
sbb eax, eax
or eax, ecx
test eax, eax
je 0x140099086
movzx eax, word [rdi + 0x10]
mov ecx, 0xfff9
sub ax, 0x14
test cx, ax
jne 0x14009886d
cmp word [rdi + 0x10], 0x1a
jne 0x140099086
mov rcx, qword [rdi + 0xc0]
test rcx, rcx
je 0x140098889
mov rdx, r13
call fcn.14008777c
test al, al
jne 0x140099086
mov ecx, 1
mov r15, qword [r12 + 0x28]
mov r11d, 4
test byte [r15 - 4], r11b
je 0x1400988aa
cmp word [rdi + 0x10], 0x16
je 0x140099086
movzx r14d, word [rsi + 0x10]
cmp r14w, 0x3e
jne 0x1400988c2
cmp byte [r12 + 0x10], 0
jne 0x140099086
mov bl, byte [r13 + 0x1e3]
mov eax, 0x37
lea edx, [rax - 0x31]
lea r10d, [rax + 6]
cmp bl, dl
jne 0x14009893c
cmp byte [r13 + 0x235], 0
je 0x14009893c
cmp dword [rdi + 0x88], ecx
jbe 0x14009893c
cmp word [rdi + 0x10], r11w
jne 0x14009890d
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x14009890d
mov r9d, eax
mov r8d, r10d
mov dl, 0x48
call fcn.140093fdc
jmp 0x14009892a
cmp byte [rdi + 0x44], 0x48
jne 0x14009893c
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x14009893c
mov r8d, eax
mov edx, r10d
call fcn.14006aa2c
test al, al
jne 0x140099086
mov r11d, 4
lea r10d, [r11 + 0x39]
cmp byte [r15 - 3], 0
jge 0x14009894d
cmp byte [rsi + 0x44], 0x5e
jne 0x140098c9c
mov rdx, r13
mov rcx, rdi
call fcn.140099d30
test al, al
jne 0x1400989a8
cmp r14w, 0x3e
je 0x1400989a8
mov al, byte [rsi + 0x44]
cmp al, 0x4d
jne 0x14009898e
cmp byte [rdi + 0x44], 0x49
jne 0x14009898e
mov ecx, 1
cmp bl, cl
je 0x140098982
lea r8d, [rcx + 5]
cmp bl, r8b
jne 0x14009898e
cmp dword [rsi + 0x78], ecx
je 0x1400989a8
cmp byte [r13 + 0x52], 0
jne 0x1400989a8
cmp byte [r13 + 0x68], 0
je 0x1400989a4
cmp byte [rdi + 0x44], 0xa
jne 0x1400989e9
cmp r14w, 0x3c
jne 0x1400989a8
jmp 0x1400989e9
cmp al, 0xa
jne 0x1400989e9
test byte [r15 - 4], 0x10
je 0x1400989e9
movzx eax, word [rdi + 0x10]
cmp ax, r11w
jne 0x1400989d7
cmp byte [rdi + 0x44], 0x30
je 0x1400989e9
mov rax, qword [rdi + 0xd0]
test rax, rax
je 0x1400989e9
cmp dword [rax + 0x48], 0
jbe 0x140099086
jmp 0x1400989e9
sub ax, 0x16
mov ecx, 0xfffd
test cx, ax
jne 0x140099086
mov ebx, 1
test byte [r15 - 2], bl
je 0x140098a25
xor r15d, r15d
cmp byte [r13 + 0x68], r15b
je 0x140098a10
cmp byte [rdi + 0x44], 0xa
jne 0x140098a28
cmp word [rdi + 0x10], r10w
je 0x140099086
jmp 0x140098a28
cmp byte [rsi + 0x44], 0xa
jne 0x140098a28
cmp r14w, r10w
je 0x140099086
mov al, byte [rsi + 0x44]
jmp 0x140098a36
xor r15d, r15d
mov al, byte [rsi + 0x44]
cmp al, 0x13
jne 0x140098a36
cmp r14w, 0x17
je 0x140098a4b
test al, al
jne 0x140098a3f
cmp dword [rsi + 0x5c], ebx
ja 0x140098a4b
mov rcx, rsi
call fcn.140099220
test al, al
je 0x140098a7b
cmp dword [r13 + 0x6c], r15d
jbe 0x140098a7b
lea rdx, [r12 + 0x20]
mov rcx, rsi
call fcn.140096894
mov rdx, r12
mov rcx, r13
mov ebx, eax
call fcn.140096510
mov edx, dword [r12]
dec edx
add edx, ebx
cmp edx, eax
ja 0x140099086
cmp byte [r13 + 0x69], 2
mov rax, rdi
cmove rax, rsi
cmp byte [rax + 0x44], 0xf
jne 0x140098ae0
mov rdx, r12
mov rcx, r13
call fcn.140096510
mov rcx, qword [r12 + 0x40]
mov rdx, qword [rcx + 8]
mov ecx, dword [rdx + 0x68]
sub ecx, dword [rsi + 0x68]
add ecx, dword [r12]
cmp ecx, eax
ja 0x140098aba
mov rax, qword [r12 + 0x28]
test byte [rax - 4], 0x10
je 0x140098ae0
mov r14d, 4
cmp byte [r13 + 0x29], r14b
jne 0x140099086
cmp byte [r13 + 0x69], r15b
jne 0x140099086
cmp dword [r13 + 0x6c], r15d
jne 0x140099086
jmp 0x140098ae6
mov r14d, 4
mov al, byte [rdi + 0x44]
mov edx, 0x3d
cmp al, dl
jne 0x140098b3a
cmp byte [rsi + 0x44], 0x48
je 0x140098bab
mov rax, qword [r12 + 0x40]
mov r8, qword [rax]
test r8, r8
je 0x140098bab
cmp word [r8 + 0x10], r14w
jne 0x140098b29
mov rcx, qword [r8 + 0xd0]
test rcx, rcx
je 0x140098b29
mov dl, 0x3e
call fcn.14006aa9c
jmp 0x140098b31
cmp byte [r8 + 0x44], 0x3e
sete al
test al, al
je 0x140098bab
jmp 0x140099086
cmp al, 0x48
jne 0x140098bab
cmp word [rsi + 0x10], 0x48
je 0x140098bab
mov rax, qword [r12 + 0x28]
test byte [rax - 3], 8
je 0x140098bab
test byte [rax - 4], 0x10
je 0x140098bab
cmp byte [r13 + 0x235], r15b
jne 0x140099086
cmp word [rdi + 0x10], r14w
jne 0x140098b88
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x140098b88
mov r8d, edx
mov r9d, 0x37
mov dl, 0x48
call fcn.140093fdc
jmp 0x140098ba3
mov rcx, qword [rdi + 0xd0]
test rcx, rcx
je 0x140099086
mov r8d, 0x37
call fcn.14006aa2c
test al, al
je 0x140099086
mov rdx, r12
mov rcx, r13
call fcn.1400969c4
movzx ecx, word [rdi + 0x10]
mov ebx, eax
sub cx, 0x19
cmp cx, 0x2d
ja 0x140098c26
movabs rax, 0x200000000801
bt rax, rcx
jae 0x140098c26
cmp byte [rdi + 0x44], 0x2f
ja 0x140098bf0
movzx eax, byte [rdi + 0x44]
movabs rcx, 0x900000040000
bt rcx, rax
jb 0x140098c26
cmp byte [rdi + 0x44], 0x52
je 0x140098c26
cmp dword [r13 + 0x6c], r15d
je 0x140098c26
mov rcx, rdi
call fcn.1400969b0
add eax, dword [r12]
cmp eax, dword [r13 + 0x6c]
jbe 0x140098c26
cmp dword [r12], ebx
ja 0x140099086
mov eax, dword [r12 + 0x14]
cmp dword [rdi + 0x78], eax
jb 0x140099086
mov rcx, rdi
call fcn.140099d9c
test al, al
je 0x140098c6c
mov rax, qword [r12 + 0x28]
cmp dword [rax - 0xc], r15d
jne 0x140098c43
test byte [rax - 4], 0x10
je 0x140098c6c
cmp dword [r12], ebx
ja 0x140098c52
cmp byte [r13 + 0x1e3], r14b
je 0x140098c6c
mov rcx, rsi
call fcn.140095e60
test al, al
je 0x140099086
cmp dword [r12], ebx
ja 0x140099086
test byte [rsi + 0x40], 0x40
je 0x140098c87
mov rax, qword [r12 + 0x28]
test byte [rax - 4], 0x10
je 0x140098c87
test byte [rdi + 0x40], 0x20
jne 0x140099086
mov rax, qword [r12 + 0x40]
mov rcx, qword [rax]
cmp word [rcx + 0x10], 0x56
je 0x140098ca3
cmp dword [r12], ebx
ja 0x140098ca3
xor al, al
jmp 0x14009908b
mov r14d, 0xb
cmp byte [r13 + 0x2f], r15b
je 0x140098d3e
mov eax, dword [r12 + 0x3c]
add eax, dword [r13 + 0xb8]
cmp ebx, eax
je 0x140098cd0
cmp word [rsi + 0x10], 0x41
je 0x140098cd0
cmp dword [rdi + 0x78], 2
jae 0x140098d3e
movzx eax, word [rsi + 0x10]
sub ax, 0x2f
cmp ax, 0x34
ja 0x140098cee
movabs rcx, 0x10000002000001
bt rcx, rax
jb 0x140098d3e
mov rax, qword [r13 + 0x2f0]
mov rcx, qword [rax + 0x1a8]
test rcx, rcx
je 0x140098d20
movzx eax, word [rsi + 0x10]
sub ax, 7
cmp ax, r14w
jbe 0x140098d20
mov eax, 1
cmp word [rsi + 0x10], ax
je 0x140098d20
cmp rcx, qword [rsi + 8]
je 0x140098d3e
mov al, byte [rsi + 0x44]
cmp al, 0x20
je 0x140098d3e
cmp al, 0xa
je 0x140098d3e
mov rdx, r12
mov rcx, r13
call fcn.14009914c
test al, al
jne 0x140099086
mov ecx, 6
cmp byte [rsi + 0x44], cl
jne 0x140098e78
test byte [rdi + 0x40], 0x20
je 0x140098e78
lea ebx, [rcx - 5]
movzx ecx, word [rsi + 0x10]
mov r8b, bl
mov dl, bl
call fcn.140148d5c
cmp eax, 0xa
je 0x140098d92
movzx ecx, word [rsi + 0x10]
mov r8b, bl
mov dl, bl
call fcn.140148d5c
cmp eax, 9
je 0x140098d92
movzx ecx, word [rsi + 0x10]
mov r8b, bl
mov dl, bl
call fcn.140148d5c
cmp eax, r14d
jne 0x140098dac
mov rax, qword [rsi + 0xc8]
test rax, rax
je 0x140098dac
mov r8d, 6
mov cl, bl
cmp byte [rax + 0x44], r8b
jne 0x140098daf
mov cl, r15b
mov rax, qword [rsi + 0xc8]
test rax, rax
je 0x140098dc6
test dword [rax + 0x40], 0x100
mov al, bl
jne 0x140098dc9
mov al, r15b
test cl, cl
je 0x140098dd1
test al, al
je 0x140098e16
mov edx, 4
cmp word [rdi + 0x10], dx
jne 0x140098df4
cmp byte [rdi + 0x44], 0x30
je 0x140098e1b
mov rax, qword [rdi + 0xd0]
test rax, rax
je 0x140098e1b
cmp dword [rax + 0x48], r15d
ja 0x140098e1b
movzx ecx, word [rsi + 0x10]
mov r8b, bl
mov dl, bl
call fcn.140148d5c
cmp eax, 2
je 0x140098e16
mov rax, qword [r12 + 0x28]
test byte [rax - 4], 0x10
jne 0x140099086
mov edx, 4
mov ecx, 6
cmp word [rdi + 0x10], 0x2f
jne 0x140098e42
cmp byte [rdi + 0x44], 0x41
je 0x140098e42
mov rax, qword [r12 + 0x28]
test byte [rax - 4], 0x10
je 0x140098e42
cmp dword [rax - 0x24], r15d
je 0x140099086
cmp dword [rdi + 0x78], r15d
jne 0x140098ebe
cmp word [rdi + 0x10], dx
jne 0x140098e66
cmp byte [rdi + 0x44], 0x30
je 0x140098ebe
mov rax, qword [rdi + 0xd0]
test rax, rax
je 0x140098ebe
cmp dword [rax + 0x48], r15d
ja 0x140098ebe
test byte [rsi + 0x40], 0x40
je 0x140098e99
cmp byte [r13 + 0x30], r15b
setne al
jmp 0x14009908b
cmp byte [rdi + 0x44], cl
jne 0x140098e92
test byte [rdi + 0x40], 0x20
je 0x140098e92
mov rax, qword [r12 + 0x28]
test byte [rax - 4], 0x10
jne 0x140099086
mov edx, 4
jmp 0x140098e20
mov al, byte [rsi + 0x44]
cmp al, 0x16
jne 0x140098eaa
mov rax, qword [r12 + 0x40]
cmp dword [rax + 0x20], ecx
jmp 0x140098eb8
cmp al, 0x2f
jne 0x140098ebe
cmp word [rdi + 0x10], 0x15
je 0x140098ebe
cmp byte [rdi + 0x44], al
jne 0x140099086
mov r14d, 3
cmp byte [r13 + 0x1e3], dl
jne 0x140098f28
cmp word [rsi + 0x10], 0x16
jne 0x140098f28
cmp byte [rsi + 0x44], 0x22
jne 0x140098f28
mov rax, qword gs:[0x58]
mov ecx, dword [0x140219bc0]
mov r8d, 0x14
mov rdx, qword [rax + rcx*8]
mov eax, dword [r8 + rdx]
cmp dword [0x140219430], eax
jg 0x1400990f8
movups xmm0, xmmword [rdi + 0x18]
lea rdx, [rbp - 0x60]
lea rcx, [0x140214168]
movdqu xmmword [rbp - 0x60], xmm0
call fcn.14002c704
cmp eax, 0xffffffff
jne 0x140099086
lea edx, [rax + 5]
cmp byte [rdi + 0x44], 0x17
jne 0x140098f43
mov al, byte [r13 + 0x1e3]
cmp al, 2
jne 0x140098f3f
cmp byte [r13 + 0x2e], r15b
je 0x140098f43
cmp al, dl
jne 0x140098f55
mov eax, 0x8b
cmp word [rdi + 0x10], ax
jne 0x140098f6f
cmp word [rsi + 0x10], 0x47
je 0x140098f6f
mov eax, 0x91
cmp word [rsi + 0x10], ax
je 0x140098f6f
mov rax, qword [r12 + 0x28]
test byte [rax - 4], 0x10
jne 0x140099086
cmp dword [r13 + 0x6c], r15d
je 0x140098f9c
mov eax, dword [rsi + 0x40]
and eax, 0x3000
cmp eax, 0x1000
jne 0x140098f9c
cmp word [rsi + 0x10], 0x17
jne 0x140098f9c
cmp word [rdi + 0x10], 0x18
je 0x140098f9c
cmp word [rdi + 0x10], dx
jne 0x140099086
cmp word [rdi + 0x10], 0x2f
jne 0x14009906f
movzx ebx, word [rsi + 0x10]
cmp bx, 5
jne 0x140098fea
movups xmm0, xmmword [rsi + 0x18]
movaps xmmword [rbp - 0x60], xmm0
psrldq xmm0, 8
movq rax, xmm0
cmp rax, rdx
jne 0x14009900b
mov rcx, qword [rbp - 0x60]
mov r8, rdx
lea rdx, str.endl
call fcn.140116c20
test eax, eax
je 0x140099086
mov edx, 4
jmp 0x14009900b
movzx eax, bx
cmp bx, 0xf
je 0x140099005
mov r8d, 6
cmp ax, r8w
jbe 0x140099005
cmp ax, 0x12
jb 0x140099011
cmp ax, 0x12
je 0x140099011
cmp bx, 0xf
jne 0x14009906f
mov rax, qword [rsi + 0x20]
cmp rax, r14
jb 0x140099041
mov rcx, qword [rsi + 0x18]
cmp byte [rax + rcx - 3], 0x5c
jne 0x140099038
cmp byte [rax + rcx - 2], 0x6e
jne 0x140099038
cmp byte [rax + rcx - 1], 0x22
jne 0x140099038
mov eax, r15d
jmp 0x14009903d
sbb eax, eax
or eax, 1
test eax, eax
je 0x140099086
movups xmm0, xmmword [rsi + 0x18]
movaps xmmword [rbp - 0x60], xmm0
psrldq xmm0, 8
movq rax, xmm0
cmp rax, rdx
jne 0x14009906f
mov rcx, qword [rbp - 0x60]
mov r8, rdx
lea rdx, str._n
call fcn.140116c20
test eax, eax
je 0x140099086
cmp byte [rsi + 0x44], 8
jne 0x14009907b
test byte [rsi + 0x40], 2
jne 0x140099086
cmp byte [r12 + 0x11], r15b
je 0x140098c9c
mov eax, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140115e10
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movups xmm0, xmmword [rbx]
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x50]
lea rcx, [0x140214168]
movdqu xmmword [rbp - 0x60], xmm0
call fcn.140026b10
lea rax, [rbp - 0x10]
add rbx, 0x10
cmp rbx, rax
jne 0x1400990b2
lea rcx, [0x14015b13c]
call fcn.140115d00
lea rcx, [0x140219430]
call fcn.14011619c
jmp 0x140098f03
lea rcx, [0x140219430]
call fcn.1401161fc
cmp dword [0x140219430], 0xffffffff
jne 0x140098f03
lea rax, [0x1401f2bd4]
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x40], rax
lea rbx, [rbp - 0x40]
lea rax, [0x1401f2bd8]
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x30], rax
lea rax, str.function
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 8
jmp 0x1400990b2