Function at 0x471080
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, 0x48
movzx eax, word [r8 + 0x24]
mov rdi, qword [rsp + 0xb0]
and ax, 0x380
mov qword [rsp + 0x90], rcx
mov rbp, rdx
mov r15, r8
cmp ax, 0x180
mov r13, r9
jne 0x471620
mov rax, qword [r8 + 0xe0]
mov rsi, qword [rax + 0xd8]
test rsi, rsi
je 0x471620
mov rcx, qword [r8 + 0xf0]
lea r14, [rsi + 0x10]
mov rdx, r8
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x368]
call qword [rax + 0x250]
mov ecx, dword [rsi]
mov dword [rsp + 0x30], eax
mov r9, qword [rbp + 0x28]
lea rax, [rcx + rcx*2]
shl rax, 4
add rax, r14
cmp r14, rax
jae 0x4718f0
mov qword [rsp + 0x98], rbp
mov rbx, r14
mov rbp, r9
nop
cmp dword [rbx + 0x14], 4
je 0x4716d0
test byte [rbx + 0x23], 1
jne 0x4714ed
cmp qword [rbx], 0
je 0x4714ed
test byte [r15 + 0x22], 0x10
mov rdx, qword [rdi]
je 0x471151
test rdx, rdx
je 0x471838
mov eax, dword [rbx + 0x10]
lea rax, [rax + rax*2]
lea rax, [rdx + rax*8]
cmp rax, qword [rdi + 0x10]
mov qword [rdi + 8], rax
jae 0x471171
mov edx, dword [rbx + 0x18]
lea ecx, [rdx + 8]
cmp qword [rax], rcx
je 0x471188
lea rcx, str..._.._.._src_binutils_2.32_bfd_elf_eh_frame.c
mov edx, 0x5ed
call fcn.00408d80
mov eax, dword [rbx + 0x18]
lea ecx, [rax + 8]
mov rdx, rdi
call r13
test eax, eax
sete al
movzx eax, al
test eax, eax
je 0x4714eb
mov rax, qword [rsp + 0x98]
test byte [rax], 1
je 0x4711e0
movzx eax, byte [rbx + 0x20]
and eax, 0x70
jne 0x471808
test byte [rbx + 0x23], 8
jne 0x4711e0
mov dword [rbp + 0x144], 0
mov eax, dword [0x005114b0]
cmp eax, 9
jle 0x471952
cmp eax, 0xa
je 0x4718b3
mov r11, qword [rbx]
and byte [rbx + 0x23], 0xfd
add dword [rbp + 0x140], 1
movzx eax, byte [r11 + 0x23]
test al, 2
je 0x471980
test byte [r11 + 0xa], 0x40
mov r12, qword [r11]
jne 0x4714e8
and eax, 0xfffffffd
test r12, r12
mov qword [r11], r15
mov byte [r11 + 0x23], al
je 0x471980
cmp byte [r12 + 0x50], 0xff
je 0x4718e0
mov eax, dword [r12 + 0x40]
lea rdx, [rax + rax*2]
mov rax, qword [rdi]
mov qword [r12 + 0x40], 0
lea rax, [rax + rdx*8]
lea rdx, [r12 + 0x40]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx + 0xf0]
cmp byte [rdx + 4], 2
je 0x471975
mov rax, qword [rax + 8]
shr rax, 8
mov r8d, eax
mov eax, eax
cmp rax, qword [rdi + 0x28]
jae 0x471780
shl rax, 5
add rax, qword [rdi + 0x18]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
jne 0x471780
mov edx, dword [rax + 0x18]
mov qword [rsp + 0x28], r11
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0x34], r8d
call fcn.0044a770
mov r11, qword [rsp + 0x28]
test rax, rax
je 0x471980
mov rdx, qword [rax + 0xc8]
test rdx, rdx
cmove rdx, rax
cmp qword [rdx + 0x68], 0
je 0x471980
mov rax, qword [rsp + 0x90]
mov byte [r12 + 9], 1
mov r8d, dword [rsp + 0x34]
movd xmm0, dword [rax + 0x3c]
movd xmm2, r8d
punpckldq xmm0, xmm2
movq qword [r12 + 0x40], xmm0
mov rax, qword [rsp + 0x98]
test byte [rax], 1
je 0x471350
test byte [r12 + 0x50], 0x70
jne 0x471350
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], r11
mov r8, r15
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x368]
call qword [rax + 0x258]
mov r11, qword [rsp + 0x28]
test eax, eax
je 0x471350
or byte [r11 + 0xa], 0xc
nop
xor r8d, r8d
mov edx, 4
mov qword [rsp + 0x38], r11
mov rcx, r12
call fcn.004af560
lea rcx, [r12 + 8]
mov edx, 1
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0xa]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x34], eax
call sub.msvcrt.dll_strlen
mov r8d, dword [rsp + 0x34]
mov rcx, qword [rsp + 0x28]
lea rdx, [rax + 1]
call fcn.004af560
lea rcx, [r12 + 0x20]
mov edx, 8
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0x28]
mov edx, 8
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0x30]
mov edx, 8
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0x38]
mov edx, 8
mov r8d, eax
call fcn.004af560
mov rcx, qword [rsp + 0x20]
mov edx, 8
mov r8d, eax
call fcn.004af560
mov edx, 8
mov r8d, eax
mov rax, qword [r12 + 0x48]
mov rcx, qword [rax]
add rcx, 0x68
call fcn.004af560
lea rcx, [r12 + 0x50]
mov edx, 1
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0x51]
mov edx, 1
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0x52]
mov edx, 1
mov r8d, eax
call fcn.004af560
lea rcx, [r12 + 0x53]
mov edx, 1
mov r8d, eax
call fcn.004af560
movzx edx, byte [r12 + 0x53]
mov ecx, 0x32
mov r8d, eax
cmp rdx, rcx
cmova rdx, rcx
lea rcx, [r12 + 0x55]
call fcn.004af560
mov rcx, qword [rbp + 0x138]
mov r11, qword [rsp + 0x38]
mov r8d, eax
mov dword [r12 + 4], eax
test rcx, rcx
je 0x471910
mov r9d, 1
mov rdx, r12
mov qword [rsp + 0x20], r11
call fcn.004af120
mov r11, qword [rsp + 0x20]
test rax, rax
je 0x471980
mov rdx, qword [rax]
test rdx, rdx
je 0x471988
movzx eax, byte [r11 + 0xa]
or byte [r11 + 0x23], 2
or eax, 0x40
mov byte [r11 + 0xa], al
mov r12, qword [rdx + 0x48]
test al, 2
mov qword [r11], r12
je 0x4714e8
or byte [r12 + 0xa], 2
nop dword [rax + rax]
mov qword [rbx], r12
mov ecx, dword [rsi]
lea rax, [rcx + rcx*2]
add rbx, 0x30
shl rax, 4
add rax, r14
cmp rbx, rax
jb 0x471120
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x471528
call fcn.004c02e0
mov eax, dword [rsi]
mov qword [rsi + 8], 0
lea rax, [rax + rax*2]
shl rax, 4
add rax, r14
xor ebp, ebp
xor r8d, r8d
cmp r14, rax
mov esi, 1
jae 0x4718fd
nop dword [rax + rax]
movzx edx, byte [r14 + 0x23]
test dl, 2
jne 0x4715e7
mov ecx, dword [r14 + 0x14]
cmp ecx, 4
je 0x4716f0
test dl, 1
je 0x471710
movzx r10d, byte [r14 + 0xa]
test r10b, 0x10
je 0x4715a8
lea r11d, [r8 + 7]
mov r8d, dword [r14 + 0x18]
and r11d, 0xfffffff8
mov dword [r14 + 0x1c], r11d
cmp r8d, r11d
je 0x4715c2
shr dl, 2
mov r8d, r11d
mov ebp, 1
mov r9d, edx
and r9d, 1
and r10d, 0x20
jne 0x4715d8
add ecx, r9d
jmp 0x4715e1
add r8d, 3
mov r9d, 1
and r8d, 0xfffffffc
cmp r8d, dword [r14 + 0x18]
mov dword [r14 + 0x1c], r8d
cmovne ebp, r9d
mov r9d, edx
shr r9b, 2
and r9d, 1
and edx, 1
je 0x4715e1
and r10d, 0x20
je 0x47159c
lea ecx, [rcx + r9 + 1]
add r9d, 1
add ecx, r9d
add r8d, ecx
add r14, 0x30
cmp r14, rax
jb 0x471540
add r8d, 3
and ebp, 1
and r8d, 0xfffffffc
mov rax, qword [r15 + 0x38]
movq xmm0, r8
movq xmm1, rax
cmp rax, r8
punpcklqdq xmm0, xmm1
movups xmmword [r15 + 0x38], xmm0
jne 0x471638
test bpl, bpl
jne 0x471638
xor eax, eax
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rdi + 0x28]
xor r12d, r12d
mov rbx, qword [rdi + 0x18]
mov rax, qword [r15 + 0xe0]
shl rsi, 5
add rsi, rbx
add rbx, 0x20
cmp rbx, rsi
mov ebp, dword [rax + 0x88]
jb 0x471671
jmp 0x4716bf
add rbx, 0x20
cmp rbx, rsi
jae 0x4716a0
cmp byte [rbx + 0x14], 1
ja 0x471668
cmp ebp, dword [rbx + 0x18]
jne 0x471668
mov rcx, qword [rbx]
mov rdx, r15
call fcn.0046f800
test rax, rax
je 0x471668
add qword [rbx], rax
add rbx, 0x20
mov r12d, 1
cmp rbx, rsi
jb 0x471671
nop
test r12d, r12d
je 0x4716bf
mov rax, qword [rsp + 0x90]
mov rdx, qword [rdi + 0x18]
mov rax, qword [rax + 0xf0]
mov qword [rax + 0xa8], rdx
mov eax, 1
jmp 0x471622
cmp qword [r15 + 0x108], 0
movzx eax, byte [rbx + 0x23]
setne dl
add edx, edx
and eax, 0xfffffffd
or eax, edx
mov byte [rbx + 0x23], al
mov ecx, dword [rsi]
jmp 0x4714ed
add r8d, 3
and r8d, 0xfffffffc
cmp r8d, dword [r14 + 0x18]
mov dword [r14 + 0x1c], r8d
cmovne ebp, esi
jmp 0x4715e4
movzx r9d, byte [r14 + 0x20]
mov r10d, r9d
not r10d
and r10d, 0x60
je 0x4717f0
and r9d, 7
je 0x471818
xor r10d, r10d
cmp r9b, 4
sete r9b
setne r10b
lea r10d, [r10*4 - 8]
movzx r9d, r9b
lea r9d, [r9*4 + 4]
lea r8d, [r8 + r9 - 1]
and r8d, r10d
cmp r8d, dword [r14 + 0x18]
mov dword [r14 + 0x1c], r8d
je 0x4717e0
shr dl, 2
mov ebp, 1
mov r9d, edx
and r9d, 1
jmp 0x4715e1
sub r8d, dword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax + r8*8]
movzx eax, byte [rcx + 0x18]
sub eax, 6
cmp al, 1
ja 0x4717af
nop word [rax + rax]
mov rcx, qword [rcx + 0x28]
movzx eax, byte [rcx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x4717a0
mov rdx, qword [rsp + 0x98]
xor r8d, r8d
mov qword [r12 + 0x40], rcx
mov qword [rsp + 0x28], r11
call fcn.0045f830
mov r11, qword [rsp + 0x28]
test eax, eax
jne 0x4712fb
jmp 0x471350
shr dl, 2
mov r9d, edx
and r9d, 1
jmp 0x4715e1
mov r10d, 0xfffffffc
mov r9d, 4
jmp 0x471752
cmp al, 0x50
je 0x4711be
jmp 0x4711e0
mov ebx, dword [rsp + 0x30]
mov r9d, 4
cmp ebx, r9d
cmovae r9d, ebx
mov r10d, r9d
neg r10d
jmp 0x471752
movzx r9d, byte [rbx + 0x20]
mov eax, r9d
not eax
test al, 0x60
je 0x4719e1
mov edx, r9d
and edx, 7
cmp dl, 3
je 0x4718cb
test r9b, 4
jne 0x4719c3
mov eax, dword [rsp + 0x30]
test dl, dl
mov r8d, eax
je 0x471881
cmp dl, 2
sete r8b
sete al
movzx eax, al
movzx r8d, r8b
add rax, rax
add r8d, r8d
mov edx, dword [rbx + 0x18]
shr r9b, 3
mov rcx, qword [rsp + 0x90]
and r9d, 1
lea rdx, [rax + rdx + 8]
add rdx, qword [r15 + 0xb0]
call fcn.0046f520
test rax, rax
setne al
movzx eax, al
jmp 0x471196
lea rcx, str.further_warnings_about_FDE_encoding_preventing_.eh_frame_hdr_generation_dropped
call fcn.00408c40
add dword [0x005114b0], 1
jmp 0x4711e0
mov eax, 4
mov r8d, 4
jmp 0x471881
lea rax, [r12 + 0x40]
mov qword [rsp + 0x20], rax
jmp 0x471350
mov rcx, qword [rsi + 8]
test rcx, rcx
jne 0x47150e
xor r8d, r8d
xor ebp, ebp
jmp 0x4715ff
mov ecx, 1
mov qword [rsp + 0x20], r11
lea r9, [fcn.004c02e0]
lea r8, [0x0046f710]
lea rdx, [0x0046f340]
call fcn.004aee00
mov r11, qword [rsp + 0x20]
test rax, rax
mov rcx, rax
mov qword [rbp + 0x138], rax
je 0x471980
mov r8d, dword [r12 + 4]
jmp 0x471494
mov rdx, qword [rsp + 0x90]
mov r8, r15
lea rcx, str.FDE_encoding_in__pB__pA__prevents_.eh_frame_hdr_table_being_created
call fcn.00408c40
add dword [0x005114b0], 1
jmp 0x4711e0
mov eax, dword [rax + 0xc]
mov r8d, eax
jmp 0x471271
mov r12, r11
jmp 0x4714e8
mov ecx, 0x88
mov qword [rsp + 0x28], rax
call sub.msvcrt.dll_malloc
mov r11, qword [rsp + 0x20]
test rax, rax
mov rcx, rax
je 0x471980
mov rdx, r12
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x28]
mov qword [r9], rax
mov r12, qword [rax + 0x48]
jmp 0x4714e8
cmp dl, 4
sete r8b
sete al
movzx eax, al
movzx r8d, r8b
shl rax, 3
shl r8d, 3
jmp 0x471881
xor eax, eax
xor r8d, r8d
jmp 0x471881