Function at 0x14001eda0
Capabilities:
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
mov rax, qword [0x140121c38]
xor rax, rsp
mov qword [rbp + 0xf0], rax
xorps xmm0, xmm0
mov dword [rsp + 0x34], r9d
mov edi, r9d
mov qword [rsp + 0x60], r8
mov r14, r8
mov qword [rsp + 0x68], rdx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x50], rcx
xor r12d, r12d
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x70]
mov rsi, rdx
mov r15, rcx
movups xmmword [rsp + 0x70], xmm0
lea r9d, [r12 + 0x40]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
call sub.KERNEL32.dll_ReadProcessMemory
test eax, eax
je 0x14001f529
cmp qword [rsp + 0x40], 0x40
jb 0x14001f529
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x108
call fcn.140085ae0
movsxd rdx, dword [rbp - 0x54]
lea rax, [rsp + 0x40]
add rdx, rsi
mov qword [rsp + 0x20], rax
mov r9d, 0x108
lea r8, [rbp - 0x50]
mov rcx, r15
call sub.KERNEL32.dll_ReadProcessMemory
test eax, eax
je 0x14001f529
cmp qword [rsp + 0x40], 0x108
jb 0x14001f529
mov eax, 0x20b
cmp word [rbp - 0x38], ax
je 0x14001ee93
lea ecx, [r12 + 9]
call sub.KERNEL32.dll_SetLastError
jmp 0x14001f529
mov edx, dword [rbp - 0x54]
movzx ecx, word [rbp - 0x3c]
add edx, 0x18
add edx, ecx
mov qword [rsp + 0x210], rbx
mov ebx, r12d
mov qword [rbp + 0x90], r12
cmp r12w, word [rbp - 0x4a]
jae 0x14001ef60
mov edi, edx
nop
xor eax, eax
lea r8, [rbp + 0xc0]
mov qword [rbp + 0xe0], rax
xorps xmm0, xmm0
mov eax, ebx
mov r9d, 0x28
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
lea rcx, [rax + rax*4]
lea rdx, [rdi + rcx*8]
mov rcx, r15
lea rax, [rsp + 0x40]
add rdx, rsi
mov qword [rsp + 0x20], rax
call sub.KERNEL32.dll_ReadProcessMemory
test eax, eax
je 0x14001f521
cmp qword [rsp + 0x40], 0x28
jb 0x14001f521
mov edx, dword [rbp + 0x40]
cmp dword [rbp + 0x98], r12d
jne 0x14001ef4c
mov ecx, dword [rbp + 0xcc]
cmp edx, ecx
jb 0x14001ef4c
mov r8d, dword [rbp + 0xd0]
lea eax, [r8 + rcx]
cmp edx, eax
jae 0x14001ef4c
mov dword [rbp + 0x98], ecx
mov dword [rbp + 0x9c], r8d
movzx eax, word [rbp - 0x4a]
inc ebx
cmp ebx, eax
jb 0x14001eec0
mov edi, dword [rsp + 0x34]
jmp 0x14001ef63
mov edx, dword [rbp + 0x40]
test edx, edx
je 0x14001effa
cmp dword [rbp + 0x44], r12d
jne 0x14001effa
mov ebx, edx
lea r8, [rbp + 0xc0]
add rbx, rsi
mov qword [rsp + 0x20], r12
mov rdx, rbx
mov r9d, 0x14
mov rcx, r15
call sub.KERNEL32.dll_ReadProcessMemory
test eax, eax
je 0x14001f521
nop
add dword [rbp + 0x44], 0x14
cmp dword [rbp + 0xcc], r12d
je 0x14001efd7
add rbx, 0x14
mov qword [rsp + 0x20], r12
mov rdx, rbx
lea r8, [rbp + 0xc0]
mov r9d, 0x14
mov rcx, r15
call sub.KERNEL32.dll_ReadProcessMemory
test eax, eax
jne 0x14001efa0
jmp 0x14001f521
call sub.KERNEL32.dll_GetLastError
lea rcx, str._This_PE_file_has_an_import_table__but_the_import_table_size_is_marked_as_0._This_is_an_error.If_it_is_not_repaired__the_launched_program_will_not_work_properly__Detours_has_automatically_repaired_its_import_table_size_for_you_______r_n
mov ebx, eax
call sub.KERNEL32.dll_OutputDebugStringW
call sub.KERNEL32.dll_GetLastError
cmp eax, ebx
je 0x14001effa
mov ecx, ebx
call sub.KERNEL32.dll_SetLastError
mov ecx, dword [rbp + 0x44]
movabs rax, 0xcccccccccccccccd
mul rcx
mov ecx, edi
mov r8d, 0xffffffff
mov r12, rdx
mov qword [rsp + 0x208], r13
shr r12, 4
lea rax, [rcx + rcx*4]
lea r13, [rax*4]
cmp r13, r8
ja 0x14001f516
lea eax, [r12 + r12*4]
lea edx, [rax*4]
add edx, r13d
cmp edx, r13d
jb 0x14001f516
lea eax, [rdx + 7]
and eax, 0xfffffff8
mov dword [rsp + 0x58], eax
cmp eax, edx
jb 0x14001f516
shl rcx, 5
cmp rcx, r8
ja 0x14001f516
lea r9d, [rcx + rax]
mov dword [rsp + 0x30], r9d
cmp r9d, eax
jb 0x14001f516
xor r8d, r8d
mov dword [rsp + 0x38], r9d
test edi, edi
je 0x14001f0d0
mov rdx, r14
nop dword [rax]
mov rcx, qword [rdx]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [rcx + rax + 1], 0
lea rax, [rax + 1]
jne 0x14001f0a0
lea ecx, [rax + 4]
and ecx, 0xfffffffc
add ecx, r9d
cmp ecx, r9d
jb 0x14001f516
inc r8d
mov dword [rsp + 0x38], ecx
add rdx, 8
mov r9d, ecx
cmp r8d, edi
jb 0x14001f090
mov ecx, r9d
mov edi, r9d
call fcn.1400574e8
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14001f516
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.140085ae0
mov ecx, dword [rbp - 0x30]
xorps xmm0, xmm0
mov r8d, dword [rbp - 0x2c]
mov r9d, 0x30
mov edx, dword [rbp - 0x34]
add r8, rcx
mov r14d, dword [rbp - 0x24]
add rdx, rsi
add rdx, r8
mov rcx, r15
add r14, rdx
lea r8, [rbp + 0xc0]
cmp rsi, r14
movups xmmword [rbp + 0xc0], xmm0
cmovae r14, rsi
mov rdx, r14
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
call sub.KERNEL32.dll_VirtualQueryEx
test rax, rax
je 0x14001f245
mov rdx, qword [rbp + 0xd8]
mov rax, rdx
and eax, 0xfff
cmp rax, 0xfff
je 0x14001f24a
cmp dword [rbp + 0xe0], 0x10000
mov rcx, qword [rbp + 0xc0]
jne 0x14001f20c
cmp rcx, r14
mov rbx, r14
mov rsi, rdi
mov r8d, 0xffffffff
cmova rbx, rcx
sub rsi, qword [rsp + 0x68]
add rbx, 0xffff
and rbx, 0xffffffffffff0000
lea rax, [rbx - 1]
add rax, rsi
cmp rax, r8
ja 0x14001f24a
lea rax, [rdx + rcx]
cmp rbx, rax
jae 0x14001f20c
mov r9d, 0x3000
mov dword [rsp + 0x20], 4
mov r8, rdi
mov rdx, rbx
mov rcx, r15
call sub.KERNEL32.dll_VirtualAllocEx
mov r15, rax
test rax, rax
jne 0x14001f25c
mov rdx, qword [rbp + 0xd8]
add rbx, 0x10000
mov rcx, qword [rbp + 0xc0]
mov r15, qword [rsp + 0x50]
lea rax, [rdx + rcx]
cmp rbx, rax
jb 0x14001f1c1
xorps xmm0, xmm0
lea r8, [rbp + 0xc0]
add rdx, rcx
mov r9d, 0x30
mov rcx, r15
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
call sub.KERNEL32.dll_VirtualQueryEx
test rax, rax
jne 0x14001f150
call sub.KERNEL32.dll_GetLastError
xor r12d, r12d
mov rcx, qword [rsp + 0x48]
call fcn.1400574f0
jmp 0x14001f519
lea rax, [rbx - 1]
mov ecx, 0xffffffff
add rax, rsi
cmp rax, rcx
ja 0x14001f24a
mov r9, qword [rsp + 0x68]
mov r14d, r15d
mov ecx, dword [rbp + 0x40]
sub r14d, r9d
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x3c], 0
test ecx, ecx
je 0x14001f2c3
mov r8, qword [rsp + 0x48]
lea rdx, [r9 + rcx]
mov eax, r12d
add r8, r13
mov rcx, rsi
lea rbx, [rax + rax*4]
lea rax, [rsp + 0x40]
shl rbx, 2
mov r9, rbx
mov qword [rsp + 0x20], rax
call sub.KERNEL32.dll_ReadProcessMemory
test eax, eax
je 0x14001f24a
cmp qword [rsp + 0x40], rbx
jb 0x14001f24a
mov r13d, dword [rsp + 0x38]
xor r12d, r12d
mov edi, r12d
mov edx, dword [rsp + 0x30]
cmp dword [rsp + 0x34], r12d
jbe 0x14001f426
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x60]
lea rbx, [rcx + 4]
nop dword [rax + rax]
mov r10, qword [r8]
mov r8d, r13d
mov eax, edx
sub r8d, edx
add rax, rcx
test r8, r8
je 0x14001f24d
cmp r8, 0x7fffffff
ja 0x14001f414
mov r11d, 0x7ffffffe
mov r9d, r8d
sub r11, r8
mov rdx, rax
sub r10, rax
lea rcx, [r11 + r9]
test rcx, rcx
je 0x14001f343
movzx ecx, byte [r10 + rdx]
test cl, cl
je 0x14001f343
mov byte [rdx], cl
inc rdx
sub r9, 1
jne 0x14001f326
test r9, r9
lea rcx, [rdx - 1]
cmovne rcx, rdx
mov byte [rcx], r12b
je 0x14001f24d
test rax, rax
je 0x14001f380
cmp r8, 2
jb 0x14001f380
cmp byte [rax], 0x3f
jne 0x14001f36d
cmp byte [rax + 1], 0x3f
je 0x14001f37b
dec r8
inc rax
cmp r8, 2
jae 0x14001f362
jmp 0x14001f380
mov word [rax], 0x3436
mov ecx, dword [rsp + 0x58]
mov eax, edi
mov rdx, qword [rsp + 0x48]
movabs r9, 0x8000000000000001
mov r8, qword [rsp + 0x60]
shl eax, 5
add ecx, eax
lea eax, [rcx + r14]
mov dword [rbx - 4], eax
mov qword [rcx + rdx], r9
mov qword [rcx + rdx + 8], r12
add ecx, 0x10
lea eax, [rcx + r14]
mov dword [rbx + 0xc], eax
mov qword [rcx + rdx], r9
mov qword [rcx + rdx + 8], r12
mov edx, dword [rsp + 0x30]
mov qword [rbx], r12
lea eax, [r14 + rdx]
mov dword [rbx + 8], eax
mov rax, 0xffffffffffffffff
mov rcx, qword [r8]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], r12b
jne 0x14001f3e0
add eax, 4
add r8, 8
and eax, 0xfffffffc
mov qword [rsp + 0x60], r8
add edx, eax
inc edi
add rbx, 0x14
mov dword [rsp + 0x30], edx
cmp edi, dword [rsp + 0x34]
jae 0x14001f426
mov rcx, qword [rsp + 0x48]
jmp 0x14001f2f0
mov rcx, qword [rsp + 0x48]
mov byte [rax], r12b
call fcn.1400574f0
jmp 0x14001f519
mov r8, qword [rsp + 0x48]
mov rcx, rsi
mov r9d, edx
mov rdx, r15
mov qword [rsp + 0x20], r12
call sub.KERNEL32.dll_WriteProcessMemory
test eax, eax
je 0x14001f24d
cmp dword [rbp + 0x98], r12d
jne 0x14001f45d
mov dword [rbp + 0x98], r14d
mov dword [rbp + 0x9c], r13d
mov rbx, qword [rsp + 0x68]
lea rax, [rsp + 0x3c]
mov r8d, dword [rbp + 4]
mov rdx, rbx
mov r9d, 0x40
mov dword [rbp + 0x40], r14d
mov rcx, rsi
mov dword [rbp + 0x44], r13d
mov qword [rsp + 0x20], rax
call fcn.1400228f0
test eax, eax
je 0x14001f24d
mov r9d, 0x40
mov dword [rbp + 8], r12d
lea r8, [rsp + 0x70]
mov qword [rsp + 0x20], r12
mov rdx, rbx
mov rcx, rsi
call sub.KERNEL32.dll_WriteProcessMemory
test eax, eax
je 0x14001f24d
movsxd rdx, dword [rbp - 0x54]
lea r8, [rbp - 0x50]
add rdx, rbx
mov qword [rsp + 0x20], r12
mov r9d, 0x108
mov rcx, rsi
call sub.KERNEL32.dll_WriteProcessMemory
test eax, eax
je 0x14001f24d
mov r8d, dword [rbp + 4]
lea rax, [rsp + 0x3c]
mov r9d, dword [rsp + 0x3c]
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call sub.KERNEL32.dll_VirtualProtectEx
test eax, eax
je 0x14001f24d
mov rcx, qword [rsp + 0x48]
mov r12d, 1
call fcn.1400574f0
jmp 0x14001f519
xor r12d, r12d
mov r13, qword [rsp + 0x208]
mov rbx, qword [rsp + 0x210]
mov eax, r12d
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.140056c90
add rsp, 0x218
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret