Function at 0x1800489d0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x178]
sub rsp, 0x278
mov rbx, qword [rsp + 0x40]
mov r10, r9
mov r9, rdx
mov r13, rcx
mov edx, dword [rbp + 0x1f8]
mov ecx, edx
imul eax, edx, 0x2d9
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x50], eax
cmp edx, eax
ja 0x180048a90
mov r8d, dword [rbp + 0x1f8]
mov r15, qword [rbp + 0x1e0]
mov r14, qword [rbp + 0x1e8]
mov qword [rsp + 0x40], rbx
xor edi, edi
cmp ecx, 0x205a
ja 0x180048ccd
je 0x180048c9c
mov eax, ecx
sub eax, 0x5b
je 0x180048c93
sub eax, 0xa
je 0x180048af5
sub eax, 0x1e
je 0x180048a7a
cmp eax, 0x1ca3
je 0x180048ae9
jmp 0x180048eef
mov edx, 0x120
nop
cmp edx, 0x120
je 0x180048aa7
cmp edx, 0x1c6
jne 0x180048ad1
mov rax, rbx
add rsp, 0x278
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edi, dword [r14]
cmp edi, 0x1f
ja 0x1800490c6
mov ebx, dword [r13 + 4]
movzx ecx, dil
mov eax, dword [r13]
shr rbx, cl
shl rbx, 0x20
shr rax, cl
or rbx, rax
mov qword [rsp + 0x40], rbx
add edx, 0xa6
cmp edx, 0x26c
jb 0x180048a80
mov ecx, dword [rsp + 0x30]
mov edx, dword [rbp + 0x1f8]
mov eax, dword [r10]
mov dword [r13 + 4], eax
jmp 0x180048eef
mov r12, qword [rbp + 0x1e8]
lea r11, [r12 + 3]
movzx r9d, byte [r12]
movzx edx, byte [r12 + 1]
movzx eax, r9w
movzx r10d, byte [r12 + 2]
shl ax, 2
lea ecx, [rax + r9]
movzx eax, dx
add ax, ax
add cx, ax
movzx eax, byte [r11]
add cx, r10w
add r10w, r9w
add r10w, dx
mov word [rsp + 0x70], cx
movsxd rdx, dword [r15]
add r10w, r10w
add r10w, ax
add r10w, r9w
mov word [rsp + 0x72], r10w
mov r10d, 2
lea ecx, [rdx - 2]
lea eax, [rcx - 2]
cmp ecx, r10d
jle 0x180048bdc
cmp eax, 8
jb 0x180048bdc
and eax, 0x80000007
jge 0x180048b79
dec eax
or eax, 0xfffffff8
inc eax
sub ecx, eax
movsxd rax, ecx
nop
movq xmm2, qword [r11 - 2]
xorps xmm0, xmm0
movq xmm1, qword [r11]
lea r11, [r11 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
paddw xmm2, xmm1
movq xmm1, qword [r11 - 9]
punpcklbw xmm1, xmm0
paddw xmm2, xmm1
movq xmm1, qword [r11 - 0xb]
punpcklbw xmm1, xmm0
paddw xmm2, xmm2
paddw xmm2, xmm1
movq xmm1, qword [r11 - 7]
punpcklbw xmm1, xmm0
paddw xmm2, xmm1
movdqu xmmword [rsp + r10*2 + 0x70], xmm2
add r10, 8
cmp r10, rax
jl 0x180048b80
lea rdi, [rdx - 2]
mov rsi, rdx
cmp r10, rdi
jge 0x180048c3d
lea r9, [r12 + 1]
add r9, r10
movzx r11d, byte [r9]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r9 - 1]
movzx edx, byte [r9 + 1]
movzx ecx, byte [r9 - 2]
lea r9, [r9 + 1]
add cx, ax
movzx eax, r11b
add cx, ax
movzx r11d, dl
movzx eax, byte [r9 - 4]
add cx, cx
add cx, ax
add cx, dx
mov word [rsp + r10*2 + 0x70], cx
inc r10
cmp r10, rdi
jl 0x180048c00
movzx edx, byte [rsi + r12 - 1]
mov r14, r12
movzx r9d, byte [rdi + r12]
movzx r10d, byte [rsi + r12 - 3]
movzx eax, byte [rsi + r12 - 4]
lea ecx, [r9 + rdx]
add r9w, r9w
add cx, r10w
add cx, cx
add cx, ax
movzx eax, dx
add cx, dx
shl dx, 2
add ax, dx
mov word [rsp + rdi*2 + 0x70], cx
mov edx, dword [rbp + 0x1f8]
add ax, r9w
add ax, r10w
mov word [rsp + rsi*2 + 0x6e], ax
jmp 0x180048ee4
mov dword [r13 + 0x2c], edi
jmp 0x180048eef
movzx edx, byte [r13 + 1]
movzx eax, byte [r13 + 2]
add dx, dx
movzx ecx, byte [r13]
add dx, ax
movzx eax, cx
shl ax, 2
add cx, ax
add dx, cx
mov word [rbp + 0x70], dx
mov edx, dword [rbp + 0x1f8]
jmp 0x180048eeb
cmp ecx, 0x39f1
je 0x1800490ba
cmp ecx, 0x404f
je 0x180048f56
cmp ecx, 0x6044
je 0x180048f0e
cmp ecx, 0x8039
jne 0x180048eef
mov rax, qword [rbp + 0x1e8]
mov r14d, edi
movzx r10d, byte [r10]
movzx esi, byte [r13]
movzx r12d, byte [r13 + 1]
movzx r11d, byte [rax]
movzx eax, byte [rax + 1]
mov ecx, dword [r15]
mov byte [rsp + 0x34], al
mov byte [rsp + 0x35], r10b
mov byte [rsp + 0x36], r11b
mov byte [rsp + 0x37], sil
mov byte [rsp + 0x38], r12b
test ecx, ecx
jle 0x180048edd
mov r13, qword [rbp + 0x1e0]
lea rdx, [rbp + 0x70]
mov rbx, qword [rbp + 0x1d0]
mov qword [rsp + 0x58], rdx
nop word [rax + rax]
mov eax, ecx
test ecx, ecx
jle 0x180048ea8
movzx ecx, sil
lea rsi, [rsp + 0x70]
movzx eax, r11b
add ecx, eax
movzx eax, r10b
add ecx, eax
movzx eax, byte [rsp + 0x34]
lea r15d, [rax + rcx*2]
movzx eax, r12b
movsx r12d, word [rdx]
add r15d, eax
nop dword [rax]
nop word [rax + rax]
movsx eax, word [rsi]
mov ecx, 0xd0
mov r9d, dword [r9]
sub eax, r15d
add eax, 4
mov dword [rsp + 0x48], r9d
add eax, r12d
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 0x60], eax
mov eax, ecx
sub eax, 0xca
je 0x180048e08
sub eax, 3
je 0x180048e30
cmp eax, 3
jne 0x180048e1b
mov r8d, dword [rsp + 0x60]
mov ecx, r9d
test r8d, r8d
mov edx, r8d
mov r10d, 0
mov r9d, 1
cmovs edx, r10d
shl r9d, cl
lea eax, [r9 - 1]
cmp eax, edx
jge 0x180048e27
lea r8d, [r9 - 1]
jmp 0x180048e5e
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x60], xmm0
mov qword [rbp - 0x80], rax
movups xmmword [rsp + 0x70], xmm0
dec ecx
cmp ecx, 0xcd
ja 0x180048dc6
jmp 0x180048e5e
test r8d, r8d
cmovs r8d, r10d
jmp 0x180048e5e
mov r8, qword [pe_dos_header]
lea rdx, [rsp + 0x48]
xor eax, eax
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov rax, qword [0x180112060]
mov qword [rsp + 0x20], r8
call qword [rax + 0x10]
mov r8d, eax
mov rax, qword [rbp + 0x1f0]
add rsi, 2
mov r9, qword [rbp + 0x1c8]
mov eax, dword [rax]
imul eax, r14d
add eax, edi
inc edi
cdqe
mov byte [rax + rbx], r8b
mov eax, dword [r13]
cmp edi, eax
jl 0x180048da0
mov rdx, qword [rsp + 0x58]
movzx r10d, byte [rsp + 0x35]
movzx r11d, byte [rsp + 0x36]
movzx esi, byte [rsp + 0x37]
movzx r12d, byte [rsp + 0x38]
add rdx, 2
inc r14d
mov qword [rsp + 0x58], rdx
mov ecx, eax
mov edi, 0
cmp r14d, eax
jl 0x180048d60
mov rbx, qword [rsp + 0x40]
mov r13, qword [rbp + 0x1c0]
mov r15, qword [rbp + 0x1e0]
mov edx, dword [rbp + 0x1f8]
mov r14, qword [rbp + 0x1e8]
mov r10, qword [rbp + 0x1d8]
mov ecx, dword [rsp + 0x30]
imul eax, edx, 0x51
add ecx, eax
mov dword [rsp + 0x30], ecx
cmp ecx, dword [rsp + 0x50]
ja 0x180048a90
mov r9, qword [rbp + 0x1c8]
jmp 0x180048a41
mov rax, qword [rbp + 0x1e0]
mov r15, qword [rbp + 0x1e0]
movsxd rax, dword [rax]
movzx edx, byte [rax + r13 - 1]
lea r9, [rax - 1]
lea rcx, [rax + r13]
movzx eax, dx
shl ax, 2
add dx, ax
movzx eax, byte [rcx - 2]
add ax, ax
add dx, ax
movzx eax, byte [rcx - 3]
add dx, ax
mov word [rbp + r9*2 + 0x70], dx
mov edx, dword [rbp + 0x1f8]
jmp 0x180048eeb
movzx eax, byte [r13 + 1]
lea r9, [r13 + 3]
movzx edx, byte [r13]
mov r10d, 2
movzx ecx, byte [r13 + 2]
add cx, ax
movzx eax, byte [r9]
add cx, dx
add cx, cx
add cx, ax
mov rax, qword [rbp + 0x1e0]
add cx, dx
mov word [rbp + 0x72], cx
movsxd rdx, dword [rax]
lea ecx, [rdx - 2]
lea eax, [rcx - 2]
cmp ecx, r10d
jle 0x18004901c
cmp eax, 8
jb 0x18004901c
and eax, 0x80000007
jge 0x180048fb2
dec eax
or eax, 0xfffffff8
inc eax
sub ecx, eax
movsxd rax, ecx
nop word [rax + rax]
movq xmm2, qword [r9 - 2]
xorps xmm0, xmm0
movq xmm1, qword [r9]
lea r9, [r9 + 8]
punpcklbw xmm1, xmm0
punpcklbw xmm2, xmm0
paddw xmm2, xmm1
movq xmm1, qword [r9 - 9]
punpcklbw xmm1, xmm0
paddw xmm2, xmm1
movq xmm1, qword [r9 - 0xb]
punpcklbw xmm1, xmm0
paddw xmm2, xmm2
paddw xmm2, xmm1
movq xmm1, qword [r9 - 7]
punpcklbw xmm1, xmm0
paddw xmm2, xmm1
movdqu xmmword [rbp + r10*2 + 0x70], xmm2
add r10, 8
cmp r10, rax
jl 0x180048fc0
lea rdi, [rdx - 2]
mov rsi, rdx
cmp r10, rdi
jge 0x18004907d
lea r9, [r13 + 1]
add r9, r10
movzx r11d, byte [r9]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r9 - 1]
movzx edx, byte [r9 + 1]
movzx ecx, byte [r9 - 2]
lea r9, [r9 + 1]
add cx, ax
movzx eax, r11b
add cx, ax
movzx r11d, dl
movzx eax, byte [r9 - 4]
add cx, cx
add cx, ax
add cx, dx
mov word [rbp + r10*2 + 0x70], cx
inc r10
cmp r10, rdi
jl 0x180049040
movzx edx, byte [rdi + r13]
movzx eax, byte [rsi + r13 - 3]
movzx ecx, byte [rsi + r13 - 1]
add dx, ax
movzx eax, byte [rsi + r13 - 4]
add dx, cx
mov r15, qword [rbp + 0x1e0]
add dx, dx
add dx, ax
add dx, cx
mov word [rbp + rdi*2 + 0x70], dx
mov edx, dword [rbp + 0x1f8]
jmp 0x180048ee4
mov eax, dword [r14]
mov dword [r13 + 8], eax
jmp 0x180048eef
mov ecx, 2
call fcn.1800d2ed8
mov rcx, rax
lea rdx, str.mentation_de__0_diff_:___vs.__1_2
mov r8d, edi
call fcn.1800c5f20
call fcn.1800ce940
int3