Function at 0x1404d3040
Capabilities:
Execute anti-debugging instructions

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x678
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x5f0], 0xfffffffffffffffe
mov rdi, rdx
mov rbx, rcx
nop
mov esi, dword [0x14077407c]
mov qword [rbp + 0x5e0], 0
call fcn.1404d4830
mov qword [rbp + 0x580], rax
cmp rbx, 0x12345678
je 0x1404d30c3
call fcn.1404d2bf0
test rdi, rdi
sets al
cmp rdi, 0x10000
setb cl
or cl, al
mov byte [rbp + 0x5ef], cl
rdtsc
mov r15, rdx
mov qword [rbp + 0x588], rax
je 0x1404d311d
xor r13d, r13d
jmp 0x1404d3125
cmp qword [0x140772fac], 0x33c0
jne 0x1404d3636
xor esi, 0x8a02d9ee
lea rax, [rbp + 0x570]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x560]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x40], 0x1f99540b
lea r8, [rbp + 0x550]
call fcn.1404dc260
add rax, 0x33c0
mov qword [0x140772fac], rax
jmp 0x1404d3636
nop
cmp byte [rdi], 0
sete r13b
test rbx, rbx
mov r12, rbx
jne 0x1404d3169
mov eax, 0x8e9c583f
xor rax, rsi
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x420]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x410]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x40], 0xf1d1e47d
lea r8, [rbp + 0x400]
call fcn.1404dc260
mov r12, rax
movzx eax, byte [0x140792ca0]
test al, 1
je 0x1404d31c4
lea rax, [rbp + 0x450]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x440]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x40], 0x420af369
lea r8, [rbp + 0x430]
call fcn.1404dc260
test rax, rax
je 0x1404d31c4
cmp byte [rbp + 0x5ef], 0
je 0x1404d320d
lea r9, [rbp + 0x5e0]
mov rcx, rbx
xor edx, edx
mov r8d, edi
call rax
jmp 0x1404d3271
test r12, r12
je 0x1404d3284
mov eax, dword [r12 + 0x3c]
test rax, rax
je 0x1404d3284
cmp dword [r12 + rax], 0x4550
jne 0x1404d3284
nop
cmp dword [r12 + rax + 0x88], 0
je 0x1404d3205
nop
cmp dword [r12 + rax + 0x8c], 0
jne 0x1404d3284
xor r14d, r14d
jmp 0x1404d32a1
nop
mov qword [rbp - 0x20], 0
test rdi, rdi
je 0x1404d324e
xor ecx, ecx
mov edx, 1
xor r8d, r8d
nop word cs:[rax + rax]
xor r9d, r9d
cmp byte [rdi + rcx], 0
setne r9b
movzx r8d, r8b
cmove r8d, edx
add rcx, r9
test r8b, 1
je 0x1404d3230
jmp 0x1404d3250
xor ecx, ecx
mov word [rbp - 0x20], cx
inc ecx
mov word [rbp - 0x1e], cx
mov qword [rbp - 0x18], rdi
lea rdx, [rbp - 0x20]
lea r9, [rbp + 0x5e0]
mov rcx, rbx
xor r8d, r8d
call rax
cmp eax, 0xc0000138
jne 0x1404d3284
nop
mov qword [rbp + 0x5e0], 0
lea rcx, [rbp - 0x20]
mov r8d, 0x400
xor edx, edx
call fcn.1405c44a0
mov r14b, 1
test r13b, r13b
je 0x1404d33a9
shl r15, 0x20
mov r12, qword [rbp + 0x588]
or r12, r15
lea rcx, [rbp - 0x20]
mov r8d, 0x400
xor edx, edx
call fcn.1405c44a0
rdtsc
shl rdx, 0x20
or rdx, rax
sub rdx, r12
cmp qword [0x140772f48], 0
je 0x1404d32e3
nop
mov rax, qword [0x140772f48]
cmp rax, rdx
jae 0x1404d32eb
nop
mov qword [0x140772f48], rdx
nop
cmp qword [rbp + 0x5e0], 0
setne al
xor r14b, 1
or r14b, al
jne 0x1404d35d5
mov rax, rsi
xor rax, 0x21a2ffb2
lea rcx, [rbp + 0x4e0]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x4d0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x40], 0x7e1fba0c
lea r8, [rbp + 0x4c0]
call fcn.1404dc260
cmp eax, 0x4750412d
je 0x1404d35d5
lea rax, [rbp + 0x510]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x500]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x40], 0x73504269
lea r8, [rbp + 0x4f0]
call fcn.1404dc260
test rax, rax
je 0x1404d35d5
nop
inc qword [0x140772ee8]
cmp rdi, 0xffff
ja 0x1404d34b8
lea r9, [rbp + 0x5e0]
mov rcx, rbx
xor edx, edx
mov r8d, edi
call rax
jmp 0x1404d355e
mov rcx, rbx
call fcn.1404d4840
test rax, rax
je 0x1404d32a1
xor ecx, ecx
nop dword [rax]
mov r12d, ecx
movzx edx, word [rax + r12*2]
test edx, edx
je 0x1404d33db
cmp edx, 0x2e
je 0x1404d33db
nop
mov byte [rbp + r12 - 0x20], dl
inc ecx
jmp 0x1404d33c0
mov eax, 0x400
sub eax, ecx
mov dword [rbp + 0x59c], eax
cmp eax, 2
jb 0x1404d32a1
mov qword [rbp + 0x5d8], 0xf
mov qword [rbp + 0x5d0], 1
mov word [rbp + 0x5c0], 0x2e
cmp byte [rbp + 0x5ef], 0
je 0x1404d3500
mov qword [rbp + 0x5d0], 2
mov word [rbp + 0x5c1], 0x23
movzx ecx, di
lea r9, [rbp + 0x3f5]
xor r13d, r13d
movabs r8, 0xcccccccccccccccd
nop dword [rax + rax]
mov rax, rcx
mul r8
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r10d, ecx
sub r10d, eax
or r10b, 0x30
mov byte [r9 - 1], r10b
dec r9
inc r13
cmp rcx, 9
mov rcx, rdx
ja 0x1404d3450
mov qword [rbp + 0x5b0], 0
mov qword [rbp + 0x5b8], 0xf
mov byte [rbp + 0x5a0], 0
cmp r13, 0xf
jbe 0x1404d3651
lea rcx, [rbp + 0x5a0]
mov rdx, r13
call fcn.14008c3c0
jmp 0x1404d3673
nop
mov qword [rbp + 0x5c0], 0
test rdi, rdi
je 0x1404d352f
xor ecx, ecx
mov edx, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov r9, rcx
xor ecx, ecx
cmp byte [rdi + r9], 0
setne cl
movzx r8d, r8b
cmove r8d, edx
add rcx, r9
test r8b, 1
je 0x1404d34e0
jmp 0x1404d3531
mov rcx, rdi
call fcn.140095650
cmp rax, 0xe
jbe 0x1404d368d
nop
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x5c0]
mov rdx, rax
mov r9, rdi
call fcn.140143430
jmp 0x1404d377b
xor ecx, ecx
mov word [rbp + 0x5c0], cx
inc ecx
mov word [rbp + 0x5c2], cx
mov qword [rbp + 0x5c8], rdi
lea rdx, [rbp + 0x5c0]
lea r9, [rbp + 0x5e0]
mov rcx, rbx
xor r8d, r8d
call rax
cmp eax, 0xc0000142
je 0x1404d356c
cmp eax, 0xc0000138
jne 0x1404d35a3
nop
mov qword [rbp + 0x5e0], 0
xor eax, eax
cmp rdi, 0x10000
setae al
lea rcx, [0x140772e80]
inc qword [0x140772f20]
inc qword [0x140772ef0]
lea rax, [rcx + rax*8]
add rax, 0x78
jmp 0x1404d35d1
cmp qword [rbp + 0x5e0], 0
je 0x1404d3578
xor eax, eax
cmp rdi, 0x10000
setae al
lea rcx, [0x140772e80]
inc qword [0x140772f08]
lea rax, [rcx + rax*8]
add rax, 0x90
nop
inc qword [rax]
xor esi, 0x5a749ec3
mov rax, qword [rbp + 0x580]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x540]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x530]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x40], 0x25c98f35
lea r8, [rbp + 0x520]
call fcn.1404dc260
movzx eax, byte [rbp + 0x5ef]
xor eax, 0xc0000139
xor ecx, ecx
cmp qword [rbp + 0x5e0], 0
cmove ecx, eax
call fcn.1404a3e30
mov rax, qword [rbp + 0x5e0]
add rsp, 0x678
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x5b0], r13
lea rcx, [rbp + 0x5a0]
mov rdx, r9
mov r8, r13
call fcn.1405c4870
mov byte [rbp + r13 + 0x5a0], 0
mov r8, qword [rbp + 0x5b0]
cmp qword [rbp + 0x5b8], 0x10
jb 0x1404d36bd
mov r9, qword [rbp + 0x5a0]
jmp 0x1404d36c4
lea rcx, [rbp + 0x5c1]
mov rdx, rax
inc rdx
mov qword [rbp + 0x5d0], rdx
mov rdx, rdi
mov r8, rax
mov r13, rax
call fcn.1405c4870
mov byte [rbp + r13 + 0x5c1], 0
jmp 0x1404d377b
lea r9, [rbp + 0x5a0]
mov rcx, qword [rbp + 0x5d0]
mov rax, qword [rbp + 0x5d8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1404d36f4
nop
mov qword [rsp + 0x20], r8
lea rcx, [rbp + 0x5c0]
mov rdx, r8
call fcn.140143430
jmp 0x1404d3734
lea rdx, [rcx + r8]
mov qword [rbp + 0x5d0], rdx
cmp rax, 0x10
mov qword [rbp + 0x590], rdx
jb 0x1404d3715
mov r13, qword [rbp + 0x5c0]
jmp 0x1404d371c
lea r13, [rbp + 0x5c0]
add rcx, r13
mov rdx, r9
call fcn.1405c4870
mov rax, qword [rbp + 0x590]
mov byte [r13 + rax], 0
mov rax, qword [rbp + 0x5b8]
cmp rax, 0x10
jb 0x1404d377b
nop
mov rcx, qword [rbp + 0x5a0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1404d3776
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1404d38b4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
mov rax, qword [rbp + 0x5d0]
mov ecx, dword [rbp + 0x59c]
cmp rax, rcx
jae 0x1404d3867
cmp qword [rbp + 0x5d8], 0x10
jb 0x1404d37a4
mov rdx, qword [rbp + 0x5c0]
jmp 0x1404d37ab
lea rdx, [rbp + 0x5c0]
lea rcx, [r12 + rbp]
add rcx, 0xffffffffffffffe0
xor r9d, r9d
test rax, rax
je 0x1404d37c6
cmp rax, 0x20
jae 0x1404d37cb
xor r8d, r8d
jmp 0x1404d381d
xor r8d, r8d
jmp 0x1404d3834
lea r8, [rbp - 0x20]
add r8, r12
sub r8, rdx
cmp r8, 0x20
jae 0x1404d37e3
xor r8d, r8d
xor r9d, r9d
jmp 0x1404d381d
mov r8, rax
and r8, 0xffffffffffffffe0
lea r9, [r12 + rbp]
add r9, 0xfffffffffffffff0
xor r10d, r10d
nop
movups xmm0, xmmword [rdx + r10]
movups xmm1, xmmword [rdx + r10 + 0x10]
movups xmmword [r9 + r10 - 0x10], xmm0
movups xmmword [r9 + r10], xmm1
add r10, 0x20
cmp r8, r10
jne 0x1404d37f5
mov r9d, r8d
cmp rax, r8
je 0x1404d3834
inc r9d
movzx r10d, byte [rdx + r8]
mov byte [rcx + r8], r10b
mov r8d, r9d
inc r9d
cmp rax, r8
ja 0x1404d3820
nop
mov byte [rcx + r8], 0
mov qword [rbp + 0x5a0], 0
lea rcx, [rbp - 0x20]
lea rdx, [rbp + 0x5a0]
call fcn.1404d2210
nop
mov qword [rbp + 0x5e0], rax
mov dword [0x140774074], 0x4bdd4cb0
mov rax, qword [rbp + 0x5d8]
cmp rax, 0x10
jb 0x1404d38aa
nop
mov rcx, qword [rbp + 0x5c0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1404d38a5
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1404d38af
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
jmp 0x1404d32a1
call fcn.1400954e0
call fcn.1400954e0
int3