Function at 0x140009710
Capabilities:
Print debug messages

Disassembly:
push r15
mov r15, rcx
push r14
push r13
lea r13, str.CoffeeLdr
push r12
push rbp
mov rbp, r9
push rdi
push rsi
push rbx
mov rbx, rdx
sub rsp, 0x68
mov qword [rsp + 0x30], r9
mov r9, rcx
lea rcx, str._DEBUG::_s::_d___EntryName:__s___CoffeeData:__p___ArgData:__p___ArgSize:__ld__n
mov r14d, dword [rsp + 0xd0]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rdx
mov rdx, r13
mov qword [rsp + 0x48], r8
mov r8d, 0x2a6
call sym.DbgPrint
test rbx, rbx
jne 0x14000978a
lea r9, str.____Coffee_data_is_empty
mov r8d, 0x2aa
mov rdx, r13
xor r12d, r12d
lea rcx, [0x14002701f]
call sym.printf.constprop.0_4
jmp 0x1400097f7
mov rsi, qword [0x14002d650]
mov edx, 0x5c
mov ecx, 0x40
mov rax, qword [rsi]
call qword [rax + 0x3a8]
mov r12, rax
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov eax, dword [rbx + 8]
mov dword [r12 + 0x38], r14d
add rax, rbx
cmp word [rbx], 0x8664
mov qword [r12 + 0x20], rax
mov rax, qword [rsi]
mov rdx, qword [rax + 0x92a]
mov qword [r12 + 0x54], rdx
mov qword [rax + 0x92a], r12
je 0x1400097fe
lea r9, str.The_BOF_is_not_AMD64
mov r8d, 0x2c1
mov rdx, r13
lea rcx, [0x14002701f]
call sym.printf.constprop.0_4
xor esi, esi
jmp 0x1400099b0
movzx edx, word [rbx + 2]
mov ecx, 0x40
shl rdx, 4
call qword [rax + 0x3a8]
mov rcx, r12
mov qword [r12 + 0x3c], rax
call sym.CoffeeGetFunMapSize
cmp qword [r12 + 0x3c], 0
mov qword [r12 + 0x4c], rax
mov r8, rax
je 0x140009842
mov rax, qword [r12 + 8]
mov r9d, 0x14
xor ecx, ecx
mov r11w, word [rax + 2]
jmp 0x140009851
lea r9, [0x1400272e4]
mov r8d, 0x2d4
jmp 0x1400097e8
mov rax, qword [r12 + 0x30]
cmp r11w, cx
je 0x140009889
mov rdx, qword [r12]
inc ecx
add rdx, r9
add r9, 0x28
mov qword [r12 + 0x10], rdx
mov edx, dword [rdx + 0x10]
add rdx, rax
mov rax, rdx
neg rax
and eax, 0xfff
add rax, rdx
mov qword [r12 + 0x30], rax
jmp 0x140009851
add r8, rax
mov r9d, 4
or rdx, 0xffffffffffffffff
xor ecx, ecx
mov qword [r12 + 0x30], r8
call sym.MmVirtualAlloc
xor r11d, r11d
lea r9, str.Failed_to_allocate_memory_for_the_BOF
mov r8d, 0x2e6
mov qword [r12 + 0x28], rax
test rax, rax
je 0x1400097e8
mov rdx, qword [r12 + 8]
cmp word [rdx + 2], r11w
jbe 0x140009965
movzx esi, r11w
mov rcx, qword [r12]
movzx r9d, r11w
mov r8d, 0x2f4
imul rdx, rsi, 0x28
shl rsi, 4
mov dword [rsp + 0x5c], r11d
lea rdx, [rcx + rdx + 0x14]
mov rcx, qword [r12 + 0x3c]
mov qword [r12 + 0x10], rdx
mov edx, dword [rdx + 0x10]
add rcx, rsi
mov qword [rcx + 8], rdx
add rdx, rax
mov qword [rcx], rax
mov rcx, rdx
mov qword [rsp + 0x20], rax
neg rcx
and ecx, 0xfff
lea rdi, [rcx + rdx]
mov rdx, r13
lea rcx, str._DEBUG::_s::_d__Coffee__SecMap___d__.Ptr____p_n
mov qword [rsp + 0x50], rdi
call sym.DbgPrint
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 0x3c]
mov r11d, dword [rsp + 0x5c]
mov rax, qword [rax + rsi]
mov esi, dword [rdx + 0x14]
mov ecx, dword [rdx + 0x10]
inc r11d
mov rdi, rax
add rsi, rbx
mov rax, qword [rsp + 0x50]
rep movsb byte [rdi], byte [rsi]
jmp 0x1400098c0
mov qword [r12 + 0x44], rax
mov rcx, r12
call sym.CoffeeProcessSections
mov esi, eax
test eax, eax
jne 0x140009996
lea r9, str.___Failed_to_process_relocation
mov r8d, 0x2fe
mov rdx, r13
lea rcx, [0x14002701f]
call sym.printf.constprop.0_4
jmp 0x1400099b0
mov dword [rsp + 0x20], r14d
mov r8, qword [rsp + 0x48]
mov r9, rbp
mov rdx, r15
mov rcx, r12
call sym.CoffeeExecuteFunction
mov esi, eax
mov rdx, r13
lea r9, str.___Cleanup_memory
mov r8d, 0x305
lea rcx, [0x14002701f]
call sym.printf.constprop.0_4
mov rcx, r12
call sym.CoffeeCleanup
mov edx, r14d
mov ecx, 0x14
test esi, esi
je 0x1400099ef
call sym.PackageCreateWithRequestID
mov edx, 3
mov r13, rax
jmp 0x1400099fc
call sym.PackageCreateWithRequestID
mov edx, 4
mov r13, rax
mov rcx, r13
call sym.PackageAddInt32
mov rcx, r13
call sym.PackageTransmit
mov rcx, r12
call sym.RemoveCoffeeFromInstance
test r12, r12
je 0x140009a4b
mov rdi, r12
mov ecx, 8
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword [0x14002d650]
mov rcx, r12
mov rax, qword [rax]
mov rax, qword [rax + 0x3b0]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp rax
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret