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

Disassembly:
mov word [rsp + 0x20], r9w
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
mov rax, qword [rcx]
mov r12, rdx
movzx ebx, word [rsp + 0x160]
xor edx, edx
mov qword [rsp + 0x48], rdx
mov r11, rcx
mov ebp, edx
mov r14d, edx
mov rax, qword [rax]
mov qword [rsp + 0x90], rax
test bx, bx
je 0x1400adc5f
test byte [rax + 0x50], 0x80
jne 0x1400ae4bc
movzx r13d, word [r12]
mov word [rsp + 0x70], r13w
cmp r13w, 0x3f
ja 0x1400ae4bc
movzx esi, r9w
movzx r15d, r13w
mov r9d, edx
mov dword [rsp + 0x60], r15d
mov ecx, r15d
mov qword [rsp + 0xa8], rdx
mov r10d, 1
mov qword [rsp + 0x68], rdx
shl r10, cl
mov eax, 0x800
dec r10
mov dword [rsp + 0x5c], edx
and si, ax
mov qword [rsp + 0x98], r10
mov r8b, 1
mov word [rsp + 0x3c], si
setne r9b
mov dword [rsp + 0x30], r8d
add r9w, 0x182
mov qword [rsp + 0xa0], rdx
mov dword [rsp + 0x38], r9d
xor r13d, r13d
mov rdi, rdx
mov ecx, edx
cmp r14, r10
jae 0x1400ae482
movzx eax, bx
cmp ecx, eax
jg 0x1400ae47f
test ecx, ecx
jle 0x1400add02
or rdi, qword [rbp + 8]
mov qword [rsp + 0x68], rdi
cmp ecx, eax
jge 0x1400add29
mov rax, qword [rsp + 0x150]
mov rax, qword [rax + 0x18]
mov rbp, qword [rax + rdx*8]
mov qword [rsp + 0x80], rbp
test si, si
jne 0x1400ae439
jmp 0x1400add39
mov rbp, qword [rsp + 0x168]
mov qword [rsp + 0x80], rbp
mov edx, dword [rbp + 0x28]
bt edx, 0xa
jb 0x1400ae471
movzx eax, byte [rbp + 0x10]
mov esi, r13d
imul rcx, rax, 0x78
mov rax, qword [r11 + 8]
mov r10d, dword [rcx + rax + 0x50]
mov dword [rsp + 0x40], r10d
test r15d, r15d
je 0x1400adef4
mov r15, qword [rsp + 0x48]
xor edx, edx
mov r13, qword [rsp + 0x80]
mov ebp, edx
mov r14d, edx
nop dword [rax]
mov eax, esi
bt r15, rax
jb 0x1400adeca
mov rax, qword [r12 + 8]
mov rbx, qword [r14 + rax]
test rbx, rbx
je 0x1400addc5
nop word [rax + rax]
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x1400addc5
bt eax, 0x12
jae 0x1400addbc
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
jmp 0x1400addc0
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400adda0
cmp byte [rbx], 0x98
jne 0x1400adeca
cmp dword [rbx + 0x2c], r10d
jne 0x1400adeca
movsx r8d, word [rbx + 0x30]
lea rcx, [r11 + 0x60]
movzx eax, r9w
mov r9, rdi
mov qword [rsp + 0x28], rdx
not r9
mov edx, r10d
mov dword [rsp + 0x20], eax
call fcn.1400a9cf0
mov rdi, rax
test rax, rax
je 0x1400adeb1
movzx r10d, word [rax + 0x14]
cmp r10w, 1
jne 0x1400ade40
movzx r9d, word [r13 + 0x2c]
xor eax, eax
mov edx, eax
mov ecx, eax
test r9d, r9d
je 0x1400ade3b
mov rax, qword [r13 + 0x38]
cmp rdi, qword [rax]
je 0x1400ade3b
inc edx
inc rcx
add rax, 8
cmp rcx, r9
jl 0x1400ade28
cmp edx, r9d
jge 0x1400adeb1
test r10b, 0x82
je 0x1400adead
cmp word [rbx + 0x30], 0
jl 0x1400adead
mov rdx, qword [r12 + 8]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [r14 + rdx]
mov rcx, qword [rcx]
call fcn.14006b330
test rax, rax
jne 0x1400ade77
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax]
mov rax, qword [rsp + 0x140]
mov rdx, qword [rdi]
mov rcx, qword [rax]
call fcn.14006b330
test rax, rax
jne 0x1400ade9e
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax]
mov rcx, rbx
call fcn.140038430
test eax, eax
jne 0x1400adeb1
bts r15, rbp
mov rdi, qword [rsp + 0x68]
xor edx, edx
mov r9d, dword [rsp + 0x38]
mov r11, qword [rsp + 0x140]
mov r10d, dword [rsp + 0x40]
inc esi
inc rbp
add r14, 0x28
cmp esi, dword [rsp + 0x60]
jl 0x1400add80
mov edx, dword [r13 + 0x28]
mov rbp, r13
mov r8d, dword [rsp + 0x30]
xor r13d, r13d
mov qword [rsp + 0x48], r15
mov r14, r15
bt edx, 0xc
jb 0x1400ae2f5
mov r15d, 0x100
test r15d, edx
je 0x1400adf18
xor edx, edx
mov r13d, edx
mov word [rsp + 0x50], dx
lea eax, [rdx + 1]
jmp 0x1400adf4f
mov r13, qword [rbp + 0x20]
test r13, r13
je 0x1400ae4bc
test byte [r13 + 0x64], 4
jne 0x1400ae4bc
cmp byte [r13 + 0x62], 0
movzx eax, word [r13 + 0x5e]
setne r8b
mov word [rsp + 0x50], ax
movzx eax, word [r13 + 0x60]
xor edx, edx
mov dword [rsp + 0x30], r8d
xor sil, sil
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x34], 0
mov ebx, edx
mov dword [rsp + 0x58], esi
mov r11, rdx
mov dword [rsp + 0x54], edx
mov qword [rsp + 0x88], rdx
cmp dx, ax
jae 0x1400ae2f2
movzx ecx, ax
mov r10, rdx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x78], rdx
nop dword [rax]
movzx r9d, word [rbp + 0x18]
mov dil, 1
cmp ebx, r9d
jge 0x1400ae006
movzx eax, word [rbp + 0x2e]
cmp ebx, eax
jl 0x1400ae006
mov r8, qword [rbp + 0x38]
mov r10, qword [r8 + r11*8]
movzx eax, word [r10 + 0x14]
test word [rsp + 0x38], ax
je 0x1400adfd3
test r15w, ax
mov r8d, edx
movzx eax, byte [rsp + 0x30]
cmove r8d, eax
mov dword [rsp + 0x30], r8d
jmp 0x1400ae2c0
test al, 1
je 0x1400adffc
mov r10, qword [r10]
lea edx, [rbx + 1]
cmp edx, r9d
jge 0x1400adffa
movsxd rax, edx
mov rcx, qword [r8 + rax*8]
cmp qword [rcx], r10
je 0x1400adff7
inc edx
cmp edx, r9d
jl 0x1400adfe2
jmp 0x1400adffa
xor dil, dil
xor edx, edx
mov r8d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x78]
test r13, r13
je 0x1400ae02c
mov rax, qword [r13 + 8]
movsx r15d, word [rax + r11*2]
mov rax, qword [r13 + 0x38]
movzx r12d, byte [r11 + rax]
mov rax, qword [r13 + 0x18]
movsx ecx, word [rax + 0x3c]
cmp r15d, ecx
jne 0x1400ae035
jmp 0x1400ae02f
xor r12b, r12b
mov r15d, 0xffffffff
test r8b, r8b
je 0x1400ae065
test r15d, r15d
js 0x1400ae065
cmp ebx, r9d
jl 0x1400ae065
mov rax, qword [r13 + 0x18]
movzx r8d, r8b
mov rcx, qword [rax + 8]
movsxd rax, r15d
shl rax, 5
cmp byte [rax + rcx + 0x18], 0
cmove r8d, edx
mov dword [rsp + 0x30], r8d
mov ebp, edx
test dil, dil
je 0x1400ae228
cmp ebp, dword [rsp + 0x60]
jge 0x1400ae21b
mov eax, ebp
bt r14, rax
jb 0x1400ae1d6
mov r8, qword [rsp + 0x148]
movsxd r14, ebp
mov rcx, qword [r8 + 8]
lea rax, [r14 + r14*4]
lea rsi, [rax*8]
mov rcx, qword [rsi + rcx]
test rcx, rcx
je 0x1400ae0d5
nop word [rax + rax]
mov eax, dword [rcx + 4]
bt eax, 0xc
jae 0x1400ae0d5
bt eax, 0x12
jae 0x1400ae0cc
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 8]
mov rcx, qword [rcx]
jmp 0x1400ae0d0
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1400ae0b0
test byte [rsp + 0x158], 0xc0
movzx eax, dil
cmovne edx, eax
movzx edi, dl
movzx ebx, dl
cmp r15d, 0xffffffff
jl 0x1400ae115
cmp byte [rcx], 0x98
jne 0x1400ae1cf
mov eax, dword [rsp + 0x40]
cmp dword [rcx + 0x2c], eax
jne 0x1400ae1cf
movsx eax, word [rcx + 0x30]
cmp eax, r15d
jne 0x1400ae1cf
jmp 0x1400ae143
mov rax, qword [r13 + 0x50]
mov r8d, dword [rsp + 0x40]
mov rdx, qword [rax + 8]
mov rdx, qword [rdx + r10]
call fcn.140072de0
mov r11, qword [rsp + 0x88]
test eax, eax
jne 0x1400ae1cf
mov r8, qword [rsp + 0x148]
test r15d, r15d
js 0x1400ae1e7
mov rdx, qword [r8 + 8]
mov rax, qword [rsp + 0x140]
mov rdx, qword [rdx + rsi]
mov rcx, qword [rax]
call fcn.14006b330
test rax, rax
jne 0x1400ae175
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
lea rdi, [0x14013b140]
mov rax, qword [r13 + 0x40]
mov r11, qword [rsp + 0x88]
movzx edx, byte [r8]
mov r10, qword [rax + r11*8]
movzx r9d, byte [rdx + rdi]
movzx eax, byte [r10]
movzx eax, byte [rax + rdi]
sub r9d, eax
jne 0x1400ae1c7
sub r10, r8
test dl, dl
je 0x1400ae1c7
movzx edx, byte [r8 + 1]
inc r8
movzx eax, byte [r10 + r8]
movzx r9d, byte [rdx + rdi]
movzx ecx, byte [rax + rdi]
sub r9d, ecx
je 0x1400ae1a8
movzx edi, bl
test r9d, r9d
je 0x1400ae1e7
mov r14, qword [rsp + 0x48]
xor edx, edx
inc ebp
test dil, dil
je 0x1400ae21b
mov r10, qword [rsp + 0x78]
jmp 0x1400ae070
test byte [rsp + 0x158], 0x40
jne 0x1400ae27e
cmp byte [rsp + 0x35], 0
lea rcx, [r14 + r14*4]
mov rax, qword [rsp + 0x148]
mov rax, qword [rax + 8]
movzx edx, byte [rax + rcx*8 + 0x18]
je 0x1400ae259
xor r12b, byte [rsp + 0x34]
cmp r12b, dl
je 0x1400ae27e
mov ebx, dword [rsp + 0x54]
mov esi, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x30]
test r11, r11
je 0x1400ae236
movzx eax, word [rsp + 0x50]
cmp ebx, eax
jge 0x1400ae23e
xor r8b, r8b
mov dword [rsp + 0x30], r8d
mov r14, qword [rsp + 0x48]
test sil, sil
je 0x1400ae2f2
mov r8b, 1
mov dword [rsp + 0x30], r8d
jmp 0x1400ae2fe
xor dl, r12b
mov byte [rsp + 0x34], dl
je 0x1400ae279
mov rdx, qword [rsp + 0x170]
movsxd rax, dword [rsp + 0x5c]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
mov esi, dword [rsp + 0x58]
cmp r15d, 0xffffffff
mov r14, qword [rsp + 0x48]
mov eax, 1
mov ebx, dword [rsp + 0x54]
mov r15d, 0x100
mov r8d, dword [rsp + 0x30]
movzx esi, sil
cmove esi, eax
movsxd rax, ebp
mov rbp, qword [rsp + 0x80]
bts r14, rax
mov qword [rsp + 0x48], r14
xor edx, edx
mov dword [rsp + 0x58], esi
mov r10, qword [rsp + 0x78]
inc ebx
add r10, 0x28
mov dword [rsp + 0x54], ebx
inc r11
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x88], r11
cmp r11, qword [rsp + 0xb0]
jl 0x1400adf90
jmp 0x1400ae243
xor r13d, r13d
test r8b, r8b
je 0x1400ae462
mov r13, qword [rsp + 0xa8]
xor r12d, r12d
mov rbp, qword [rsp + 0x80]
mov ebx, r12d
mov r15d, dword [rsp + 0x60]
or r13, qword [rbp + 8]
mov qword [rsp + 0xa8], r13
test r15d, r15d
je 0x1400ae40b
nop
mov eax, ebx
bt r14, rax
jb 0x1400ae3ee
mov rax, qword [rsp + 0x148]
movsxd rsi, ebx
mov rax, qword [rax + 8]
lea rcx, [rsi + rsi*4]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x140]
mov rdx, rdi
add rcx, 0x288
call fcn.1400a9470
mov rbp, rax
test rax, rax
jne 0x1400ae3df
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xd0], rax
lea rax, [0x14006d9a0]
mov qword [rsp + 0xc0], rax
lea rax, [0x14006da10]
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xdc], 1
mov dword [rsp + 0xe0], r12d
test rdi, rdi
je 0x1400ae3df
mov rdx, rdi
lea rcx, [rsp + 0xb8]
call fcn.1400687f0
cmp byte [rsp + 0xdc], r12b
je 0x1400ae3ee
mov rax, r13
not rax
test rbp, rax
jne 0x1400ae3ee
bts r14, rsi
inc ebx
cmp ebx, r15d
jl 0x1400ae330
mov rbp, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x30]
mov qword [rsp + 0x48], r14
xor r13d, r13d
mov r11, qword [rsp + 0x140]
mov ecx, dword [rsp + 0x5c]
mov r9d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x68]
mov r10, qword [rsp + 0x98]
movzx ebx, word [rsp + 0x160]
movzx esi, word [rsp + 0x3c]
inc qword [rsp + 0xa0]
inc ecx
mov r12, qword [rsp + 0x148]
mov rdx, qword [rsp + 0xa0]
mov dword [rsp + 0x5c], ecx
test r8b, r8b
jne 0x1400adce1
jmp 0x1400ae47f
mov rbp, qword [rsp + 0x80]
mov r15d, dword [rsp + 0x60]
jmp 0x1400ae40e
cmp byte [rbp + 0x1d], 0
mov rcx, r10
cmove rcx, r14
mov r14, rcx
cmp r14, r10
jne 0x1400ae48b
movzx eax, byte [rsp + 0x70]
jmp 0x1400ae4be
test r8b, r8b
jne 0x1400ae4d7
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x1400ae4bc
nop dword [rax + rax]
mov edx, 1
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r14
cmp rax, rdx
je 0x1400ae4d2
dec ecx
test ecx, ecx
jg 0x1400ae4a0
xor al, al
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movzx eax, cl
jmp 0x1400ae4be
mov al, 0xff
jmp 0x1400ae4be