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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r15, qword [rdx + 0x28]
cmp dword [r15 + 0x40], 1
mov qword [rsp + 0xd8], r9
mov rbp, rcx
mov rbx, rdx
mov r14, r8
jne 0x14006d06b
cmp dword [r15 + 0x48], 0xd
jne 0x14006d06b
mov eax, dword [r15 + 0x6f8]
xor r8d, r8d
cmp qword [r15 + 0x638], 0
mov dword [rsp + 0x38], eax
je 0x14006c818
xor r8d, r8d
cmp qword [r15 + 0x6a8], 0
setne r8b
test byte [r14 + 0x8c], 4
je 0x14006c833
lea r8, str.elf_i386_finish_dynamic_symbol
mov edx, 0xde7
jmp 0x14006c915
cmp byte [r14 + 0x18], 2
je 0x14006c844
xor r9d, r9d
mov dword [rsp + 0x44], r9d
jmp 0x14006c87b
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x48], r8d
call fcn.140031cc9
mov dword [rsp + 0x44], 1
mov r8d, dword [rsp + 0x48]
test al, al
jne 0x14006c87b
test byte [rbx], 2
jne 0x14006c83a
xor eax, eax
test byte [r14 + 0x8c], 3
setne al
mov dword [rsp + 0x44], eax
mov rsi, qword [r14 + 0x48]
cmp rsi, 0xffffffffffffffff
je 0x14006cc8c
mov rdi, qword [r15 + 0x638]
test rdi, rdi
je 0x14006c8ad
mov rax, qword [r15 + 0x640]
mov r13, qword [r15 + 0x628]
mov r12, rdi
mov qword [rsp + 0x48], rax
jmp 0x14006c8c7
mov rax, qword [r15 + 0x678]
mov r12, qword [r15 + 0x670]
mov r13, qword [r15 + 0x668]
mov qword [rsp + 0x48], rax
cmp dword [r14 + 0x3c], 0xffffffff
jne 0x14006c8f1
cmp dword [rsp + 0x44], 0
jne 0x14006c8f1
test byte [r14 + 0x64], 0x10
jne 0x14006c8e1
test byte [rbx], 2
jne 0x14006c909
mov eax, dword [r14 + 0x60]
and eax, 0x20000ff
cmp eax, 0x200000a
jne 0x14006c909
test r12, r12
sete al
test r13, r13
sete dl
or al, dl
jne 0x14006c909
cmp qword [rsp + 0x48], 0
jne 0x14006c921
lea r8, str.elf_i386_finish_dynamic_symbol
mov edx, 0xe05
lea rcx, str._binutils_2.40_bfd_elf32_i386.c
call fcn.140004e35
mov ecx, dword [rsp + 0x38]
mov rax, rsi
xor edx, edx
div rcx
lea rdx, [rax*4]
mov qword [rsp + 0x38], rdx
cmp rdi, r12
jne 0x14006c956
mov edx, dword [r15 + 0x6fc]
sub rax, rdx
lea rax, [rax*4 + 0xc]
mov qword [rsp + 0x38], rax
mov rax, qword [r12 + 0xa0]
add rax, rsi
mov rsi, qword [r15 + 0x6f0]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
test r8d, r8d
je 0x14006c9b1
mov rdx, qword [r15 + 0x728]
mov rcx, qword [r15 + 0x6a8]
test byte [rbx], 1
mov rax, qword [r14 + 0x98]
mov rsi, qword [rdx + 8]
cmove rsi, qword [rdx]
add rax, qword [rcx + 0xa0]
mov ecx, dword [rdx + 0x10]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [r15 + 0x6a8]
mov r8, qword [r14 + 0x98]
jmp 0x14006c9b8
mov r8, qword [r14 + 0x48]
mov rcx, r12
mov rax, qword [rbp + 8]
mov edx, dword [r15 + 0x700]
mov rax, qword [rax + 0x50]
add rdx, r8
add rdx, qword [rcx + 0xa0]
test byte [rbx], 1
jne 0x14006cab8
mov r8, qword [r13 + 0x60]
mov rdi, qword [rsp + 0x38]
mov rcx, qword [r13 + 0x58]
add rcx, qword [r8 + 0x30]
add rcx, rdi
call rax
cmp dword [r15 + 0x188], 2
jne 0x14006cabf
mov rsi, qword [r14 + 0x48]
mov edi, dword [r15 + 0x6f8]
xor edx, edx
mov cl, byte [rbx]
mov r8, qword [r15 + 0x770]
mov rax, rsi
sub rax, rdi
not ecx
div rdi
mov rdx, qword [r8 + 0xa0]
and ecx, 1
add eax, eax
lea eax, [rax + rcx*2]
mov rcx, rbp
cdqe
lea rdi, [rdx + rax*8]
mov rdx, qword [r12 + 0x60]
mov rax, qword [r12 + 0x58]
mov r8, rdi
lea rax, [rsi + rax + 2]
add rax, qword [rdx + 0x30]
lea rsi, [rsp + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r15 + 0xc8]
mov rdx, rsi
mov eax, dword [rax + 0x38]
shl eax, 8
inc eax
mov qword [rsp + 0x60], rax
call fcn.140071114
mov rax, qword [r15 + 0x628]
mov rcx, qword [rsp + 0x38]
lea r8, [rdi + 8]
mov rdx, qword [rax + 0x60]
mov rax, qword [rax + 0x58]
add rax, qword [rdx + 0x30]
mov rdx, rsi
add rax, rcx
mov rcx, rbp
mov qword [rsp + 0x58], rax
mov rax, qword [r15 + 0xd0]
mov eax, dword [rax + 0x38]
shl eax, 8
inc eax
mov qword [rsp + 0x60], rax
call fcn.140071114
jmp 0x14006cabf
mov rcx, qword [rsp + 0x38]
call rax
cmp dword [rsp + 0x44], 0
jne 0x14006cd73
cmp dword [r15 + 0x6fc], 0
je 0x14006cb03
mov rax, qword [r15 + 0x720]
mov rdx, qword [rsp + 0x38]
add rdx, qword [r13 + 0xa0]
mov ecx, dword [rax + 0x5c]
mov rax, qword [r12 + 0x60]
add rcx, qword [r14 + 0x48]
add rcx, qword [r12 + 0x58]
add rcx, qword [rax + 0x30]
mov rax, qword [rbp + 8]
call qword [rax + 0x50]
mov rdx, qword [r13 + 0x60]
mov rdi, qword [rsp + 0x38]
mov rax, qword [r13 + 0x58]
add rax, qword [rdx + 0x30]
add rax, rdi
lea rdi, [rsp + 0x58]
mov qword [rsp + 0x58], rax
mov eax, dword [r14 + 0x3c]
cmp eax, 0xffffffff
je 0x14006cb50
test byte [rbx], 2
je 0x14006cb3a
test byte [r14 + 0x61], 3
je 0x14006cbe7
mov edx, dword [r14 + 0x60]
and edx, 0x20000ff
cmp edx, 0x200000a
jne 0x14006cbe7
mov rcx, qword [r14 + 0x28]
mov rax, qword [rbx + 0x20]
mov rdx, qword [r14 + 8]
mov r8, qword [rcx + 0xe0]
lea rcx, str.Local_IFUNC_function___s_in__pB_n
call qword [rax + 0x68]
mov rax, qword [r14 + 0x28]
mov rdx, qword [rsp + 0x38]
add rdx, qword [r13 + 0xa0]
mov rcx, qword [rax + 0x58]
mov rax, qword [rax + 0x60]
add rcx, qword [r14 + 0x30]
add rcx, qword [rax + 0x30]
mov rax, qword [rbp + 8]
call qword [rax + 0x50]
mov rax, qword [r15 + 0x838]
mov qword [rsp + 0x60], 0x2a
test byte [rax + 1], 2
je 0x14006cbd3
mov qword [rsp + 0x28], rdi
mov rdx, qword [rsp + 0x48]
mov r8, r14
mov rcx, rbx
lea rax, str.R_386_IRELATIVE
mov r9, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.14003119a
mov rsi, qword [r15 + 0x768]
lea rax, [rsi - 1]
mov qword [r15 + 0x768], rax
jmp 0x14006cc04
mov rsi, qword [r15 + 0x760]
shl eax, 8
add eax, 7
mov qword [rsp + 0x60], rax
lea rax, [rsi + 1]
mov qword [r15 + 0x760], rax
mov rax, qword [rsp + 0x48]
shl rsi, 3
mov rdx, rdi
mov rcx, rbp
mov r8, qword [rax + 0xa0]
add r8, rsi
call fcn.140071114
cmp qword [r15 + 0x638], r12
jne 0x14006cd42
cmp dword [r15 + 0x6fc], 0
je 0x14006cd42
mov rax, qword [r15 + 0x720]
mov rcx, rsi
mov edx, dword [rax + 0x4c]
mov rax, qword [rbp + 8]
add rdx, qword [r14 + 0x48]
add rdx, qword [r12 + 0xa0]
call qword [rax + 0x50]
mov rax, qword [r15 + 0x720]
mov rdx, qword [r12 + 0xa0]
mov rcx, 0xfffffffffffffffc
mov eax, dword [rax + 0x50]
add rax, qword [r14 + 0x48]
add rdx, rax
sub rcx, rax
mov rax, qword [rbp + 8]
call qword [rax + 0x50]
jmp 0x14006cd42
mov r9, qword [r14 + 0x90]
cmp r9, 0xffffffffffffffff
je 0x14006cd3b
mov rax, qword [r14 + 0x40]
mov r8, qword [r15 + 0x6b8]
mov rdx, qword [r15 + 0x620]
mov rdi, qword [r15 + 0x628]
cmp rax, 0xffffffffffffffff
je 0x14006cccb
test r8, r8
je 0x14006cccb
test rdx, rdx
je 0x14006cccb
test rdi, rdi
jne 0x14006ccdc
lea r8, str.elf_i386_finish_dynamic_symbol
mov edx, 0xebc
jmp 0x14006c915
mov rsi, qword [rdx + 0x60]
mov rcx, qword [r15 + 0x728]
add rax, qword [rdx + 0x58]
mov rdx, qword [rcx + 8]
add rax, qword [rsi + 0x30]
mov rsi, qword [rcx]
test byte [rbx], 1
je 0x14006cd0a
mov rsi, qword [rdi + 0x60]
sub rax, qword [rsi + 0x30]
mov rsi, rdx
sub rax, qword [rdi + 0x58]
mov rdx, qword [r8 + 0xa0]
mov ecx, dword [rcx + 0x10]
add rdx, r9
mov rdi, rdx
rep movsb byte [rdi], byte [rsi]
mov rcx, rax
mov rdx, qword [r15 + 0x728]
mov edx, dword [rdx + 0x14]
add rdx, r9
add rdx, qword [r8 + 0xa0]
mov r8, qword [rbp + 8]
call qword [r8 + 0x50]
cmp dword [rsp + 0x44], 0
jne 0x14006cd73
test byte [r14 + 0x63], 2
jne 0x14006cd73
cmp qword [r14 + 0x48], 0xffffffffffffffff
jne 0x14006cd5a
cmp qword [r14 + 0x90], 0xffffffffffffffff
je 0x14006cd73
mov rax, qword [rsp + 0xd8]
xor ecx, ecx
mov dword [rax + 0x18], ecx
test byte [r14 + 0x65], 4
jne 0x14006cd73
xor edx, edx
mov qword [rax], rdx
mov r9, qword [rsp + 0xd8]
mov rdx, r15
mov r8, r14
mov rcx, rbx
call fcn.140031117
mov rdx, qword [r14 + 0x40]
cmp rdx, 0xffffffffffffffff
je 0x14006cfdb
mov al, byte [r14 + 0x88]
mov ecx, eax
and ecx, 0xfffffff7
cmp cl, 2
je 0x14006cfdb
cmp al, 8
je 0x14006cfdb
test al, 4
jne 0x14006cfdb
cmp dword [rsp + 0x44], 0
jne 0x14006cfdb
mov rsi, qword [r15 + 0x630]
mov r8, qword [r15 + 0x620]
test rsi, rsi
je 0x14006cddf
test r8, r8
jne 0x14006cdf0
lea r8, str.elf_i386_finish_dynamic_symbol
mov edx, 0xef9
jmp 0x14006c915
mov rcx, qword [r8 + 0x60]
mov rax, rdx
and rax, 0xfffffffffffffffe
add rax, qword [r8 + 0x58]
add rax, qword [rcx + 0x30]
mov qword [rsp + 0x58], rax
mov eax, dword [r14 + 0x60]
and eax, 0x20000ff
cmp eax, 0x200000a
jne 0x14006cf0d
mov rcx, qword [r14 + 0x48]
cmp rcx, 0xffffffffffffffff
jne 0x14006cea5
cmp qword [r15 + 0x638], 0
jne 0x14006ce37
mov rsi, qword [r15 + 0x678]
mov rdx, r14
mov rcx, rbx
call fcn.140031cc9
test al, al
je 0x14006cf68
mov rcx, qword [r14 + 0x28]
mov rax, qword [rbx + 0x20]
mov rdx, qword [r14 + 8]
mov r8, qword [rcx + 0xe0]
lea rcx, str.Local_IFUNC_function___s_in__pB_n
call qword [rax + 0x68]
mov rax, qword [r14 + 0x28]
mov rcx, qword [r15 + 0x620]
mov rdx, qword [r14 + 0x40]
add rdx, qword [rcx + 0xa0]
mov rcx, qword [rax + 0x58]
mov rax, qword [rax + 0x60]
add rcx, qword [r14 + 0x30]
add rcx, qword [rax + 0x30]
mov rax, qword [rbp + 8]
call qword [rax + 0x50]
mov edx, 0x2a
lea rax, str.R_386_IRELATIVE
jmp 0x14006cf94
test byte [rbx], 1
jne 0x14006cf68
test byte [r14 + 0x65], 4
jne 0x14006cec6
lea r8, str.elf_i386_finish_dynamic_symbol
mov edx, 0xf2c
jmp 0x14006c915
mov rax, qword [r15 + 0x6a8]
test rax, rax
je 0x14006cedb
mov rcx, qword [r14 + 0x98]
jmp 0x14006ceee
mov rax, qword [r15 + 0x638]
test rax, rax
jne 0x14006ceee
mov rax, qword [r15 + 0x670]
add rcx, qword [rax + 0x58]
add rdx, qword [r8 + 0xa0]
mov r8, qword [rax + 0x60]
mov rax, qword [rbp + 8]
add rcx, qword [r8 + 0x30]
call qword [rax + 0x50]
jmp 0x14006cfe2
test byte [rbx], 1
je 0x14006cf50
mov rdx, r14
mov rcx, rbx
call fcn.140031cc9
test al, al
je 0x14006cf50
test byte [r14 + 0x40], 1
jne 0x14006cf39
mov edx, 0xf45
lea rcx, str._binutils_2.40_bfd_elf32_i386.c
call fcn.140004e1a
cmp byte [rbx + 3], 0
mov edx, 8
lea rax, str.R_386_RELATIVE
jns 0x14006cf94
jmp 0x14006cfdb
test byte [r14 + 0x40], 1
je 0x14006cf68
mov edx, 0xf50
lea rcx, str._binutils_2.40_bfd_elf32_i386.c
call fcn.140004e1a
mov rax, qword [r15 + 0x620]
mov rdx, qword [r14 + 0x40]
xor ecx, ecx
add rdx, qword [rax + 0xa0]
mov rax, qword [rbp + 8]
call qword [rax + 0x50]
mov eax, dword [r14 + 0x3c]
shl eax, 8
add eax, 6
mov qword [rsp + 0x60], rax
jmp 0x14006cfcb
mov qword [rsp + 0x60], rdx
mov rdx, qword [r15 + 0x838]
test byte [rdx + 1], 2
je 0x14006cfcb
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r8, r14
mov rcx, rbx
mov qword [rsp + 0x28], rdx
mov r9, qword [rsp + 0xd8]
mov rdx, rsi
call fcn.14003119a
lea r8, [rsp + 0x58]
mov rdx, rsi
mov rcx, rbp
call fcn.14005920f
cmp byte [r14 + 0x63], 0
js 0x14006cfe9
mov al, 1
jmp 0x14006d06d
mov eax, dword [r14 + 0x3c]
cmp eax, 0xffffffff
je 0x14006d016
mov bl, byte [r14 + 0x18]
lea edx, [rbx - 3]
cmp dl, 1
ja 0x14006d016
mov rcx, qword [r15 + 0x650]
test rcx, rcx
je 0x14006d016
mov r9, qword [r15 + 0x660]
test r9, r9
jne 0x14006d027
lea r8, str.elf_i386_finish_dynamic_symbol
mov edx, 0xf68
jmp 0x14006c915
mov r8, qword [r14 + 0x28]
shl eax, 8
add eax, 5
mov r10, qword [r8 + 0x60]
mov rdx, qword [r8 + 0x58]
add rdx, qword [r14 + 0x30]
add rdx, qword [r10 + 0x30]
cmp r8, qword [r15 + 0x658]
lea r8, [rsp + 0x58]
mov qword [rsp + 0x60], rax
cmove rcx, r9
mov qword [rsp + 0x58], rdx
mov rdx, rcx
mov rcx, rbp
call fcn.14005920f
jmp 0x14006cfe2
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret