Function at 0x180041ad0
Capabilities:
Check for software breakpoints

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1a8]
sub rsp, 0x270
mov ebx, r9d
movaps xmmword [rax - 0x48], xmm6
mov rsi, r8
mov dword [rsp + 0x58], ebx
mov r9, rdx
mov r12, rcx
mov edi, ebx
lea r13d, [rbx + 0x814]
mov dword [rbp - 0x78], r13d
cmp ebx, r13d
jae 0x180042433
mov rax, qword [rsp + 0x78]
mov edx, 0x201
mov r14d, dword [rbp + 0x1c8]
mov ecx, 0x120
mov ebx, dword [rbp + 0x1c8]
mov r15d, 1
movss xmm6, dword [rbp + 0x1c8]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x40], r14d
cmp edi, 0xbe
ja 0x180041c46
je 0x180041c33
mov eax, edi
sub eax, 2
je 0x180041c1e
sub eax, 0x27
je 0x180041be5
sub eax, 0x22
je 0x180041bc7
sub eax, 0x16
je 0x180041bba
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
cmp eax, 0x37
jne 0x180042226
xor ebx, ebx
mov dword [rsp + 0x50], 0
xor r14d, r14d
mov dword [rsp + 0x40], r14d
jmp 0x180042226
xor r10d, r10d
mov qword [rsp + 0x68], r10
jmp 0x180042221
mov eax, 0x10624dd3
imul dword [r12]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18004220b
mov eax, dword [r12 + 4]
cmp dword [r12], eax
jbe 0x18004221c
lea r9, [rsp + 0x78]
mov qword [rsp + 0x78], r15
mov r8, r12
mov qword [rsp + 0x48], 0
mov edx, 0x102
lea rcx, [rsp + 0x48]
call fcn.1800479d0
jmp 0x18004220b
test r12, r12
jne 0x18004221c
mov rax, qword [0x1800c7780]
jmp 0x180041d03
mov r10, qword [rsp + 0x68]
lea r11, [rbp + 0x4f]
mov qword [rsp + 0x60], r11
jmp 0x180042226
mov eax, edi
sub eax, 0x125
je 0x1800421cf
sub eax, 0x2f
je 0x180042164
sub eax, 0x8d
je 0x180042410
sub eax, 0x2f
je 0x18004202c
cmp eax, 0xbc
jne 0x18004221c
movzx eax, word [rsi + 0x18]
test dx, ax
je 0x18004239d
test al, 8
je 0x180041dc3
test al, 1
je 0x180041d26
cmp qword [rsi + 0x58], 0
jne 0x180041d26
mov r9, r12
mov dword [rsp + 0x58], r15d
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], 0
mov edx, 0xb2
xor ecx, ecx
call fcn.18001b810
mov dword [rsp + 0x50], eax
test eax, eax
jns 0x180042019
neg eax
mov qword [rsp + 0x20], 0
mov rdx, r12
mov dword [rbp + 0x1c8], eax
xor r8d, r8d
lea rcx, [rbp + 0x1c8]
mov r9d, 0xef
call fcn.18004e9d0
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x2b0]
movaps xmm6, xmmword [rsp + 0x260]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
add rsi, 0x38
lea rax, [r12 + 0x38]
xor ebx, ebx
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x1c0], rsi
cmp qword [rsi + 0x20], rbx
lea rdi, [rsi + 0x20]
je 0x180041db8
mov r15, qword [rbp + 0x1b8]
nop
xor r8d, r8d
mov dword [rsp + 0x40], ebx
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], r12
xor ecx, ecx
lea edx, [r8 + 0x33]
call fcn.18002aa30
mov qword [rsp + 0x70], rax
test rax, rax
je 0x18004232d
mov ecx, dword [r15]
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x40], ecx
mov r9d, StrCmpICA
mov rcx, rax
mov r8, rsi
call fcn.180041ad0
test eax, eax
js 0x180042370
mov rsi, qword [rdi]
add r14d, eax
lea rdi, [rsi + 0x20]
mov qword [rbp + 0x1c0], rsi
inc ebx
cmp qword [rdi], 0
jne 0x180041d50
mov edi, dword [rsp + 0x58]
xor ebx, ebx
jmp 0x180042019
test byte [rsi + 0x14], 0x20
je 0x180041fec
cmp word [r12 + 0x14], 0
mov r13d, eax
je 0x180041f3d
mov r15d, 0xca
mov eax, r15d
sub eax, 0xca
je 0x180041dfe
cmp eax, 1
jne 0x180041f19
sub r14d, ebx
jmp 0x180041f19
inc dword [r9]
add r12, 0x38
add rsi, 0x38
mov qword [rbp + 0x1c0], rsi
mov eax, dword [r12]
cmp dword [rsi], eax
je 0x180041e25
cmp word [r12 + 0x14], 0
jne 0x18004233a
mov edi, 0xae
nop word [rax + rax]
cmp edi, 0xae
jne 0x180041ec4
mov eax, dword [r9]
lea rdx, [rsp + 0x40]
lea r9d, [rdi - 0x16]
mov dword [rsp + 0x40], eax
mov r8, rsi
mov rcx, r12
call fcn.180041ad0
mov rbx, rax
test eax, eax
js 0x180042378
lea r9d, [rdi - 1]
mov dword [rbp - 0x68], 1
xor r8d, r8d
lea rdx, [rbp - 0x68]
mov rcx, rsi
add r14d, ebx
call fcn.1800596b0
mov qword [rbp + 0x1c0], rax
mov rsi, rax
test rax, rax
je 0x180041eb8
lea r9d, [rdi - 1]
mov dword [rsp + 0x40], 1
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.1800596b0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x180042344
mov r12, qword [rsp + 0x70]
mov r9, qword [rbp + 0x1b8]
add edi, 0xb2
cmp edi, 0x160
jb 0x180041e30
test rsi, rsi
jne 0x180041e25
test r14d, r14d
jne 0x180041f19
test r13b, 1
je 0x180041f19
xor edi, edi
mov dword [rsp + 0x40], 1
mov r9, r12
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x40]
mov edx, 0xb2
xor ecx, ecx
call fcn.18001b810
mov dword [rsp + 0x50], eax
test eax, eax
js 0x180042384
mov r9, qword [rbp + 0x1b8]
inc r15d
cmp r15d, 0xcc
jb 0x180041de3
mov edi, dword [rsp + 0x58]
mov r13d, dword [rbp - 0x78]
jmp 0x180042019
mov edi, 0x11d
mov eax, edi
sub eax, 0x11c
je 0x180041fa0
cmp eax, 1
jne 0x180041fd4
mov r8, rsi
lea edx, [rax + 0x4c]
xor ecx, ecx
call fcn.1800266b0
movsxd rbx, eax
test eax, eax
js 0x180042390
mov rdx, rbx
mov rcx, r15
call fcn.180080de4
mov r9d, 0xce
mov qword [r12 + 8], rax
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov rdx, rax
mov rcx, rsi
call fcn.18005ae90
mov dword [r12 + 0x10], ebx
jmp 0x180041fd4
mov eax, dword [rsi]
lea r8, [rsp + 0x40]
mov r9, r12
mov dword [r12], eax
mov edx, 0xb2
mov dword [rsp + 0x40], r15d
xor ecx, ecx
mov qword [rsp + 0x20], 0
call fcn.18001b810
mov dword [rsp + 0x50], eax
test eax, eax
js 0x180041cd1
dec edi
cmp edi, 0x11b
ja 0x180041f42
mov edi, dword [rsp + 0x58]
mov r13d, dword [rbp - 0x78]
jmp 0x180042019
mov r8, qword [rsi + 8]
test r8, r8
je 0x180042019
mov eax, dword [rsi + 0x10]
lea rcx, [rsp + 0x58]
mov r9d, 0x14
mov dword [rsp + 0x58], eax
mov rdx, r12
call fcn.18001c820
mov ebx, eax
test eax, eax
js 0x180042378
add r14d, ebx
mov r15d, 1
mov dword [rsp + 0x40], r14d
jmp 0x18004220b
mov dword [rsp + 0x50], 0
nop dword [rax]
nop dword [rax + rax]
cmp word [rsi + 0x14], cx
mov qword [rsp + 0x70], rsi
jb 0x18004212c
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x50]
mov rdx, rsi
mov ecx, 0xbf
call fcn.18002d030
mov qword [rbp + 0x1c0], rax
mov rsi, rax
test rax, rax
je 0x180042117
cmp dword [rsp + 0x50], 0
jne 0x1800420cd
mov eax, 0x800
test word [r12 + 0x18], ax
je 0x1800420cd
mov edx, 0xd7
mov qword [rsp + 0x70], r12
mov rcx, r12
call fcn.18001bf00
mov r12, rax
mov ecx, 0x15
mov eax, dword [rsp + 0x50]
test r12, r12
cmove eax, ecx
mov dword [rsp + 0x50], eax
cmp word [r12 + 0x14], 0
jne 0x18004210b
mov eax, dword [rsi]
mov dword [r12], eax
jmp 0x18004210b
mov qword [rsp + 0x70], r12
lea r8, [rbp - 0x60]
mov eax, dword [rsi]
xor r9d, r9d
mov dword [rbp - 0x60], eax
xor edx, edx
lea rax, [r12 + 0x38]
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x41
call fcn.180027aa0
mov r12, rax
mov eax, dword [rsp + 0x50]
test r12, r12
cmove eax, r15d
mov dword [rsp + 0x50], eax
movzx eax, word [rsi + 0x18]
test al, 1
je 0x1800423c2
cmp dword [rsp + 0x50], 0
jne 0x1800423f9
mov ecx, 0x120
jmp 0x180042040
test byte [r12 + 0x18], 2
je 0x180042210
xor edx, edx
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, r12
lea ecx, [rdx + 0x5c]
call fcn.18002e400
mov rsi, qword [rsi + 0x20]
mov r12, rax
mov qword [rbp + 0x1c0], rsi
jmp 0x18004220b
movzx eax, word [r12 + 0x14]
test ax, ax
je 0x18004218b
cmp word [rsi + 0x14], ax
jne 0x18004241b
cmp dword [r9], 0
je 0x18004218b
mov eax, dword [r12]
cmp dword [rsi], eax
jne 0x18004241b
movzx eax, byte [r12 + 0x18]
xor al, byte [rsi + 0x18]
test al, 8
jne 0x18004241b
xor r9d, r9d
mov dword [rsp + 0x58], 0
lea r8, [rsp + 0x58]
mov dword [rsp + 0x20], 0x2c
mov rdx, rsi
xor ecx, ecx
call fcn.18006a130
test eax, eax
jne 0x18004220b
mov dword [rsp + 0x48], 0
jmp 0x180041cfe
movsd xmm0, qword [r12 + 0x20]
subsd xmm0, qword [rsi + 0x20]
cvtpd2ps xmm0, xmm0
call fcn.18008dbb0
movaps xmm6, xmm0
movsd xmm0, qword [r12 + 0x18]
subsd xmm0, qword [rsi + 0x18]
cvtpd2ps xmm0, xmm0
call fcn.18008dbb0
mulss xmm6, xmm0
movaps xmm0, xmm6
call fcn.18008d0c8
movaps xmm6, xmm0
mov ecx, 0x120
mov r9, qword [rbp + 0x1b8]
mov edx, 0x201
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
add edi, 0xbc
mov dword [rsp + 0x58], edi
cmp edi, r13d
jb 0x180041b64
mov edx, dword [rsp + 0x40]
mov ebx, dword [rbp + 0x1c8]
lea eax, [rbx + 0x41a]
mov dword [rsp + 0x58], eax
cmp ebx, eax
jae 0x180041cfe
mov r13, qword [rbp - 0x80]
movabs rcx, 0x6666666666666667
movzx esi, byte [rbp + 0x1c8]
movzx r14d, byte [rbp + 0x1c8]
mov rdi, qword [rbp - 0x80]
movzx r15d, byte [rbp + 0x1c8]
nop
cmp ebx, 0xd4
ja 0x1800426b9
je 0x18004261e
mov eax, ebx
sub eax, 2
je 0x1800425a9
sub eax, 0x5f
je 0x180042554
sub eax, 0xa
je 0x180042542
sub eax, 0x2d
je 0x1800424bd
cmp eax, 0x32
jne 0x18004249e
cmp qword [r12 + 0x18], 0x10
mov r9, r12
jb 0x1800422d0
mov r9, qword [r12]
cmp r10, qword [r12 + 0x10]
jae 0x18004249e
nop dword [rax + rax]
mov r8d, 0x106
nop word [rax + rax]
mov eax, r8d
sub eax, 0x106
je 0x180042456
cmp eax, 1
jne 0x180042470
movzx eax, r14b
mov byte [rax + rdi], r15b
movzx eax, sil
movzx ecx, byte [rax + rdi]
add cl, r15b
movzx eax, cl
movzx ecx, byte [rax + rdi]
xor byte [r9 + r10], cl
inc r10
jmp 0x180042470
neg r14d
mov dword [rsp + 0x48], r14d
jmp 0x180041cfe
mov eax, 1
jmp 0x180041cd3
mov eax, 1
mov qword [rsp + 0x20], 0
mov r9d, 0xef
mov dword [rbp + 0x1c8], eax
xor r8d, r8d
lea rcx, [rbp + 0x1c8]
mov rdx, r12
call fcn.18004e9d0
sub eax, r14d
jmp 0x180041cfa
sub ebx, r14d
mov dword [rsp + 0x48], ebx
jmp 0x180041cfe
neg eax
mov qword [rsp + 0x20], rdi
jmp 0x180041cdc
mov dword [rsp + 0x48], 0xffffffff
jmp 0x180041cfe
test al, 4
jne 0x1800421c2
mov rdx, qword [rsp + 0x70]
mov dword [rbp + 0x1c8], 6
mov qword [rsp + 0x20], 0
jmp 0x180041ce5
mov rdx, qword [rsp + 0x70]
mov ecx, 0x204
test word [rdx + 0x18], cx
jne 0x1800421c2
test cx, ax
jne 0x1800421c2
mov dword [rsp + 0x50], 6
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x20], 0
jmp 0x180041cdf
mov rdx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x20], 0
jmp 0x180041cdf
movss dword [rsp + 0x48], xmm6
jmp 0x180041cfe
mov dword [rbp + 0x1c8], r15d
mov rdx, rsi
mov qword [rsp + 0x20], 0
jmp 0x180041ce5
mov r11, qword [rsp + 0x78]
mov r10, qword [rsp + 0x78]
mov edx, dword [rbp + 0x1c8]
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], r10
mov dword [rsp + 0x40], edx
jmp 0x180042243
inc sil
movzx edx, sil
movzx r15d, byte [rdx + rdi]
add r14b, r15b
movzx eax, r14b
movzx ecx, byte [rax + rdi]
mov byte [rdx + rdi], cl
inc r8d
cmp r8d, 0x108
jb 0x1800422f0
mov qword [rsp + 0x68], r10
cmp r10, qword [r12 + 0x10]
jb 0x1800422e0
movabs rcx, 0x6666666666666667
mov edx, dword [rsp + 0x40]
add ebx, 0x69
mov dword [rbp + 0x1c8], ebx
cmp ebx, dword [rsp + 0x58]
jae 0x180041cfe
mov r9, qword [rbp + 0x1b8]
jmp 0x180042280
xor r8d, r8d
mov dword [rbp - 0x78], edx
lea rcx, [rbp - 0x78]
lea edx, [r8 + 0x6e]
call fcn.18004d3d0
mov ebx, eax
mov qword [rsp + 0x70], r12
lea rax, [rsp + 0x70]
mov r9d, 0x49
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x40]
lea rax, [rbp - 0x48]
mov qword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.18003e370
mov edx, dword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
movsd xmm0, qword [rax]
movsd qword [rbp - 0x58], xmm0
mov ecx, dword [rbp - 0x58]
add ecx, ebx
mov ebx, dword [rbp + 0x1c8]
add edx, ecx
movabs rcx, 0x6666666666666667
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x48], edx
jmp 0x18004249e
lea rax, [rbp - 0x30]
mov r13, r11
sub r13, rax
inc r13
jmp 0x18004249e
mov rax, qword [rbp + 0x1c0]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180042568
mov rdx, qword [rax]
mov eax, dword [rax + 0x10]
lea r9, [rbp + 0x50]
mov r8d, 0x25
mov dword [rbp + 0x1c8], eax
lea rcx, [rbp + 0x1c8]
call fcn.180050710
mov r10, qword [rsp + 0x68]
lea rdi, [rbp + 0x50]
mov r11, qword [rsp + 0x60]
movzx esi, byte [rbp + 0x150]
movzx r14d, byte [rbp + 0x151]
jmp 0x180042490
mov rax, qword [r9]
cqo
mov r8, rax
xor r8, rdx
sub r8, rdx
nop word [rax + rax]
mov rax, rcx
imul r8
sar rdx, 2
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
movabs rcx, 0x6666666666666667
add r8b, 0x30
mov byte [r11], r8b
dec r11
mov r8, rdx
test rdx, rdx
jne 0x1800425c0
cmp qword [r9], 0
mov qword [rsp + 0x60], r11
jge 0x18004249a
mov byte [r11], 0x2d
dec r11
mov qword [rsp + 0x60], r11
jmp 0x18004249a
mov rax, qword [rbp + 0x1c0]
mov ebx, 0x80
sub rbx, r13
mov qword [rbp - 0x80], rbx
cmp byte [rax], 0
je 0x18004264f
mov rdx, qword [r12]
test rdx, rdx
je 0x18004264f
xor r9d, r9d
xor ecx, ecx
lea r8d, [r9 + 0x58]
call fcn.18006b6d0
jmp 0x180042651
xor eax, eax
mov qword [rsp + 0x78], rax
mov r9d, 0xf1
mov qword [rbp - 0x78], rax
xor r8d, r8d
lea rax, [rbp - 0x78]
mov qword [rbp - 0x70], rbx
mov qword [rsp + 0x38], rax
xor edx, edx
lea rax, [rbp - 0x70]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
xor ecx, ecx
mov qword [rsp + 0x20], 0
call fcn.1800417d0
test al, al
jne 0x1800426f1
mov rax, qword [rsp + 0x78]
mov r10, qword [rsp + 0x68]
add rax, rbx
mov r11, qword [rsp + 0x60]
mov ebx, dword [rbp + 0x1c8]
mov qword [rbp - 0x70], rax
jmp 0x180042490
mov eax, ebx
sub eax, 0x101
je 0x180041cfe
sub eax, 0x32
je 0x1800426e5
sub eax, 0xa
je 0x180042717
cmp eax, 0x5f
jne 0x18004249e
mov byte [rbp + 0x151], r14b
jmp 0x18004249e
mov byte [rbp + 0x150], sil
jmp 0x18004249e
mov rdx, qword [r12]
test rdx, rdx
je 0x180041c27
mov r9d, 0x85
xor r8d, r8d
xor ecx, ecx
call fcn.180065380
mov rax, qword [r12]
jmp 0x180041d03
mov rdi, qword [rbp - 0x70]
lea rdx, [rbp - 0x70]
mov dword [rsp + 0x30], 0x159
xor r9d, r9d
mov qword [rsp + 0x28], r12
xor r8d, r8d
xor ecx, ecx
mov qword [rbp - 0x70], rdi
mov qword [rsp + 0x20], 0
call fcn.180051b90
cmp rax, rdi
jb 0x1800427ac
mov r9, qword [r12]
test r9, r9
je 0x1800427ac
xor r8d, r8d
mov edx, 0x103
xor ecx, ecx
call fcn.180059950
mov rcx, qword [rsp + 0x78]
lea rdx, [rbp - 0x30]
mov rbx, qword [rbp - 0x80]
add rdx, r13
add rcx, rax
mov r8, rbx
call fcn.18007ce90
mov r8, qword [r12]
lea rcx, [rbp - 0x80]
mov edx, 0xe6
mov qword [rbp - 0x80], rdi
call fcn.180071590
mov r9, qword [r12]
lea r8, [rbp - 0x80]
mov edx, 0xcc
mov qword [rbp - 0x80], rbx
xor ecx, ecx
call fcn.18004ab40
mov rax, qword [r12]
jmp 0x180041d03