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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov rax, qword [0x14017e7c0]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x1b0]
xor r12d, r12d
mov rbx, qword [rsp + 0x1a8]
mov r14, r8
mov qword [rsp + 0x90], rax
mov r11, rdx
mov rax, qword [rcx]
mov rsi, rcx
mov word [rsp + 0x26], r9w
mov r15d, r12d
mov qword [rsp + 0xa8], r8
mov r10d, r12d
mov qword [rsp + 0x48], rdx
mov rbp, qword [rax]
movzx eax, word [rsp + 0x1a0]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x30], r12
test ax, ax
je 0x1400a262a
test byte [rbp + 0x4c], 0x80
jne 0x1400a2d5c
movzx r9d, word [rdx]
mov word [rsp + 0x2a], r9w
cmp r9d, 0x3f
ja 0x1400a2d5c
mov ecx, r9d
mov dword [rsp + 0x40], r9d
mov r8d, 1
mov qword [rsp + 0x78], r12
shl r8, cl
mov dil, 1
dec r8
mov dword [rsp + 0x20], edi
mov ecx, r12d
mov qword [rsp + 0x88], r8
mov rdx, r12
mov qword [rsp + 0x68], r12
mov r13d, r9d
mov dword [rsp + 0x50], ecx
mov rbp, r12
mov qword [rsp + 0x80], rdx
cmp r10, r8
jae 0x1400a2d26
movzx eax, ax
cmp ecx, eax
jg 0x1400a2d2f
test ecx, ecx
jle 0x1400a26a4
or rbp, qword [r15 + 8]
mov qword [rsp + 0x68], rbp
cmp ecx, eax
jge 0x1400a26b2
mov rax, qword [r14 + 0x18]
mov r15, qword [rax + rdx*8]
jmp 0x1400a26b5
mov r15, rbx
test dword [r15 + 0x28], 0x400
mov qword [rsp + 0x60], r15
jne 0x1400a2d1c
movzx eax, byte [r15 + 0x10]
mov r14d, r12d
imul rcx, rax, 0x78
mov rax, qword [rsi + 8]
mov edx, dword [rcx + rax + 0x50]
mov dword [rsp + 0x38], edx
test r13d, r13d
je 0x1400a28ee
nop dword [rax]
mov eax, r14d
bt r10, rax
jb 0x1400a28d3
mov eax, r14d
lea rcx, [rax + rax*4]
mov rax, qword [r11 + 8]
lea r15, [rcx*8]
mov rbx, qword [r15 + rax]
test rbx, rbx
je 0x1400a2745
nop dword [rax]
mov eax, dword [rbx + 4]
bt eax, 0xc
jae 0x1400a2745
bt eax, 0x12
jae 0x1400a273c
mov rax, qword [rbx + 0x20]
mov rcx, qword [rax + 8]
mov rbx, qword [rcx]
jmp 0x1400a2740
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400a2720
cmp byte [rbx], 0x9a
jne 0x1400a28d3
cmp dword [rbx + 0x2c], edx
jne 0x1400a28d3
lea rax, [rsi + 0x158]
mov word [rsp + 0xc8], 0x200
mov qword [rsp + 0xb0], rax
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0xb8], rax
mov rsi, r12
movsx eax, word [rbx + 0x30]
mov dword [rsp + 0xd8], eax
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xcc], 0x82
mov dword [rsp + 0xd4], edx
mov byte [rsp + 0xca], 2
call fcn.14009a4f0
mov rdi, rax
test rax, rax
je 0x1400a27f1
not rbp
mov rax, qword [rdi + 0x28]
test rbp, rax
jne 0x1400a27dc
test rax, rax
jne 0x1400a27d5
test byte [rdi + 0x1a], 2
jne 0x1400a27f4
test rsi, rsi
cmove rsi, rdi
lea rcx, [rsp + 0xb0]
call fcn.14009a4f0
mov rdi, rax
test rax, rax
jne 0x1400a27c1
mov rdi, rsi
mov rsi, qword [rsp + 0x58]
test rdi, rdi
je 0x1400a28c0
test byte [rdi + 0x1a], 2
je 0x1400a28a3
cmp word [rbx + 0x30], 0
jl 0x1400a28a3
mov r12, qword [rsp + 0x48]
mov rcx, qword [rsi]
mov rdx, qword [r12 + 8]
mov rdx, qword [r15 + rdx]
call fcn.140054850
mov rbp, qword [rsp + 0x70]
test rax, rax
jne 0x1400a283b
mov rax, qword [rbp + 0x10]
mov rdx, qword [rdi]
mov rcx, qword [rsi]
mov rbx, qword [rax]
call fcn.140054850
test rax, rax
jne 0x1400a2852
mov rax, qword [rbp + 0x10]
movzx ecx, byte [rbx]
lea r9, [0x1401585e0]
mov rdx, qword [rax]
test cl, cl
je 0x1400a288f
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
movzx ecx, cl
movzx eax, byte [rax + r9]
cmp byte [rcx + r9], al
jne 0x1400a288f
movzx ecx, byte [rbx + 1]
inc rbx
inc rdx
test cl, cl
jne 0x1400a2870
movzx eax, byte [rbx]
movzx ecx, byte [rax + r9]
movzx eax, byte [rdx]
movzx eax, byte [rax + r9]
cmp ecx, eax
jne 0x1400a28b6
mov r10, qword [rsp + 0x30]
mov eax, r14d
bts r10, rax
mov qword [rsp + 0x30], r10
jmp 0x1400a28c5
mov r10, qword [rsp + 0x30]
mov r11, r12
jmp 0x1400a28ca
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x48]
mov edx, dword [rsp + 0x38]
mov rbp, qword [rsp + 0x68]
inc r14d
mov r12d, 0
cmp r14d, r13d
jl 0x1400a26f0
mov r15, qword [rsp + 0x60]
mov edi, dword [rsp + 0x20]
mov eax, dword [r15 + 0x28]
bt eax, 0xc
jb 0x1400a2c1a
bt eax, 8
jae 0x1400a2912
mov rbp, r12
mov word [rsp + 0x28], r12w
mov eax, 1
jmp 0x1400a2942
mov rbp, qword [r15 + 0x20]
test rbp, rbp
je 0x1400a2d5c
test byte [rbp + 0x64], 4
jne 0x1400a2d5c
movzx eax, word [rbp + 0x5e]
cmp byte [rbp + 0x62], 0
mov word [rsp + 0x28], ax
movzx eax, word [rbp + 0x60]
setne dil
mov dword [rsp + 0x20], edi
xor cl, cl
movzx r9d, ax
xor r8b, r8b
mov byte [rsp + 0x24], cl
xor r13b, r13b
mov dword [rsp + 0x3c], r8d
xor r14d, r14d
mov qword [rsp + 0x98], r9
test r9, r9
je 0x1400a2c15
nop dword [rax + rax]
movzx edx, word [r15 + 0x18]
cmp r12d, edx
jge 0x1400a29a6
cmp word [r15 + 0x1a], 0
jne 0x1400a29a6
mov rax, qword [r15 + 0x30]
mov rcx, qword [rax + r14*8]
movzx eax, word [rcx + 0x1a]
test al, 0x82
je 0x1400a29a6
test al, al
jns 0x1400a2be4
xor dil, dil
mov dword [rsp + 0x20], edi
jmp 0x1400a2be4
test rbp, rbp
je 0x1400a29cb
mov rax, qword [rbp + 8]
movsx esi, word [rax + r14*2]
mov rax, qword [rbp + 0x38]
movzx r15d, byte [r14 + rax]
mov rax, qword [rbp + 0x18]
movsx ecx, word [rax + 0x40]
cmp esi, ecx
jne 0x1400a29d3
jmp 0x1400a29ce
xor r15b, r15b
mov esi, 0xffffffff
test dil, dil
je 0x1400a2a0d
test esi, esi
js 0x1400a2a0d
mov eax, edx
cmp r12d, edx
jl 0x1400a2a0d
mov rax, qword [rbp + 0x18]
movsxd rcx, esi
movzx edi, dil
mov rdx, qword [rax + 8]
lea rax, [rcx + rcx*2]
shl rax, 4
cmp byte [rax + rdx + 0x28], 0
mov edx, 0
cmove edi, edx
mov dword [rsp + 0x20], edi
jmp 0x1400a2a0f
xor edx, edx
mov dil, 1
mov ebx, edx
cmp ebx, dword [rsp + 0x40]
jge 0x1400a2b6d
mov eax, ebx
bt r10, rax
jb 0x1400a2b2c
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + 8]
mov rax, qword [rax + rcx*8]
test rax, rax
je 0x1400a2a65
nop
mov ecx, dword [rax + 4]
bt ecx, 0xc
jae 0x1400a2a65
bt ecx, 0x12
jae 0x1400a2a5c
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + 8]
mov rax, qword [rax]
jmp 0x1400a2a60
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400a2a40
mov ecx, 0x300
movzx edi, dil
test word [rsp + 0x26], cx
cmove edi, edx
cmp byte [rax], 0x9a
jne 0x1400a2b2c
mov ecx, dword [rsp + 0x38]
cmp dword [rax + 0x2c], ecx
jne 0x1400a2b2c
movsx ecx, word [rax + 0x30]
cmp ecx, esi
jne 0x1400a2b2c
test esi, esi
js 0x1400a2b42
mov rdx, qword [r11 + 8]
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x58]
mov rdx, qword [rdx + rcx*8]
mov rcx, qword [rax]
call fcn.140054850
test rax, rax
jne 0x1400a2aca
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x10]
mov r8, qword [rax]
lea r9, [0x1401585e0]
mov rax, qword [rbp + 0x40]
movzx ecx, byte [r8]
mov rdx, qword [rax + r14*8]
test cl, cl
je 0x1400a2b10
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
movzx ecx, cl
movzx eax, byte [rax + r9]
cmp byte [rcx + r9], al
jne 0x1400a2b10
movzx ecx, byte [r8 + 1]
inc r8
inc rdx
test cl, cl
jne 0x1400a2af0
movzx eax, byte [rdx]
mov r10, qword [rsp + 0x30]
movzx ecx, byte [rax + r9]
movzx eax, byte [r8]
movzx eax, byte [rax + r9]
sub eax, ecx
je 0x1400a2b3d
xor edx, edx
inc ebx
test dil, dil
je 0x1400a2b6d
mov r11, qword [rsp + 0x48]
jmp 0x1400a2a14
mov r11, qword [rsp + 0x48]
mov eax, 0x100
test word [rsp + 0x26], ax
jne 0x1400a2bae
cmp byte [rsp + 0x24], 0
movsxd rax, ebx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + 8]
movzx edx, byte [rax + rcx*8 + 0x18]
je 0x1400a2b89
xor r15b, r13b
cmp r15b, dl
je 0x1400a2bae
test r14, r14
je 0x1400a2b7c
movzx eax, word [rsp + 0x28]
cmp r12d, eax
jge 0x1400a2bf5
mov r8d, dword [rsp + 0x3c]
xor al, al
mov dword [rsp + 0x20], eax
jmp 0x1400a2bfe
movzx r13d, dl
xor r13b, r15b
je 0x1400a2ba9
mov rdx, qword [rsp + 0x90]
movsxd rax, dword [rsp + 0x50]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x24], 1
mov r8d, dword [rsp + 0x3c]
test esi, esi
mov r9, qword [rsp + 0x98]
mov eax, 1
mov r15, qword [rsp + 0x60]
mov edi, dword [rsp + 0x20]
movzx r8d, r8b
cmovs r8d, eax
movsxd rax, ebx
bts r10, rax
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x30], r10
inc r12d
inc r14
cmp r14, r9
jl 0x1400a2970
jmp 0x1400a2bfa
mov r8d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x20]
mov r13d, dword [rsp + 0x40]
mov r15, qword [rsp + 0x60]
test r8b, r8b
je 0x1400a2c1e
mov al, 1
mov dword [rsp + 0x20], eax
jmp 0x1400a2c26
mov r13d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x20]
test al, al
je 0x1400a2cbf
mov rax, qword [rsp + 0x78]
xor r12d, r12d
or rax, qword [r15 + 8]
mov ebx, r12d
mov qword [rsp + 0x78], rax
test r13d, r13d
je 0x1400a2cc2
mov edi, r12d
mov r14d, r12d
mov r12, qword [rsp + 0x48]
mov r15, rax
mov eax, ebx
bt r10, rax
jb 0x1400a2cac
mov rax, qword [r12 + 8]
mov rcx, qword [rsp + 0x58]
add rcx, 0x54
mov rsi, qword [r14 + rax]
mov rdx, rsi
call fcn.14009a240
mov rbp, rax
test rax, rax
jne 0x1400a2c8c
mov edx, 1
mov rcx, rsi
call fcn.140057a20
test eax, eax
je 0x1400a2ca7
mov r10, qword [rsp + 0x30]
mov rax, r15
not rax
test rbp, rax
jne 0x1400a2cac
bts r10, rdi
mov qword [rsp + 0x30], r10
jmp 0x1400a2cac
mov r10, qword [rsp + 0x30]
inc ebx
inc rdi
add r14, 0x28
cmp ebx, r13d
jl 0x1400a2c51
mov r15, qword [rsp + 0x60]
xor r12d, r12d
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x80]
inc ecx
mov edi, dword [rsp + 0x20]
inc rdx
mov r8, qword [rsp + 0x88]
mov dword [rsp + 0x50], ecx
mov qword [rsp + 0x80], rdx
test dil, dil
je 0x1400a2d23
mov r11, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x68]
movzx eax, word [rsp + 0x1a0]
mov rbx, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
jmp 0x1400a2683
cmp byte [r15 + 0x1d], 0
jne 0x1400a2d28
cmp r10, r8
jne 0x1400a2d2f
movzx eax, byte [rsp + 0x2a]
jmp 0x1400a2d5e
test dil, dil
jne 0x1400a2d8e
movzx ecx, word [rsp + 0x2a]
dec ecx
test ecx, ecx
jle 0x1400a2d5c
nop
mov edx, 1
shl rdx, cl
dec rdx
mov rax, rdx
and rax, r10
cmp rax, rdx
je 0x1400a2d89
dec ecx
test ecx, ecx
jg 0x1400a2d40
xor al, al
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.1401386b0
mov rbx, qword [rsp + 0x198]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, cl
jmp 0x1400a2d5e
mov al, 0xff
jmp 0x1400a2d5e