Function at 0x1400ef5f0
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, 0x120
mov rax, qword [0x1401a5100]
xor rax, rsp
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x188]
mov rsi, rdx
movzx ebp, word [rsp + 0x180]
mov r10, rcx
mov r11, qword [rsp + 0x190]
mov qword [rsp + 0xe0], rax
mov rax, qword [rcx]
mov qword [rsp + 0xd8], r8
xor r8d, r8d
mov word [rsp + 0x48], r9w
mov r12d, r8d
mov qword [rsp + 0x58], rdx
mov r15d, r8d
mov r14, qword [rax]
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x90], r8
test bp, bp
je 0x1400ef693
test byte [r14 + 0x60], 0x40
jne 0x1400f00b7
movzx eax, word [rdx]
mov word [rsp + 0x8a], ax
cmp eax, 0x3f
ja 0x1400f00b7
mov edi, r8d
mov dword [rsp + 0x50], eax
mov ecx, eax
mov qword [rsp + 0xd0], r8
mov edx, 0x803
mov dword [rsp + 0x64], r8d
mov ebx, 1
mov r13b, 1
shl rbx, cl
mov rcx, r8
dec rbx
mov dword [rsp + 0x44], r13d
test dx, r9w
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xb0], rcx
setne dil
add di, 0x182
xor edx, edx
mov dword [rsp + 0x4c], edi
mov qword [rsp + 0xc0], rdx
cmp r15, rbx
jae 0x1400f0073
movzx eax, bp
cmp r8d, eax
jg 0x1400f006c
test r8d, r8d
jle 0x1400ef72a
or rcx, qword [r12 + 8]
mov qword [rsp + 0xb0], rcx
cmp r8d, eax
jge 0x1400ef758
bt r9w, 0xb
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x18]
mov r12, qword [rax + rdx*8]
mov qword [rsp + 0x80], r12
jae 0x1400ef768
mov eax, dword [rsp + 0x50]
jmp 0x1400f0032
mov r12, qword [rsp + 0xe0]
mov qword [rsp + 0x80], r12
test dword [r12 + 0x38], 0x400
jne 0x1400f0050
movzx eax, r9w
mov ecx, 0x80
and ax, cx
mov word [rsp + 0x88], ax
je 0x1400ef795
xor eax, eax
mov word [r12 + 0x1e], ax
movzx eax, byte [r12 + 0x10]
imul rcx, rax, 0x68
mov rax, qword [r10 + 8]
mov edx, dword [rcx + rax + 0x4c]
xor eax, eax
mov ebp, eax
mov dword [rsp + 0x54], edx
cmp dword [rsp + 0x50], eax
jbe 0x1400ef991
mov r13d, dword [rsp + 0x50]
nop
mov eax, ebp
bt r15, rax
jb 0x1400ef967
mov eax, ebp
shl rax, 5
add rsi, rax
mov r14d, ebp
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x1400ef962
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x1400ef816
bt eax, 0x13
jae 0x1400ef7ff
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
jmp 0x1400ef808
cmp byte [rbx], 0x72
jne 0x1400ef80d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1400ef7e5
test rbx, rbx
je 0x1400ef962
movzx eax, byte [rbx]
add al, 0x58
test al, 0xfd
jne 0x1400ef962
cmp dword [rbx + 0x2c], edx
jne 0x1400ef962
mov r9, qword [rsp + 0xb0]
lea rcx, [r10 + 0x70]
movsx r8d, word [rbx + 0x30]
not r9
movzx eax, di
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1400e9420
mov rdi, rax
test rax, rax
je 0x1400ef955
movzx r9d, word [rax + 0x14]
cmp r9w, 1
jne 0x1400ef89c
movzx edx, word [r12 + 0x3c]
xor eax, eax
mov ecx, eax
test edx, edx
je 0x1400ef894
mov r8, qword [r12 + 0x48]
movsxd rax, ecx
cmp rdi, qword [r8 + rax*8]
je 0x1400ef894
inc ecx
cmp ecx, edx
jl 0x1400ef880
jmp 0x1400ef955
cmp ecx, edx
jge 0x1400ef955
test r9b, 0x82
je 0x1400ef949
cmp word [rbx + 0x30], 0
jl 0x1400ef949
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsi + 8]
mov rbx, qword [rbx]
mov rcx, rbx
call fcn.14007ed10
mov rsi, rax
test rax, rax
jne 0x1400ef8d4
mov rax, qword [rbx]
mov rsi, qword [rax + 0x10]
mov rax, qword [rdi]
test dword [rax + 4], 0x400
je 0x1400ef8ea
mov rdi, qword [rax + 0x10]
mov rdx, qword [rax + 0x18]
jmp 0x1400ef8f2
mov rdi, qword [rax + 0x18]
mov rdx, qword [rax + 0x10]
test dword [rdx + 4], 0x200
jne 0x1400ef919
test rdi, rdi
je 0x1400ef909
test dword [rdi + 4], 0x200
jne 0x1400ef916
mov rcx, rbx
call fcn.14007ed10
test rax, rax
jne 0x1400ef926
mov rdx, rdi
mov rcx, rbx
call fcn.14007ed10
test rax, rax
je 0x1400ef955
mov rdx, qword [rsi]
mov r9, qword [rax]
sub r9, rdx
nop
movzx eax, byte [rdx]
movzx r8d, byte [r9 + rdx]
cmp eax, r8d
jne 0x1400efa1e
test eax, eax
jne 0x1400efa37
bts r15, r14
mov qword [rsp + 0x90], r15
mov edx, dword [rsp + 0x54]
mov r10, qword [rsp + 0x68]
mov edi, dword [rsp + 0x4c]
mov rsi, qword [rsp + 0x58]
inc ebp
cmp ebp, r13d
jl 0x1400ef7c0
mov r13d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x64]
mov r11, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb8]
mov qword [rsp + 0x78], r15
mov eax, dword [r12 + 0x38]
bt eax, 0xc
jb 0x1400efee4
bt eax, 8
jae 0x1400efa5e
cmp qword [r12 + 0x28], 0
je 0x1400efa3f
test dword [r14 + 0x60], 0x10000000
jne 0x1400efa3f
lea rax, [rsp + 0x90]
mov r9d, edx
mov qword [rsp + 0x30], rax
mov rdx, r12
mov qword [rsp + 0x28], r11
mov rcx, r10
mov qword [rsp + 0x20], rsi
call fcn.1400ef490
mov r15, qword [rsp + 0x90]
mov qword [rsp + 0x78], r15
test eax, eax
je 0x1400efa3f
xor r8d, r8d
xor r13b, r13b
mov qword [rsp + 0xa0], r8
mov dword [rsp + 0x44], r13d
mov ebp, r13d
movzx ecx, r8w
mov word [rsp + 0x70], r8w
mov r11d, r8d
jmp 0x1400efaaa
lea r10, [0x14017c790]
movzx ecx, byte [rax + r10]
movzx eax, byte [r8 + r10]
cmp ecx, eax
jne 0x1400ef955
inc rdx
jmp 0x1400ef930
mov ebp, dword [rsp + 0x44]
xor r8d, r8d
mov r11d, r8d
mov qword [rsp + 0xa0], r8
mov word [rsp + 0x70], r8w
mov ecx, 1
jmp 0x1400efaaa
mov r11, qword [r12 + 0x20]
mov qword [rsp + 0xa0], r11
test r11, r11
je 0x1400f00b7
test byte [r11 + 0x64], 4
jne 0x1400f00b7
cmp byte [r11 + 0x62], 0
movzx ecx, word [r11 + 0x5e]
mov word [rsp + 0x70], cx
movzx ecx, word [r11 + 0x60]
je 0x1400efaa0
bt eax, 0xf
jb 0x1400efaa0
mov bpl, 1
jmp 0x1400efaa3
xor bpl, bpl
xor r8d, r8d
mov dword [rsp + 0x44], ebp
xor al, al
xor dl, dl
xor dil, dil
mov byte [rsp + 0x41], al
movzx eax, cx
mov r13d, r8d
mov byte [rsp + 0x40], dl
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x98], eax
test eax, eax
je 0x1400efedf
movzx r10d, word [r12 + 0x18]
mov bl, 1
cmp r13d, r10d
jge 0x1400efb4a
movzx eax, word [r12 + 0x3e]
cmp r13d, eax
jl 0x1400efb4a
mov r9, qword [r12 + 0x48]
movsxd rax, r13d
mov rcx, qword [r9 + rax*8]
movzx eax, word [rcx + 0x14]
test word [rsp + 0x4c], ax
je 0x1400efb1f
mov ecx, 0x180
test cx, ax
movzx eax, bpl
mov ecx, r8d
cmove ecx, eax
movzx ebp, cl
mov dword [rsp + 0x44], ebp
jmp 0x1400efea5
test bl, al
je 0x1400efb4a
mov r8, qword [rcx]
lea edx, [r13 + 1]
cmp edx, r10d
jge 0x1400efb47
nop
movsxd rax, edx
mov rcx, qword [r9 + rax*8]
cmp qword [rcx], r8
je 0x1400efb45
inc edx
cmp edx, r10d
jl 0x1400efb30
jmp 0x1400efb47
xor bl, bl
xor r8d, r8d
test r11, r11
je 0x1400efb77
mov rax, qword [r11 + 8]
movsxd rcx, r13d
movsx r15d, word [rax + rcx*2]
mov rax, qword [r11 + 0x38]
movzx r12d, byte [rcx + rax]
mov rax, qword [r11 + 0x18]
and r12b, 1
movsx ecx, word [rax + 0x34]
cmp r15d, ecx
jne 0x1400efb80
jmp 0x1400efb7a
xor r12b, r12b
mov r15d, 0xffffffff
test bpl, bpl
je 0x1400efbbc
test r15d, r15d
js 0x1400efbac
cmp r13d, r10d
jl 0x1400efbbc
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [r11 + 0x18]
mov rcx, qword [rax + 8]
test byte [rcx + rdx*8 + 8], 0xf
jne 0x1400efbbc
mov byte [rsp + 0x44], 0
jmp 0x1400efbbc
cmp r15d, 0xfffffffe
movzx ebp, bpl
cmove ebp, r8d
mov dword [rsp + 0x44], ebp
mov r14d, r8d
test bl, bl
je 0x1400efdec
nop word [rax + rax]
cmp r14d, dword [rsp + 0x50]
jge 0x1400efde8
mov rcx, qword [rsp + 0x78]
mov eax, r14d
bt rcx, rax
jb 0x1400efd54
movsxd rbp, r14d
mov rdx, rbp
shl rdx, 5
mov rdx, qword [rdx + rsi + 8]
test rdx, rdx
je 0x1400efd54
mov eax, dword [rdx + 4]
test eax, 0x82000
je 0x1400efc36
bt eax, 0x13
jae 0x1400efc1f
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + 8]
jmp 0x1400efc28
cmp byte [rdx], 0x72
jne 0x1400efc2d
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400efc05
test rdx, rdx
je 0x1400efd54
test byte [rsp + 0x48], 0xc0
mov ecx, r8d
movzx eax, bl
cmovne ecx, eax
movzx ebx, cl
movzx esi, cl
cmp r15d, 0xffffffff
jl 0x1400efc7e
movzx eax, byte [rdx]
cmp al, 0xa8
je 0x1400efc5f
cmp al, 0xaa
jne 0x1400efd54
mov eax, dword [rsp + 0x54]
cmp dword [rdx + 0x2c], eax
jne 0x1400efd54
movsx eax, word [rdx + 0x30]
cmp eax, r15d
jne 0x1400efd54
movsxd rdi, r13d
jmp 0x1400efcda
mov rax, qword [r11 + 0x50]
movsxd rdi, r13d
mov rcx, rdi
shl rcx, 5
mov r8, qword [rcx + rax + 8]
test r8, r8
je 0x1400efcb0
test dword [r8 + 4], 0x2000
je 0x1400efcb0
mov r8, qword [r8 + 0x10]
test r8, r8
jne 0x1400efc96
nop dword [rax]
test dword [rdx + 4], 0x2000
je 0x1400efcc2
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x1400efcb0
mov r9d, dword [rsp + 0x54]
xor ecx, ecx
call fcn.14008a720
mov r11, qword [rsp + 0xa0]
test eax, eax
jne 0x1400efd51
cmp r15d, 0xffffffff
je 0x1400efd7c
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
shl rbp, 5
mov rbx, qword [rax]
mov rcx, rbx
mov rdx, qword [rdx + rbp + 8]
call fcn.14007ed10
test rax, rax
jne 0x1400efd0e
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
mov r11, qword [rsp + 0xa0]
mov r8, qword [rax]
mov rax, qword [r11 + 0x40]
lea r11, [0x14017c790]
mov r9, qword [rax + rdi*8]
sub r9, r8
nop dword [rax + rax]
movzx edx, byte [r8]
movzx eax, byte [r9 + r8]
cmp edx, eax
jne 0x1400efd69
test edx, edx
jne 0x1400efd77
mov r11, qword [rsp + 0xa0]
movzx ebx, sil
test edx, edx
je 0x1400efd7c
xor r8d, r8d
inc r14d
test bl, bl
je 0x1400efde8
mov rsi, qword [rsp + 0x58]
jmp 0x1400efbd0
movzx ecx, byte [rax + r11]
movzx edx, byte [rdx + r11]
sub edx, ecx
jne 0x1400efd41
inc r8
jmp 0x1400efd30
cmp word [rsp + 0x88], 0
je 0x1400efd97
mov rcx, qword [rsp + 0x80]
lea eax, [r13 + 1]
mov word [rcx + 0x1e], ax
test byte [rsp + 0x48], 0x40
mov r9b, 1
mov rsi, qword [rsp + 0x58]
jne 0x1400efe43
movzx edi, byte [rsp + 0x41]
movsxd rax, r14d
shl rax, 5
movzx edx, byte [rax + rsi + 0x18]
and dl, r9b
test dil, dil
je 0x1400efe1e
movzx r8d, byte [rsp + 0x40]
xor eax, eax
xor r12b, r8b
mov byte [rsp + 0x40], r8b
cmp r12b, dl
mov byte [rsp + 0x41], dil
mov ecx, eax
movzx eax, r9b
cmove ecx, eax
test cl, cl
jne 0x1400efe43
mov edi, dword [rsp + 0x60]
mov r12, qword [rsp + 0x80]
test r13d, r13d
je 0x1400efe07
movzx eax, word [rsp + 0x70]
cmp r13d, eax
jge 0x1400efec1
mov r15, qword [rsp + 0x78]
xor r13b, r13b
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x44], r13d
jmp 0x1400efed0
xor dl, r12b
mov byte [rsp + 0x40], dl
je 0x1400efe3e
mov rdx, qword [rsp + 0xa8]
movsxd rax, dword [rsp + 0x64]
mov rcx, qword [rdx]
bts rcx, rax
mov qword [rdx], rcx
mov byte [rsp + 0x41], r9b
mov r12, qword [rsp + 0x80]
movsxd rcx, r14d
mov rax, rcx
shl rax, 5
test byte [rax + rsi + 0x18], 2
je 0x1400efe70
movzx eax, word [r12 + 0x18]
cmp r13d, eax
jne 0x1400efeb8
or dword [r12 + 0x38], 0x80000
mov edi, dword [rsp + 0x60]
cmp r15d, 0xffffffff
mov r15, qword [rsp + 0x78]
mov eax, 1
mov ebp, dword [rsp + 0x44]
movzx edi, dil
cmove edi, eax
bts r15, rcx
mov qword [rsp + 0x78], r15
xor r8d, r8d
mov qword [rsp + 0x90], r15
mov dword [rsp + 0x60], edi
inc r13d
cmp r13d, dword [rsp + 0x98]
jl 0x1400efad2
jmp 0x1400efecb
mov edi, dword [rsp + 0x60]
jmp 0x1400efdf4
mov r15, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x44]
test dil, dil
je 0x1400efee4
mov r13b, 1
mov dword [rsp + 0x44], r13d
jmp 0x1400efeed
mov r13d, dword [rsp + 0x44]
test r13b, r13b
je 0x1400effea
mov r14, qword [rsp + 0xd0]
xor ecx, ecx
or r14, qword [r12 + 8]
mov edi, ecx
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0xd0], r14
test eax, eax
je 0x1400effee
mov r12, qword [rsp + 0x68]
mov r13d, eax
nop word [rax + rax]
mov eax, edi
bt r15, rax
jb 0x1400effc8
mov eax, edi
shl rax, 5
mov ebp, edi
mov rbx, qword [rax + rsi + 8]
test rbx, rbx
je 0x1400eff55
lea rcx, [r12 + 0x258]
mov rdx, rbx
call fcn.1400e8560
mov rsi, rax
xor ecx, ecx
jmp 0x1400eff58
mov rsi, rcx
test rsi, rsi
jne 0x1400effaf
mov qword [rsp + 0xe8], rcx
mov eax, 1
mov word [rsp + 0x10c], ax
lea rax, [fcn.1400825f0]
mov qword [rsp + 0xf0], rax
lea rax, [0x140082370]
mov qword [rsp + 0xf8], rax
test rbx, rbx
je 0x1400effaf
mov rdx, rbx
lea rcx, [rsp + 0xe8]
call fcn.14007a9c0
cmp word [rsp + 0x10c], si
je 0x1400effc6
mov rax, r14
not rax
test rsi, rax
jne 0x1400effc6
bts r15, rbp
mov qword [rsp + 0x90], r15
xor ecx, ecx
mov rsi, qword [rsp + 0x58]
inc edi
cmp edi, r13d
jl 0x1400eff20
mov r12, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x44]
mov qword [rsp + 0x78], r15
mov eax, dword [rsp + 0x50]
mov r10, qword [rsp + 0x68]
movzx r9d, word [rsp + 0x48]
mov r8d, dword [rsp + 0x64]
mov r11, qword [rsp + 0xa8]
mov edi, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xc8]
movzx ebp, word [rsp + 0x180]
mov r14, qword [rsp + 0xb8]
inc r8d
inc rdx
mov dword [rsp + 0x64], r8d
mov qword [rsp + 0xc0], rdx
test r13b, r13b
jne 0x1400ef703
jmp 0x1400f0070
cmp byte [r12 + 0x20], 0
je 0x1400f006c
mov eax, 0x280
and r9w, ax
mov eax, 0x80
cmp r9w, ax
jne 0x1400f0075
mov eax, dword [rsp + 0x50]
cmp r15, rbx
jne 0x1400f007f
movzx eax, byte [rsp + 0x8a]
jmp 0x1400f00b9
test r13b, r13b
jne 0x1400f00e9
lea ecx, [rax - 1]
test ecx, ecx
jle 0x1400f00b7
nop dword [rax + rax]
cmp ecx, 0x40
jge 0x1400f00a2
mov edx, 1
shl rdx, cl
dec rdx
jmp 0x1400f00a6
xor eax, eax
mov edx, eax
mov rax, rdx
and rax, r15
cmp rax, rdx
je 0x1400f00e4
dec ecx
test ecx, ecx
jg 0x1400f0090
xor al, al
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1401391d0
mov rbx, qword [rsp + 0x178]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movzx eax, cl
jmp 0x1400f00b9
mov al, 0xff
jmp 0x1400f00b9