Function at 0x18003d140
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp + 0x40], rbx
lea r11, [0x180109270]
mov qword [rsp + 0x28], rdi
lea rbx, [0x180000000]
mov qword [rsp + 0x20], r12
mov r8, rdx
xor r12b, r12b
mov qword [rsp + 8], r15
xor dl, dl
mov dword [rsp + 0x60], r12d
mov r9, rcx
mov byte [rsp + 0x68], dl
xor eax, eax
mov rdi, r8
mov ecx, 0x25
mov r10b, 0x10
rep stosb byte [rdi], al
nop
movzx edi, byte ds:[r9]
inc r9
lea eax, [rdi - 0x26]
cmp eax, 0xcd
ja case.0x18003d1bb.44
cdqe
movzx eax, byte [rbx + rax + 0x3d870]
mov ecx, dword [rbx + rax*4 + 0x3d854]
add rcx, rbx
jmp rcx
mov byte [r8 + 1], dil
or dl, 4
jmp 0x18003d1f2
mov byte [r8 + 1], dil
or dl, 2
jmp 0x18003d1f2
mov byte [r8 + 2], dil
or dl, 0x20
jmp 0x18003d1f2
mov byte ds:[r8 + 3], dil
or dl, 0x40
jmp 0x18003d1f2
mov byte [r8 + 4], dil
or dl, 8
jmp 0x18003d1f2
mov byte [r8 + 5], dil
or dl, 0x10
add r10b, 0xff
jne 0x18003d190
mov qword [rsp + 0x38], rbp
mov ebx, 1
movzx eax, dl
mov ecx, ebx
mov qword [rsp + 0x30], rsi
movzx r10d, dl
shl r10d, 0x17
test dl, dl
mov qword [rsp + 0x18], r13
mov qword [rsp + 0x10], r14
cmovne ecx, eax
mov dword [r8 + 0x21], r10d
movzx eax, dil
and al, 0xf0
cmp al, 0x40
jne 0x18003d298
bts r10d, 0x1e
movzx eax, dil
shr al, 3
and al, bl
mov dword [r8 + 0x21], r10d
mov byte [r8 + 7], al
je 0x18003d25e
movzx eax, byte [r9]
and al, 0xf8
movzx r12d, r12b
cmp al, 0xb8
cmove r12d, ebx
mov dword [rsp + 0x60], r12d
movzx eax, dil
shr al, 2
and al, bl
mov byte [r8 + 8], al
movzx eax, dil
shr al, 1
and dil, bl
and al, bl
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
movzx edi, byte [r9]
inc r9
movzx eax, dil
and al, 0xf0
cmp al, 0x40
jne 0x18003d298
movzx r14d, dil
movzx esi, cl
jmp 0x18003d305
mov byte ds:[r8 + 0xb], dil
movzx esi, cl
cmp dil, 0xf
jne 0x18003d2ba
movzx edi, byte [r9]
lea r11, [0x1801092ba]
mov byte [r8 + 0xc], dil
inc r9
jmp 0x18003d2e3
nop word [rax + rax]
cmp dil, 0xa0
jb 0x18003d2e3
cmp dil, 0xa3
ja 0x18003d2e3
inc r12b
mov dword [rsp + 0x60], r12d
test cl, 0x10
je 0x18003d2df
or sil, 8
jmp 0x18003d2e3
and sil, 0xf7
movzx edx, dil
movzx r14d, dil
mov eax, edx
and edx, 3
shr rax, 2
movzx eax, byte [rax + r11]
add rax, r11
movzx ebx, byte [rdx + rax]
cmp bl, 0xff
jne 0x18003d328
or r10d, 0x3000
movzx eax, dil
and eax, 0xfffffffd
mov dword [r8 + 0x21], r10d
xor bl, bl
cmp al, 0x24
jne 0x18003d328
mov bl, 1
movzx r13d, dil
xor bpl, bpl
jmp 0x18003d342
xor bpl, bpl
movzx r13d, dil
test bl, bl
jns 0x18003d342
and ebx, 0x7f
movzx ebx, word [rbx + r11]
movzx ebp, bx
shr bp, 8
movzx r15d, byte [r8 + 0xc]
mov r11d, r10d
test r15b, r15b
je 0x18003d38c
movzx edx, dil
lea rcx, [0x180109270]
mov eax, edx
and edx, 3
shr rax, 2
movzx ecx, byte [rax + rcx + 0x13c]
add rcx, rdx
lea rdx, [0x180109270]
test byte [rcx + rdx + 0x13c], sil
je 0x18003d393
or r11d, 0x3000
mov dword [r8 + 0x21], r11d
jmp 0x18003d393
lea rdx, [0x180109270]
test bl, 1
je 0x18003d722
or r11d, 1
mov dword [r8 + 0x21], r11d
mov edi, r11d
movzx r10d, byte [r9]
movzx r12d, r10b
mov byte [r8 + 0xd], r10b
movzx ecx, r10b
shr r12b, 6
and cl, 7
shr r10b, 3
and r10b, 7
mov byte [r8 + 0xe], r12b
mov byte [rsp + 0x58], cl
mov byte [r8 + 0x10], cl
mov byte [r8 + 0xf], r10b
test bpl, bpl
je 0x18003d3fb
movzx ecx, r10b
movzx eax, bpl
shlx ecx, eax, ecx
test cl, cl
movzx ecx, byte [rsp + 0x58]
jns 0x18003d3fb
or edi, 0x3000
mov dword [r8 + 0x21], edi
mov eax, edi
test r15b, r15b
jne 0x18003d459
cmp r14b, 0xd9
jb 0x18003d459
cmp r14b, 0xdf
ja 0x18003d459
lea eax, [r14 + 0x27]
movzx r11d, al
cmp r12b, 3
jne 0x18003d439
movzx eax, r10b
lea rdx, [rax + r11*8]
lea rax, [0x180109270]
movzx r11d, byte [rdx + rax + 0x104]
jmp 0x18003d446
movzx r11d, byte [r11 + rdx + 0xfd]
movzx ecx, r10b
shl r11b, cl
mov eax, edi
test r11b, r11b
jns 0x18003d459
or eax, 0x3000
mov dword [r8 + 0x21], eax
test sil, 0x20
je 0x18003d4cc
nop
cmp r12b, 3
jne 0x18003d471
or eax, 0x9000
mov dword [r8 + 0x21], eax
jmp 0x18003d4cc
movzx edx, r14b
test r15b, r15b
jne 0x18003d48d
and dl, 0xfe
lea rdi, [0x180109436]
lea rcx, [0x18010941e]
jmp 0x18003d4a0
lea rdi, [0x180109448]
lea rcx, [0x180109436]
nop dword [rax + rax]
cmp byte [rcx], dl
je 0x18003d4af
add rcx, 2
cmp rcx, rdi
jne 0x18003d4a0
jmp 0x18003d4c4
movzx ecx, byte ds:[rcx + 1]
movzx eax, r10b
shlx ecx, ecx, eax
test cl, cl
jns 0x18003d4cc
or dword [r8 + 0x21], 0x9000
movzx ecx, r13b
mov edx, ecx
test r15b, r15b
je 0x18003d525
sub edx, 0x20
je 0x18003d505
nop dword [rax]
sub edx, 1
je 0x18003d4ef
sub edx, 1
je 0x18003d505
cmp edx, 1
jne 0x18003d53a
lea eax, [r10 - 4]
mov r12b, 3
cmp al, 1
ja 0x18003d5e4
nop
jmp 0x18003d5dc
mov r12b, 3
cmp r10b, 4
ja 0x18003d5dc
cmp r10b, 1
jne 0x18003d5e4
nop dword [rax]
jmp 0x18003d5dc
sub edx, 0x8c
je 0x18003d5d6
cmp edx, 2
je 0x18003d5d0
nop word [rax + rax]
cmp r12b, 3
jne 0x18003d59b
test r15b, r15b
je 0x18003d55b
lea rdx, [0x180109481]
lea rcx, [0x180109457]
jmp 0x18003d570
lea rdx, [0x180109457]
lea rcx, [0x180109448]
nop dword [rax]
cmp byte [rcx], r14b
je 0x18003d582
add rcx, 3
cmp rcx, rdx
jne 0x18003d570
nop
jmp 0x18003d5e4
test byte [rcx + 1], sil
je 0x18003d5e4
movzx ecx, byte [rcx + 2]
movzx eax, r10b
shlx ecx, ecx, eax
test cl, cl
jns 0x18003d5dc
jmp 0x18003d5e4
nop dword [rax + rax]
test r15b, r15b
je 0x18003d5e4
sub ecx, 0x50
je 0x18003d5be
sub ecx, 0x75
je 0x18003d5dc
sub ecx, 0x11
je 0x18003d5c8
sub ecx, 1
je 0x18003d5be
cmp ecx, 0x20
jne 0x18003d5e4
nop
test sil, 9
jne 0x18003d5dc
jmp 0x18003d5e4
test sil, 6
jne 0x18003d5dc
jmp 0x18003d5e4
cmp r10b, 1
je 0x18003d5dc
cmp r10b, 5
jbe 0x18003d5e4
or dword [r8 + 0x21], 0x11000
movzx edx, byte [r9 + 1]
add r9, 2
cmp r10b, 1
ja 0x18003d609
cmp r14b, 0xf6
jne 0x18003d5fe
or bl, 2
jmp 0x18003d609
nop
cmp r14b, 0xf7
jne 0x18003d609
or bl, 0x10
movzx ecx, r12b
mov r10d, 4
test r12b, r12b
je 0x18003d642
sub ecx, 1
je 0x18003d636
cmp ecx, 1
movzx ecx, byte [rsp + 0x58]
jne 0x18003d66a
mov dil, 2
test sil, 0x10
jne 0x18003d66e
movzx edi, r10b
jmp 0x18003d66e
movzx ecx, byte ds:[rsp + 0x58]
mov dil, 1
jmp 0x18003d66e
movzx ecx, byte [rsp + 0x58]
test sil, 0x10
je 0x18003d65c
xor eax, eax
mov edi, 2
cmp cl, 6
cmovne edi, eax
jmp 0x18003d66e
movzx edi, byte [rsp + 0x68]
cmp cl, 5
cmove edi, r10d
jmp 0x18003d66e
mov edi, dword [rsp + 0x68]
cmp r12b, 3
je 0x18003d6b3
cmp cl, r10b
jne 0x18003d6b3
or dword [r8 + 0x21], 2
movzx eax, dl
shr al, 6
inc r9
mov byte [r8 + 0x12], al
movzx eax, dl
shr al, 3
and al, 7
mov byte [r8 + 0x11], dl
and dl, 7
mov byte [r8 + 0x13], al
mov byte [r8 + 0x14], dl
cmp dl, 5
jne 0x18003d6b3
test r12b, 1
movzx edi, dil
cmove edi, r10d
dec r9
movzx ecx, dil
sub ecx, 1
je 0x18003d706
nop
sub ecx, 1
je 0x18003d6e7
cmp ecx, 2
jne 0x18003d713
or dword [r8 + 0x21], 0x100
mov eax, dword [r9]
mov r12d, dword [rsp + 0x60]
mov dword [r8 + 0x1d], eax
movzx eax, dil
add r9, rax
jmp 0x18003d733
or dword [r8 + 0x21], 0x80
movzx eax, word [r9]
mov r12d, dword [rsp + 0x60]
mov word [r8 + 0x1d], ax
movzx eax, dil
add r9, rax
jmp 0x18003d733
or dword [r8 + 0x21], 0x40
movzx eax, byte [r9]
mov byte [r8 + 0x1d], al
mov r12d, dword ds:[rsp + 0x60]
movzx eax, dil
add r9, rax
jmp 0x18003d733
test sil, 0x20
je 0x18003d733
or r11d, 0x9000
mov dword [r8 + 0x21], r11d
mov r15, qword [rsp + 8]
mov r14, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x38]
test bl, 0x10
je 0x18003d7b6
test bl, 0x40
je 0x18003d785
nop word [rax + rax]
test sil, 8
je 0x18003d7e7
or dword ds:[r8 + 0x21], 0x208
movzx eax, word [r9]
add r9, 2
mov word [r8 + 0x15], ax
jmp 0x18003d818
test r12b, r12b
je 0x18003d79c
or dword [r8 + 0x21], 0x20
mov rax, qword [r9]
add r9, 8
mov qword [r8 + 0x15], rax
jmp 0x18003d7b6
nop dword [rax]
test sil, 8
jne 0x18003d7bb
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
add r9, 4
mov dword [r8 + 0x15], eax
test bl, 4
je 0x18003d7cd
or dword [r8 + 0x21], 8
movzx eax, word [r9]
add r9, 2
mov word [r8 + 0x15], ax
test bl, 2
je 0x18003d7e2
or dword [r8 + 0x21], 4
movzx eax, byte [r9]
inc r9
mov byte [r8 + 0x15], al
test bl, 0x40
je 0x18003d7fc
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
add r9, 4
mov dword [r8 + 0x15], eax
jmp 0x18003d818
nop dword [rax]
test bl, 0x20
je 0x18003d818
or dword [r8 + 0x21], 0x204
movzx eax, byte [r9]
inc r9
mov byte [r8 + 0x15], al
sub r9b, byte [rsp + 0x50]
mov r12, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov byte [r8], r9b
cmp r9b, 0xf
jbe 0x18003d84b
or dword [r8 + 0x21], 0x5000
mov al, 0xf
movzx eax, al
mov byte [r8], 0xf
add rsp, 0x48
ret
movzx eax, r9b
add rsp, 0x48
ret