Function at 0x180006160
Capabilities:
Check for software breakpoints
Parse pe header

Disassembly:
push rbx
push rdi
push r12
sub rsp, 0x830
mov rax, qword [0x180065480]
xor rax, rsp
mov qword [rsp + 0x820], rax
mov rbx, rcx
lea rcx, [rsp + 0x21]
xor edx, edx
mov r8d, 0x7ff
mov byte [rsp + 0x20], 0
call fcn.18002de40
movzx ecx, word [rbx]
mov edx, 0x5a4d
xor r12d, r12d
cmp cx, dx
je 0x1800061f0
lea rdx, [rsp + 0x20]
lea rdi, [0x180000000]
mov rax, qword [rdi + 0x54328]
mov qword [rdx], rax
mov rax, qword [rdi + 0x54330]
mov qword [rdx + 8], rax
mov eax, dword [rdi + 0x54338]
mov dword [rdx + 0x10], eax
movzx eax, byte [rdi + 0x5433c]
mov byte [rdx + 0x14], al
movzx edx, cx
lea rcx, [rsp + 0x20]
call fcn.1800044f0
xor eax, eax
jmp 0x18000630c
mov eax, dword [rbx + 0x3c]
add eax, ebx
mov ecx, eax
cmp dword [rax], 0x4550
je 0x180006244
lea rcx, [rsp + 0x20]
lea rdi, [0x180000000]
mov rax, qword [rdi + 0x54340]
mov qword [rcx], rax
mov rax, qword [rdi + 0x54348]
mov qword [rcx + 8], rax
mov eax, dword [rdi + 0x54350]
mov dword [rcx + 0x10], eax
movzx eax, byte [rdi + 0x54354]
mov byte [rcx + 0x14], al
lea rcx, [rsp + 0x20]
call fcn.1800044f0
xor eax, eax
jmp 0x18000630c
movzx r9d, word [rax + 6]
mov qword [rsp + 0x858], rbp
mov qword [rsp + 0x860], rsi
mov qword [rsp + 0x868], r13
mov r8, rcx
mov edx, r12d
test r9d, r9d
jle 0x18000629a
nop dword [rax]
movsxd rax, edx
lea rdi, str..text
lea rcx, [rax + rax*4]
lea rsi, [r8 + rcx*8 + 0x108]
mov ecx, 6
repe cmpsb byte [rsi], byte [rdi]
je 0x180006328
inc edx
cmp edx, r9d
jl 0x180006270
lea rcx, [rsp + 0x20]
lea rdi, [0x180000000]
xor edx, edx
mov rax, qword [rdi + 0x54360]
mov qword [rcx], rax
mov rax, qword [rdi + 0x54368]
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x54370]
mov qword [rcx + 0x10], rax
mov rax, qword [rdi + 0x54378]
mov qword [rcx + 0x18], rax
mov rax, qword [rdi + 0x54380]
mov qword [rcx + 0x20], rax
movzx eax, byte [rdi + 0x54388]
mov byte [rcx + 0x28], al
lea rcx, [rsp + 0x20]
call fcn.1800044f0
xor eax, eax
mov rsi, qword [rsp + 0x860]
mov rbp, qword [rsp + 0x858]
mov r13, qword [rsp + 0x868]
mov rcx, qword [rsp + 0x820]
xor rcx, rsp
call fcn.18002bd00
add rsp, 0x830
pop r12
pop rdi
pop rbx
ret
movsxd rax, edx
lea rcx, [rax + rax*4]
movsxd r13, dword [r8 + rcx*8 + 0x11c]
mov ebp, dword [r8 + rcx*8 + 0x118]
test r13d, r13d
je 0x18000629a
lea rcx, [rsp + 0x20]
lea rdi, [0x180000000]
mov eax, 0x3e8
test ebp, ebp
mov edx, r13d
cmove ebp, eax
mov rax, qword [rdi + 0x54390]
mov qword [rcx], rax
mov rax, qword [rdi + 0x54398]
mov r8d, ebp
mov qword [rcx + 8], rax
mov rax, qword [rdi + 0x543a0]
mov qword [rcx + 0x10], rax
movzx eax, byte [rdi + 0x543a8]
mov byte [rcx + 0x18], al
lea rcx, [rsp + 0x20]
call fcn.1800044f0
mov esi, r12d
mov rcx, r12
test ebp, ebp
je 0x18000640a
lea r8, [r13 + rbx]
cmp byte [r8 + rcx], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 1], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 2], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 3], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 4], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 5], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 6], 0xcc
jne 0x1800063fb
lea rax, [rcx + r13]
cmp byte [rax + rbx + 7], 0xcc
je 0x180006406
inc esi
inc rcx
cmp esi, ebp
jb 0x1800063a7
jmp 0x18000640a
lea r12d, [rsi + r13]
mov rax, qword [rdi + 0x543b0]
lea rcx, [rsp + 0x20]
mov edx, r12d
mov qword [rcx], rax
mov rax, qword [rdi + 0x543b8]
mov qword [rcx + 8], rax
movzx eax, byte [rdi + 0x543c0]
mov byte [rcx + 0x10], al
lea rcx, [rsp + 0x20]
call fcn.1800044f0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [r12 + 2]
mov dword [rcx + rbx], eax
mov eax, 1
jmp 0x1800062f4