Function at 0x1400a6840
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 rdi
push r12
push r14
sub rsp, 0x100
xor eax, eax
mov r14, r8
mov r12d, eax
mov qword [rsp + 0x40], rax
mov edi, eax
mov r11, rdx
movzx eax, word [rsp + 0x140]
mov r10, rcx
test ax, ax
je 0x1400a68af
mov rax, qword [rcx]
mov r10, qword [rax]
test byte [r10 + 0x60], 0x40
je 0x1400a689f
xor al, al
add rsp, 0x100
pop r14
pop r12
pop rdi
ret
mov r10, qword [rsp + 0x120]
movzx eax, word [rsp + 0x140]
mov qword [rsp + 0xf0], rbp
movzx ebp, word [rdx]
mov word [rsp + 0x72], bp
cmp bp, 0x3f
jbe 0x1400a68cc
xor al, al
jmp 0x1400a71d1
mov qword [rsp + 0xf8], rbx
mov ebx, 1
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xe0], r13
mov r13b, 1
mov qword [rsp + 0xd8], r15
movzx r15d, bp
xor ebp, ebp
mov r8d, ebp
mov dword [rsp + 0x30], r13d
mov ecx, r15d
mov dword [rsp + 0x58], r15d
shl rbx, cl
mov edx, ebp
dec rbx
mov qword [rsp + 0x78], rbp
mov ecx, 0x803
mov qword [rsp + 0x80], rbx
test cx, r9w
mov qword [rsp + 0x68], rbp
mov ecx, ebp
mov qword [rsp + 0x88], rdx
setne r8b
mov dword [rsp + 0x54], ecx
add r8w, 0x182
mov esi, ebp
mov dword [rsp + 0x38], r8d
nop dword [rax]
cmp rdi, rbx
jae 0x1400a7167
movzx eax, ax
cmp ecx, eax
jg 0x1400a7164
test ecx, ecx
jle 0x1400a6972
or rsi, qword [r12 + 8]
mov qword [rsp + 0x68], rsi
cmp ecx, eax
jge 0x1400a6994
mov rax, qword [r14 + 0x18]
mov r12, qword [rax + rdx*8]
mov eax, 0x800
mov qword [rsp + 0x60], r12
test ax, r9w
jne 0x1400a7118
jmp 0x1400a69a1
mov r12, qword [rsp + 0x148]
mov qword [rsp + 0x60], r12
test dword [r12 + 0x38], 0x400
jne 0x1400a7148
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x70], ax
je 0x1400a69c9
mov word [r12 + 0x1e], bp
movzx eax, byte [r12 + 0x10]
imul rcx, rax, 0x68
mov rax, qword [r10 + 8]
mov edx, dword [rcx + rax + 0x4c]
mov dword [rsp + 0x48], edx
test r15d, r15d
jle 0x1400a6b54
mov r13d, dword [rsp + 0x58]
lea r14, [r11 + 8]
xor r15d, r15d
mov eax, ebp
bt rdi, rax
jb 0x1400a6b34
mov rbx, qword [r14]
test rbx, rbx
je 0x1400a6b34
nop dword [rax]
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1400a6a38
bt eax, 0x13
jae 0x1400a6a2a
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1400a6a2e
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400a6a10
jmp 0x1400a6b34
test rbx, rbx
je 0x1400a6b34
movzx eax, byte [rbx]
add al, 0x59
test al, 0xfd
jne 0x1400a6b34
cmp dword [rbx + 0x2c], edx
jne 0x1400a6b34
movzx eax, r8w
lea rcx, [r10 + 0x70]
movsx r8d, word [rbx + 0x30]
mov r9, rsi
not r9
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1400a13a0
mov rsi, rax
test rax, rax
je 0x1400a6b1e
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1400a6ab8
movzx edx, word [r12 + 0x3c]
xor ecx, ecx
test edx, edx
jle 0x1400a6ab4
mov r8, qword [r12 + 0x48]
movsxd rax, ecx
cmp rsi, qword [r8 + rax*8]
je 0x1400a6ab4
inc ecx
cmp ecx, edx
jl 0x1400a6aa5
cmp ecx, edx
jge 0x1400a6b1e
test r9b, 0x82
je 0x1400a6b0e
cmp word [rbx + 0x30], 0
jl 0x1400a6b0e
mov rbx, qword [rsp + 0x120]
mov rdx, qword [r14]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14004a0f0
mov rdi, rax
test rax, rax
jne 0x1400a6aea
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.14004a510
test rax, rax
je 0x1400a6b19
mov rdx, qword [rax]
mov rcx, qword [rdi]
call fcn.14000ad40
mov rdi, qword [rsp + 0x40]
test eax, eax
jne 0x1400a6b1e
bts rdi, r15
mov qword [rsp + 0x40], rdi
jmp 0x1400a6b1e
mov rdi, qword [rsp + 0x40]
mov edx, dword [rsp + 0x48]
mov r10, qword [rsp + 0x120]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
inc ebp
inc r15
add r14, 0x20
cmp ebp, r13d
jl 0x1400a69f4
mov r13d, dword [rsp + 0x30]
movzx r9d, word [rsp + 0x138]
mov eax, dword [r12 + 0x38]
bt eax, 0xc
jb 0x1400a6fd8
bt eax, 8
jae 0x1400a6b84
mov esi, dword [rsp + 0x30]
xor ebp, ebp
mov r13d, ebp
mov qword [rsp + 0x90], rbp
mov word [rsp + 0x50], bp
lea ecx, [rbp + 1]
jmp 0x1400a6bcf
mov r13, qword [r12 + 0x20]
mov qword [rsp + 0x90], r13
test r13, r13
je 0x1400a71a6
test byte [r13 + 0x64], 4
jne 0x1400a71a6
cmp byte [r13 + 0x62], 0
movzx ecx, word [r13 + 0x5e]
mov word [rsp + 0x50], cx
movzx ecx, word [r13 + 0x60]
je 0x1400a6bc6
bt eax, 0xf
jb 0x1400a6bc6
mov sil, 1
jmp 0x1400a6bc9
xor sil, sil
xor ebp, ebp
mov dword [rsp + 0x30], esi
xor al, al
xor r11b, r11b
mov byte [rsp + 0x35], al
mov r15d, ebp
mov byte [rsp + 0x34], al
movzx eax, cx
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x74], eax
test eax, eax
jle 0x1400a6fd1
movzx r10d, word [r12 + 0x18]
mov bl, 1
cmp r15d, r10d
jge 0x1400a6c77
movzx eax, word [r12 + 0x3e]
cmp r15d, eax
jl 0x1400a6c77
mov r9, qword [r12 + 0x48]
movsxd rax, r15d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test ax, r8w
je 0x1400a6c47
movzx r9d, word [rsp + 0x138]
mov ecx, 0x180
test cx, ax
movzx eax, sil
mov ecx, ebp
cmove ecx, eax
movzx esi, cl
mov dword [rsp + 0x30], esi
jmp 0x1400a6f9c
test al, 1
je 0x1400a6c77
mov r8, qword [rcx]
lea edx, [r15 + 1]
cmp edx, r10d
jge 0x1400a6c77
nop word [rax + rax]
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1400a6c75
inc edx
cmp edx, r10d
jl 0x1400a6c60
jmp 0x1400a6c77
xor bl, bl
test r13, r13
je 0x1400a6ca8
mov rax, qword [r13 + 8]
movsxd rcx, r15d
movsx r14d, word [rax + rcx*2]
mov rax, qword [r13 + 0x38]
movzx r12d, byte [rcx + rax]
mov rax, qword [r13 + 0x18]
and r12b, 1
movsx ecx, word [rax + 0x34]
cmp r14d, ecx
jne 0x1400a6caf
or r14d, 0xffffffff
jmp 0x1400a6caf
or r14d, 0xffffffff
xor r12b, r12b
test sil, sil
je 0x1400a6ce8
test r14d, r14d
js 0x1400a6cd9
cmp r15d, r10d
jl 0x1400a6cd9
movsxd rax, r14d
movzx esi, sil
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
cmove esi, ebp
cmp r14d, 0xfffffffe
movzx eax, sil
cmove eax, ebp
mov byte [rsp + 0x30], al
test bl, bl
je 0x1400a6e65
cmp ebp, dword [rsp + 0x58]
jge 0x1400a6e60
mov eax, ebp
bt rdi, rax
jb 0x1400a6e56
mov rsi, qword [rsp + 0x128]
movsxd rax, ebp
shl rax, 5
add rsi, rax
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x1400a6e56
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1400a6d4d
bt eax, 0x13
jae 0x1400a6d3f
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1400a6d43
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400a6d25
jmp 0x1400a6e56
test rdx, rdx
je 0x1400a6e56
test byte [rsp + 0x138], 0xc0
mov ecx, 0
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
movzx edi, cl
cmp r14d, 0xffffffff
jl 0x1400a6d9e
movzx eax, byte [rdx]
cmp al, 0xa7
je 0x1400a6d84
cmp al, 0xa9
jne 0x1400a6e51
mov eax, dword [rsp + 0x48]
movzx ebx, dil
cmp dword [rdx + 0x2c], eax
jne 0x1400a6e51
movsx eax, word [rdx + 0x30]
cmp eax, r14d
jmp 0x1400a6de6
mov rax, qword [r13 + 0x50]
movsxd rcx, r15d
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1400a6dc6
test dword [r8 + 4], 0x2000
je 0x1400a6dc6
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1400a6db3
test dword [rdx + 4], 0x2000
je 0x1400a6dd8
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400a6dc6
mov r9d, dword [rsp + 0x48]
xor ecx, ecx
call fcn.140053af0
test eax, eax
jne 0x1400a6e51
cmp r14d, 0xffffffff
je 0x1400a6eae
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsi + 8]
mov rbx, qword [rax]
mov rcx, rbx
call fcn.14004a0f0
test rax, rax
jne 0x1400a6e15
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
mov rax, qword [r13 + 0x40]
lea r13, [0x14022ba10]
movsxd rcx, r15d
mov r9, qword [rax + rcx*8]
sub r9, r8
nop dword [rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1400a6e98
test edx, edx
jne 0x1400a6ea9
mov r13, qword [rsp + 0x90]
movzx ebx, dil
test edx, edx
je 0x1400a6eae
mov rdi, qword [rsp + 0x40]
inc ebp
test bl, bl
jne 0x1400a6cf0
mov r11d, dword [rsp + 0x4c]
movzx r9d, word [rsp + 0x138]
mov r12, qword [rsp + 0x60]
test r15d, r15d
je 0x1400a6e86
movzx eax, word [rsp + 0x50]
cmp r15d, eax
jge 0x1400a6fb6
mov rdi, qword [rsp + 0x40]
xor r13b, r13b
mov dword [rsp + 0x30], r13d
jmp 0x1400a6fc0
movzx ecx, byte [rax + r13]
mov rax, rdx
movzx edx, byte [rdx + r13]
sub edx, ecx
jne 0x1400a6e41
inc r8
jmp 0x1400a6e30
cmp word [rsp + 0x70], 0
je 0x1400a6ec3
mov rcx, qword [rsp + 0x60]
lea eax, [r15 + 1]
mov word [rcx + 0x1e], ax
movzx r9d, word [rsp + 0x138]
test r9b, 0x40
jne 0x1400a6f36
mov rcx, qword [rsp + 0x128]
movsxd rax, ebp
shl rax, 5
cmp byte [rsp + 0x35], 0
je 0x1400a6f09
movzx ecx, byte [rax + rcx + 0x18]
xor r12b, byte [rsp + 0x34]
and cl, 1
cmp r12b, cl
sete al
test al, al
jne 0x1400a6f36
mov r11d, dword [rsp + 0x4c]
jmp 0x1400a6e6e
movzx edx, byte [rax + rcx + 0x18]
and dl, 1
xor dl, r12b
mov byte [rsp + 0x34], dl
je 0x1400a6f31
mov rdx, qword [rsp + 0x150]
movsxd rax, dword [rsp + 0x54]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x35], 1
mov rdx, qword [rsp + 0x128]
mov r12, qword [rsp + 0x60]
movsxd rcx, ebp
mov rax, rcx
shl rax, 5
test byte [rax + rdx + 0x18], 2
je 0x1400a6f68
movzx eax, word [r12 + 0x18]
cmp r15d, eax
jne 0x1400a6fac
or dword [r12 + 0x38], 0x80000
mov r11d, dword [rsp + 0x4c]
cmp r14d, 0xffffffff
mov rdi, qword [rsp + 0x40]
mov eax, 1
mov esi, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x38]
movzx r11d, r11b
cmove r11d, eax
bts rdi, rcx
mov qword [rsp + 0x40], rdi
xor ebp, ebp
mov dword [rsp + 0x4c], r11d
inc r15d
cmp r15d, dword [rsp + 0x74]
jl 0x1400a6bf3
jmp 0x1400a6fbb
mov r11d, dword [rsp + 0x4c]
jmp 0x1400a6e73
mov rdi, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x30]
xor ebp, ebp
test r11b, r11b
je 0x1400a6fda
mov r13b, 1
mov dword [rsp + 0x30], r13d
jmp 0x1400a6fe3
mov r13d, dword [rsp + 0x30]
jmp 0x1400a6fda
xor ebp, ebp
test r13b, r13b
je 0x1400a70ed
mov rax, qword [rsp + 0x78]
mov esi, ebp
or rax, qword [r12 + 8]
mov r15d, dword [rsp + 0x58]
mov qword [rsp + 0x78], rax
test r15d, r15d
jle 0x1400a70f2
mov r14, qword [rsp + 0x128]
mov r12, rax
mov r13, qword [rsp + 0x120]
add r14, 8
nop dword [rax]
mov eax, esi
bt rdi, rax
jb 0x1400a70c4
mov rbx, qword [r14]
test rbx, rbx
je 0x1400a704a
lea rcx, [r13 + 0x258]
mov rdx, rbx
call fcn.1400a0a10
mov rdi, rax
xor eax, eax
jmp 0x1400a704e
xor eax, eax
mov edi, eax
test rdi, rdi
jne 0x1400a70a4
mov dword [rsp + 0xc0], eax
mov ecx, 1
mov word [rsp + 0xbc], cx
lea rcx, [fcn.14004d2a0]
mov qword [rsp + 0xa0], rcx
lea rcx, [0x14004d0b0]
mov qword [rsp + 0xa8], rcx
test rbx, rbx
je 0x1400a70a4
mov rdx, rbx
lea rcx, [rsp + 0x98]
call fcn.140046430
cmp word [rsp + 0xbc], di
je 0x1400a70bf
mov rax, r12
not rax
test rdi, rax
mov rdi, qword [rsp + 0x40]
jne 0x1400a70c4
bts rdi, rbp
mov qword [rsp + 0x40], rdi
jmp 0x1400a70c4
mov rdi, qword [rsp + 0x40]
inc esi
inc rbp
add r14, 0x20
cmp esi, r15d
jl 0x1400a7020
mov r12, qword [rsp + 0x60]
xor ebp, ebp
mov r13d, dword [rsp + 0x30]
movzx r9d, word [rsp + 0x138]
jmp 0x1400a70f2
mov r15d, dword [rsp + 0x58]
mov r11, qword [rsp + 0x128]
mov ecx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x130]
inc qword [rsp + 0x88]
inc ecx
mov dword [rsp + 0x54], ecx
test r13b, r13b
je 0x1400a7164
mov r10, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x88]
movzx eax, word [rsp + 0x140]
jmp 0x1400a6950
cmp byte [r12 + 0x20], 0
je 0x1400a7164
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x1400a7169
cmp rdi, rbx
jne 0x1400a7170
movzx eax, byte [rsp + 0x72]
jmp 0x1400a71b1
test r13b, r13b
jne 0x1400a71af
lea ecx, [r15 - 1]
test ecx, ecx
jle 0x1400a71a6
nop dword [rax]
cmp ecx, 0x40
jge 0x1400a7192
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1400a7195
mov rdx, rbp
mov rax, rdx
and rax, rdi
cmp rax, rdx
je 0x1400a71aa
dec ecx
test ecx, ecx
jg 0x1400a7180
xor al, al
jmp 0x1400a71b1
movzx eax, cl
jmp 0x1400a71b1
mov al, 0xff
mov r13, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xf0]
add rsp, 0x100
pop r14
pop r12
pop rdi
ret