Function at 0x4e86a0
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, 0x108
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rsi, qword [rax]
mov qword [rsp + 0xf8], rsi
xor esi, esi
and edx, 2
mov esi, dword [rcx + 0x534]
mov rdi, rcx
mov qword [rsp + 0x68], rcx
lea r15, [rdi + 0x560]
mov dword [rsp + 0x84], edx
call fcn.004803b0
lea r8, [0x005965b7]
lea rdx, [0x005965ba]
mov rcx, r15
mov qword [rsp + 0x78], rax
mov rax, qword [rdi + 0x768]
mov rbp, qword [rax + 0xc0]
call fcn.004f1f60
test esi, esi
mov eax, 2
cmovns eax, esi
mov rsi, qword [0x005aafd0]
xor r14d, r14d
mov dword [rsp + 0x5c], eax
mov eax, dword [rbp + 0xc]
mov qword [rsp + 0x88], rsi
mov dword [rsp + 0x80], eax
test eax, eax
jle 0x4e88e5
mov qword [rsp + 0x50], r15
jmp 0x4e8840
mov eax, dword [r15 + 0x38]
test ah, 0x30
jne 0x4e8970
add r14d, 1
test eax, 0x40040000
jne 0x4e8832
test ah, 0x80
je 0x4e8bf0
mov ecx, dword [rsp + 0x9c]
mov r12d, dword [r15 + 0x34]
test ecx, ecx
je 0x4e8cd8
lea r11, [r15 + 0x48]
mov rax, qword [0x005aafd0]
mov r8d, r12d
mov rdx, r11
mov r9, r11
mov r10, qword [0x005ab240]
mov rbx, qword [rdx + 8]
mov r10, qword [r10]
mov r10, qword [r10 + 0xc8]
cmp qword [r10 + 0x10], 0x20
mov r10, qword [rdx]
je 0x4e8ea8
xor rbx, qword [rax + 8]
xor r10, qword [rax]
or rbx, r10
jne 0x4e87d7
mov esi, dword [rax + 0x10]
cmp dword [rdx + 0x10], esi
je 0x4e8f28
mov edx, 1
mov r10, qword [r9]
mov rbx, qword [r9 + 8]
xor r10, qword [rax]
xor rbx, qword [rax + 8]
or rbx, r10
jne 0x4e87fc
mov eax, dword [rax + 0x10]
cmp dword [r9 + 0x10], eax
je 0x4e8f02
mov eax, 1
xor eax, 1
mov dword [rsp + 0x48], ecx
mov rcx, qword [rsp + 0x50]
xor eax, 1
mov dword [rsp + 0x30], edx
mov edx, r12d
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r11
call fcn.004f3b10
cmp dword [rsp + 0x80], r14d
jle 0x4e88e0
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x50]
movsxd rax, r14d
lea rbx, [rax*8]
mov r15, qword [rdx + rax*8]
mov dword [rsp + 0x9c], 0
call fcn.004f5440
mov esi, eax
test eax, eax
jne 0x4e88e0
mov ecx, dword [r15 + 0x34]
mov rax, qword [rsp + 0x68]
lea r13, [r15 + 0x68]
mov r9d, dword [r15 + 0x40]
mov dword [rsp + 0x20], 0
mov r8, r13
and ecx, 0xf000
lea rdx, [rax + 0x58]
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x28], 0
cmp ecx, 0x4000
sete al
cmp ecx, 0xe000
sete cl
or eax, ecx
mov rcx, rbp
movzx eax, al
mov dword [rsp + 0x30], eax
call fcn.0041db50
test eax, eax
jne 0x4e8750
add r14d, 1
cmp dword [rsp + 0x80], r14d
jg 0x4e8840
nop
mov r15, qword [rsp + 0x50]
mov rcx, r15
call fcn.004f4db0
mov rcx, r15
call fcn.004f7c10
mov rdx, qword [0x005ab2b0]
movabs rax, 0x1ffffffff
and rax, qword [rdx + 8]
movabs rdx, 0x100000000
cmp rax, rdx
je 0x4e893e
call fcn.004803b0
sub rax, qword [rsp + 0x78]
lea r9, str.diff_files
mov edx, 0xfb
mov r8, rax
lea rcx, str.diff_lib.c
call fcn.004800b0
mov rax, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rdi, qword [rsp + 0xf8]
xor rdi, qword [rax]
jne 0x4e9139
xor eax, eax
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, dword [r15 + 0x40]
lea rcx, [rdi + 0x179]
call fcn.004996e0
mov r11, qword [rsp + 0x60]
mov r8, rdi
lea rcx, [rax + 0x178]
mov qword [rax], 0
mov r12, rax
mov qword [rax + 8], rcx
mov rdx, r11
call sub.msvcrt.dll_memcpy
mov eax, r12d
lea rdx, [rsp + 0xa0]
mov byte [r12 + rdi + 0x178], 0
mov qword [r12 + 0x14], 0
lea rdi, [r12 + 0x40]
mov qword [r12 + 0x1c], 0
and rdi, 0xfffffffffffffff8
mov qword [r12 + 0x24], 0
sub eax, edi
mov qword [r12 + 0x2c], 0
lea ecx, [rax + 0x178]
xor eax, eax
mov qword [r12 + 0x38], 0
shr ecx, 3
mov qword [r12 + 0x170], 0
rep stosq qword [rdi], rax
mov rcx, r15
call fcn.004e7be0
mov r11, qword [rsp + 0x60]
test eax, eax
je 0x4e8e00
mov edi, 0
js 0x4e8f10
mov rax, qword [0x005ab2f0]
mov dword [r12 + 0x10], edi
mov rcx, r11
mov dword [rsp + 0x60], edi
mov edi, esi
mov esi, dword [rsp + 0x80]
mov qword [rsp + 0x70], rax
mov eax, r14d
mov r14, rbx
mov rbx, rbp
mov rbp, r15
mov r15d, eax
jmp 0x4e8a7d
cmp dword [rsp + 0x5c], ecx
cmove rbp, r13
add r15d, 1
add r14, 8
cmp esi, r15d
jle 0x4e8b80
lea rcx, [rbp + 0x68]
mov rax, qword [rbx]
mov r13, qword [rax + r14]
lea rdx, [r13 + 0x68]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4e8b80
mov eax, dword [r13 + 0x38]
shr eax, 0xc
mov ecx, eax
and ecx, 3
test al, 2
je 0x4e8a60
lea eax, [rcx - 2]
movdqu xmm0, xmmword [r13 + 0x48]
mov r10d, dword [r13 + 0x34]
add edi, 1
cdqe
mov r8, qword [0x005aae60]
lea rdx, [rax + 1]
shl rdx, 6
add rdx, r12
movups xmmword [rdx], xmm0
movdqu xmm1, xmmword [r13 + 0x58]
mov r9d, dword [r8]
movups xmmword [rdx + 0x10], xmm1
mov edx, r10d
and edx, 0xf000
test r9d, r9d
jne 0x4e8b40
cmp edx, 0x8000
je 0x4e8e70
cmp edx, 0xa000
je 0x4e8b26
cmp edx, 0x4000
je 0x4e8d70
cmp edx, 0xe000
je 0x4e8d70
and r10d, 0x40
cmp r10d, 1
sbb edx, edx
and edx, 0xffffffb7
add edx, 0x81ed
shl rax, 6
add rax, r12
mov dword [rax + 0x3c], edx
mov byte [rax + 0x38], 0x4d
jmp 0x4e8a60
mov r8, qword [0x005ab2f0]
mov r8d, dword [r8]
test r8d, r8d
jne 0x4e8af3
cmp edx, 0x8000
jne 0x4e8af3
mov edx, dword [r13 + 0x34]
mov r11d, edx
and r11d, 0xf000
cmp r11d, 0x8000
mov r8d, 0x81a4
cmovne edx, r8d
jmp 0x4e8b26
mov rax, qword [rsp + 0x68]
mov esi, edi
mov r14d, r15d
mov edi, dword [rsp + 0x60]
mov r15, rbp
mov rbp, rbx
test byte [rax + 0x85], 0x40
je 0x4e8ba6
cmp esi, 2
je 0x4e909e
mov rcx, r12
lea r13, [r15 + 0x68]
call fcn.004c9260
mov rcx, qword [rsp + 0x50]
mov rdx, r13
call fcn.004f5630
test edi, edi
je 0x4e8bcb
mov rax, qword [rax + 8]
mov word [rax + 0x44], di
mov eax, dword [r15 + 0x38]
mov edx, eax
shr edx, 0xc
and edx, 3
cmp edx, dword [rsp + 0x5c]
je 0x4e8761
jmp 0x4e8832
lea rbx, [rsp + 0xa0]
mov rcx, r15
mov rdx, rbx
call fcn.004e7be0
test eax, eax
jne 0x4e8d80
mov rax, qword [rsp + 0x68]
mov esi, dword [rax + 0x66c]
test esi, esi
je 0x4e8c25
test byte [r15 + 0x3b], 0x20
jne 0x4e90c7
lea rax, [rsp + 0x9c]
mov rcx, qword [rsp + 0x50]
mov r8, rbx
mov rdx, r15
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x84]
call fcn.004e7870
mov rdx, qword [0x005aae60]
movzx r8d, word [rsp + 0xa6]
mov ebx, dword [rdx]
mov edx, r8d
test ebx, ebx
jne 0x4e8f70
and dx, 0xf000
cmp dx, 0x8000
je 0x4e9056
movzx ecx, dx
mov r12d, 0xa000
cmp dx, 0xa000
je 0x4e8cb6
cmp ecx, 0x4000
je 0x4e9093
cmp ecx, 0xe000
je 0x4e9093
and r8d, 0x40
cmp r8w, 1
sbb r12d, r12d
and r12d, 0xffffffb7
add r12d, 0x81ed
mov ecx, dword [rsp + 0x9c]
test eax, eax
jne 0x4e8fb8
test ecx, ecx
jne 0x4e8d4c
mov eax, dword [r15 + 0x38]
nop dword [rax]
mov edx, eax
or edx, 0x40000
mov dword [r15 + 0x38], edx
mov rdx, qword [0x005aabd0]
cmp qword [rdx], 0
je 0x4e8d30
test eax, 0x200000
jne 0x4e8d30
mov r8, qword [0x005ab2a0]
or eax, 0x240000
mov dword [rbp + 0x14], 1
movabs rdx, 0x100000000
mov dword [r15 + 0x38], eax
movabs rax, 0x1ffffffff
and rax, qword [r8 + 8]
cmp rax, rdx
jne 0x4e8fed
mov rax, qword [rsp + 0x68]
mov r10d, dword [rax + 0x5b0]
test r10d, r10d
je 0x4e8832
mov ecx, dword [rsp + 0x9c]
lea r11, [r15 + 0x48]
mov r8d, r12d
mov rax, qword [0x005aafd0]
mov r12d, dword [r15 + 0x34]
mov rdx, r11
mov r9, r11
jmp 0x4e879c
mov edx, 0xe000
jmp 0x4e8b26
js 0x4e8fe0
mov rax, qword [0x005ab240]
lea r9, [r15 + 0x48]
mov rdx, qword [r15 + 0x48]
mov rcx, qword [r9 + 8]
mov rax, qword [rax]
mov rax, qword [rax + 0xc8]
cmp qword [rax + 0x10], 0x20
mov rax, qword [0x005aafd0]
je 0x4e9109
xor rcx, qword [rax + 8]
xor rdx, qword [rax]
or rcx, rdx
je 0x4e900f
mov eax, 1
xor eax, 1
mov r8d, dword [r15 + 0x34]
mov qword [rsp + 0x28], r13
mov edx, 0x2d
xor eax, 1
mov dword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.004f3f10
jmp 0x4e8832
mov rcx, qword [0x005aae60]
movzx edx, word [rsp + 0xa6]
mov edi, dword [rcx]
mov eax, edx
and ax, 0xf000
test edi, edi
jne 0x4e8f30
cmp ax, 0x8000
je 0x4e902a
movzx ecx, ax
mov edi, 0xa000
cmp ax, 0xa000
je 0x4e8a2b
cmp ecx, 0x4000
je 0x4e9089
cmp ecx, 0xe000
je 0x4e9089
and edx, 0x40
cmp dx, 1
sbb edi, edi
and edi, 0xffffffb7
add edi, 0x81ed
jmp 0x4e8a2b
mov edx, dword [r13 + 0x34]
mov r11d, edx
and r11d, 0xf000
cmp r11d, 0xa000
je 0x4e8b26
mov r8, qword [rsp + 0x70]
mov r8d, dword [r8]
test r8d, r8d
je 0x4e8b65
jmp 0x4e8b13
xor rbx, qword [rax + 8]
xor r10, qword [rax]
or rbx, r10
jne 0x4e8ecd
mov r10, qword [rdx + 0x10]
mov rdx, qword [rdx + 0x18]
xor r10, qword [rax + 0x10]
xor rdx, qword [rax + 0x18]
or rdx, r10
je 0x4e9023
mov edx, 1
mov r10, qword [r9]
mov rbx, qword [r9 + 8]
xor r10, qword [rax]
xor rbx, qword [rax + 8]
or rbx, r10
jne 0x4e87fc
mov rbx, qword [r9 + 0x10]
mov r10, qword [r9 + 0x18]
xor rbx, qword [rax + 0x10]
xor r10, qword [rax + 0x18]
or r10, rbx
jne 0x4e87fc
xor eax, eax
jmp 0x4e8801
mov rcx, r13
add r14d, 1
call sub.msvcrt.dll_perror
jmp 0x4e8832
xor edx, edx
jmp 0x4e87dc
mov rcx, qword [0x005ab2f0]
mov r10d, dword [rcx]
test r10d, r10d
jne 0x4e8e29
cmp ax, 0x8000
jne 0x4e8e29
mov edi, dword [r15 + 0x34]
mov eax, edi
and eax, 0xf000
cmp eax, 0x8000
mov eax, 0x81a4
cmovne edi, eax
jmp 0x4e8a2b
mov rcx, qword [0x005ab2f0]
and dx, 0xf000
mov r11d, dword [rcx]
test r11d, r11d
jne 0x4e8c77
cmp dx, 0x8000
jne 0x4e8c77
mov edx, dword [r15 + 0x34]
mov ecx, edx
mov r12d, 0x81a4
and ecx, 0xf000
cmp ecx, 0x8000
cmove r12d, edx
jmp 0x4e8cb6
mov r11, qword [rsp + 0x88]
mov r8d, r12d
lea r9, [r15 + 0x48]
mov r12d, dword [r15 + 0x34]
mov rax, r11
mov rdx, r11
jmp 0x4e879c
mov rcx, r13
call sub.msvcrt.dll_perror
jmp 0x4e8832
mov qword [rsp + 0x20], r13
lea r9, [0x005965bd]
mov edx, 0x39
lea rcx, [0x005965d7]
call fcn.0047ff50
jmp 0x4e8d30
mov eax, dword [rax + 0x10]
cmp dword [r9 + 0x10], eax
jne 0x4e8dc5
xor eax, eax
jmp 0x4e8dca
xor edx, edx
jmp 0x4e8ed2
mov edi, dword [r15 + 0x34]
mov eax, edi
and eax, 0xf000
cmp eax, 0xa000
je 0x4e8a2b
mov rcx, qword [0x005ab2f0]
mov ecx, dword [rcx]
test ecx, ecx
je 0x4e8f58
jmp 0x4e8e53
mov edx, dword [r15 + 0x34]
mov ecx, edx
mov r12d, edx
and ecx, 0xf000
cmp ecx, 0xa000
je 0x4e8cb6
mov rcx, qword [0x005ab2f0]
mov r9d, dword [rcx]
test r9d, r9d
jne 0x4e8c9f
jmp 0x4e8f97
mov edi, 0xe000
jmp 0x4e8a2b
mov r12d, 0xe000
jmp 0x4e8cb6
movzx r8d, byte [rax + 0x86]
mov rcx, r12
mov r9, rax
mov edx, 2
and r8d, 1
call fcn.004d73e0
mov rcx, r12
call fcn.004c9260
jmp 0x4e8832
mov rax, qword [0x005ab240]
mov r8d, dword [r15 + 0x34]
mov edx, 0x2b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rax]
mov rax, qword [rax + 0xc8]
mov r9, qword [rax + 0x40]
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0
call fcn.004f3f10
jmp 0x4e8832
xor rcx, qword [rax + 8]
xor rdx, qword [rax]
or rcx, rdx
jne 0x4e8dc5
mov rdx, qword [r9 + 0x10]
mov rcx, qword [r9 + 0x18]
xor rdx, qword [rax + 0x10]
xor rcx, qword [rax + 0x18]
or rcx, rdx
jne 0x4e8dc5
xor eax, eax
jmp 0x4e8dca
call sub.libssp_0.dll___stack_chk_fail
nop
nop