Function at 0x4a8f20
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 0x4a94c0
mov rax, qword [r8 + 0xe0]
mov rsi, qword [rax + 0xd8]
test rsi, rsi
je 0x4a94c0
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 0x4a9790
mov qword [rsp + 0x98], rbp
mov rbx, r14
mov rbp, r9
nop
cmp dword [rbx + 0x14], 4
je 0x4a9570
test byte [rbx + 0x23], 1
jne 0x4a938d
cmp qword [rbx], 0
je 0x4a938d
test byte [r15 + 0x22], 0x10
mov rdx, qword [rdi]
je 0x4a8ff1
test rdx, rdx
je 0x4a96d8
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 0x4a9011
mov edx, dword [rbx + 0x18]
lea ecx, [rdx + 8]
cmp qword [rax], rcx
je 0x4a9028
lea rcx, str..._.._.._src_binutils_2.32_bfd_elf_eh_frame.c
mov edx, 0x5ed
call fcn.0043f7a0
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 0x4a938b
mov rax, qword [rsp + 0x98]
test byte [rax], 1
je 0x4a9080
movzx eax, byte [rbx + 0x20]
and eax, 0x70
jne 0x4a96a8
test byte [rbx + 0x23], 8
jne 0x4a9080
mov dword [rbp + 0x144], 0
mov eax, dword [0x005c9af0]
cmp eax, 9
jle 0x4a97f2
cmp eax, 0xa
je 0x4a9753
mov r11, qword [rbx]
and byte [rbx + 0x23], 0xfd
add dword [rbp + 0x140], 1
movzx eax, byte [r11 + 0x23]
test al, 2
je 0x4a9820
test byte [r11 + 0xa], 0x40
mov r12, qword [r11]
jne 0x4a9388
and eax, 0xfffffffd
test r12, r12
mov qword [r11], r15
mov byte [r11 + 0x23], al
je 0x4a9820
cmp byte [r12 + 0x50], 0xff
je 0x4a9780
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 0x4a9815
mov rax, qword [rax + 8]
shr rax, 8
mov r8d, eax
mov eax, eax
cmp rax, qword [rdi + 0x28]
jae 0x4a9620
shl rax, 5
add rax, qword [rdi + 0x18]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
jne 0x4a9620
mov edx, dword [rax + 0x18]
mov qword [rsp + 0x28], r11
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0x34], r8d
call fcn.00482610
mov r11, qword [rsp + 0x28]
test rax, rax
je 0x4a9820
mov rdx, qword [rax + 0xc8]
test rdx, rdx
cmove rdx, rax
cmp qword [rdx + 0x68], 0
je 0x4a9820
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 0x4a91f0
test byte [r12 + 0x50], 0x70
jne 0x4a91f0
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 0x4a91f0
or byte [r11 + 0xa], 0xc
nop
xor r8d, r8d
mov edx, 4
mov qword [rsp + 0x38], r11
mov rcx, r12
call fcn.004e9850
lea rcx, [r12 + 8]
mov edx, 1
mov r8d, eax
call fcn.004e9850
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.004e9850
lea rcx, [r12 + 0x20]
mov edx, 8
mov r8d, eax
call fcn.004e9850
lea rcx, [r12 + 0x28]
mov edx, 8
mov r8d, eax
call fcn.004e9850
lea rcx, [r12 + 0x30]
mov edx, 8
mov r8d, eax
call fcn.004e9850
lea rcx, [r12 + 0x38]
mov edx, 8
mov r8d, eax
call fcn.004e9850
mov rcx, qword [rsp + 0x20]
mov edx, 8
mov r8d, eax
call fcn.004e9850
mov edx, 8
mov r8d, eax
mov rax, qword [r12 + 0x48]
mov rcx, qword [rax]
add rcx, 0x68
call fcn.004e9850
lea rcx, [r12 + 0x50]
mov edx, 1
mov r8d, eax
call fcn.004e9850
lea rcx, [r12 + 0x51]
mov edx, 1
mov r8d, eax
call fcn.004e9850
lea rcx, [r12 + 0x52]
mov edx, 1
mov r8d, eax
call fcn.004e9850
lea rcx, [r12 + 0x53]
mov edx, 1
mov r8d, eax
call fcn.004e9850
movzx edx, byte [r12 + 0x53]
mov ecx, 0x32
mov r8d, eax
cmp rdx, rcx
cmova rdx, rcx
lea rcx, [r12 + 0x55]
call fcn.004e9850
mov rcx, qword [rbp + 0x138]
mov r11, qword [rsp + 0x38]
mov r8d, eax
mov dword [r12 + 4], eax
test rcx, rcx
je 0x4a97b0
mov r9d, 1
mov rdx, r12
mov qword [rsp + 0x20], r11
call fcn.004e9410
mov r11, qword [rsp + 0x20]
test rax, rax
je 0x4a9820
mov rdx, qword [rax]
test rdx, rdx
je 0x4a9828
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 0x4a9388
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 0x4a8fc0
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x4a93c8
call sub.msvcrt.dll_free
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 0x4a979d
nop dword [rax + rax]
movzx edx, byte [r14 + 0x23]
test dl, 2
jne 0x4a9487
mov ecx, dword [r14 + 0x14]
cmp ecx, 4
je 0x4a9590
test dl, 1
je 0x4a95b0
movzx r10d, byte [r14 + 0xa]
test r10b, 0x10
je 0x4a9448
lea r11d, [r8 + 7]
mov r8d, dword [r14 + 0x18]
and r11d, 0xfffffff8
mov dword [r14 + 0x1c], r11d
cmp r8d, r11d
je 0x4a9462
shr dl, 2
mov r8d, r11d
mov ebp, 1
mov r9d, edx
and r9d, 1
and r10d, 0x20
jne 0x4a9478
add ecx, r9d
jmp 0x4a9481
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 0x4a9481
and r10d, 0x20
je 0x4a943c
lea ecx, [rcx + r9 + 1]
add r9d, 1
add ecx, r9d
add r8d, ecx
add r14, 0x30
cmp r14, rax
jb 0x4a93e0
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 0x4a94d8
test bpl, bpl
jne 0x4a94d8
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 0x4a9511
jmp 0x4a955f
add rbx, 0x20
cmp rbx, rsi
jae 0x4a9540
cmp byte [rbx + 0x14], 1
ja 0x4a9508
cmp ebp, dword [rbx + 0x18]
jne 0x4a9508
mov rcx, qword [rbx]
mov rdx, r15
call fcn.004a76a0
test rax, rax
je 0x4a9508
add qword [rbx], rax
add rbx, 0x20
mov r12d, 1
cmp rbx, rsi
jb 0x4a9511
nop
test r12d, r12d
je 0x4a955f
mov rax, qword [rsp + 0x90]
mov rdx, qword [rdi + 0x18]
mov rax, qword [rax + 0xf0]
mov qword [rax + 0xa8], rdx
mov eax, 1
jmp 0x4a94c2
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 0x4a938d
add r8d, 3
and r8d, 0xfffffffc
cmp r8d, dword [r14 + 0x18]
mov dword [r14 + 0x1c], r8d
cmovne ebp, esi
jmp 0x4a9484
movzx r9d, byte [r14 + 0x20]
mov r10d, r9d
not r10d
and r10d, 0x60
je 0x4a9690
and r9d, 7
je 0x4a96b8
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 0x4a9680
shr dl, 2
mov ebp, 1
mov r9d, edx
and r9d, 1
jmp 0x4a9481
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 0x4a964f
nop word [rax + rax]
mov rcx, qword [rcx + 0x28]
movzx eax, byte [rcx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x4a9640
mov rdx, qword [rsp + 0x98]
xor r8d, r8d
mov qword [r12 + 0x40], rcx
mov qword [rsp + 0x28], r11
call fcn.004976d0
mov r11, qword [rsp + 0x28]
test eax, eax
jne 0x4a919b
jmp 0x4a91f0
shr dl, 2
mov r9d, edx
and r9d, 1
jmp 0x4a9481
mov r10d, 0xfffffffc
mov r9d, 4
jmp 0x4a95f2
cmp al, 0x50
je 0x4a905e
jmp 0x4a9080
mov ebx, dword [rsp + 0x30]
mov r9d, 4
cmp ebx, r9d
cmovae r9d, ebx
mov r10d, r9d
neg r10d
jmp 0x4a95f2
movzx r9d, byte [rbx + 0x20]
mov eax, r9d
not eax
test al, 0x60
je 0x4a9881
mov edx, r9d
and edx, 7
cmp dl, 3
je 0x4a976b
test r9b, 4
jne 0x4a9863
mov eax, dword [rsp + 0x30]
test dl, dl
mov r8d, eax
je 0x4a9721
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.004a73c0
test rax, rax
setne al
movzx eax, al
jmp 0x4a9036
lea rcx, str.further_warnings_about_FDE_encoding_preventing_.eh_frame_hdr_generation_dropped
call fcn.0043f660
add dword [0x005c9af0], 1
jmp 0x4a9080
mov eax, 4
mov r8d, 4
jmp 0x4a9721
lea rax, [r12 + 0x40]
mov qword [rsp + 0x20], rax
jmp 0x4a91f0
mov rcx, qword [rsi + 8]
test rcx, rcx
jne 0x4a93ae
xor r8d, r8d
xor ebp, ebp
jmp 0x4a949f
mov ecx, 1
mov qword [rsp + 0x20], r11
lea r9, [sub.msvcrt.dll_free]
lea r8, [0x004a75b0]
lea rdx, [0x004a71e0]
call fcn.004e90f0
mov r11, qword [rsp + 0x20]
test rax, rax
mov rcx, rax
mov qword [rbp + 0x138], rax
je 0x4a9820
mov r8d, dword [r12 + 4]
jmp 0x4a9334
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.0043f660
add dword [0x005c9af0], 1
jmp 0x4a9080
mov eax, dword [rax + 0xc]
mov r8d, eax
jmp 0x4a9111
mov r12, r11
jmp 0x4a9388
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 0x4a9820
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 0x4a9388
cmp dl, 4
sete r8b
sete al
movzx eax, al
movzx r8d, r8b
shl rax, 3
shl r8d, 3
jmp 0x4a9721
xor eax, eax
xor r8d, r8d
jmp 0x4a9721