Function at 0x180047580
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rdi
sub rsp, 0x58
mov rbx, rdx
mov qword [rsp + 0x48], rsi
xor edx, edx
mov qword [rsp + 0x40], r12
mov rdi, rcx
mov qword [rsp + 0x28], r15
xor sil, sil
lea r15, [0x1800540a0]
xor r12b, r12b
mov byte [rsp + 0x88], sil
lea r8d, [rdx + 0x25]
mov dword [rsp + 0x80], r12d
mov rcx, rbx
call fcn.1800471b0
mov dl, 0x10
lea r9, [0x180000000]
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [rdi]
inc rdi
lea eax, [r8 - 0x26]
cmp eax, 0xcd
ja case.0x180047608.44
cdqe
movzx eax, byte [r9 + rax + 0x47c50]
mov ecx, dword [r9 + rax*4 + 0x47c34]
add rcx, r9
jmp rcx
mov byte [rbx + 1], r8b
mov al, 4
jmp 0x180047638
mov byte [rbx + 1], r8b
mov al, 2
jmp 0x180047638
mov byte [rbx + 2], r8b
mov al, 0x20
jmp 0x180047638
mov byte [rbx + 3], r8b
mov al, 0x40
jmp 0x180047638
mov byte [rbx + 4], r8b
mov al, 8
jmp 0x180047638
mov byte [rbx + 5], r8b
mov al, 0x10
or sil, al
add dl, 0xff
jne 0x1800475e0
movzx eax, sil
mov edx, 1
mov qword [rsp + 0x50], rbp
mov ecx, edx
movzx r9d, sil
shl r9d, 0x17
test sil, sil
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
cmovne ecx, eax
mov dword [rbx + 0x21], r9d
movzx eax, r8b
and al, 0xf0
cmp al, 0x40
jne 0x1800476dd
bts r9d, 0x1e
movzx eax, r8b
shr al, 3
and al, dl
mov dword [rbx + 0x21], r9d
mov byte [rbx + 7], al
je 0x1800476a4
movzx eax, byte [rdi]
and al, 0xf8
movzx r12d, r12b
cmp al, 0xb8
cmove r12d, edx
mov dword [rsp + 0x80], r12d
movzx eax, r8b
shr al, 2
and al, dl
mov byte [rbx + 8], al
movzx eax, r8b
shr al, 1
and r8b, dl
and al, dl
mov byte [rbx + 0xa], r8b
mov byte [rbx + 9], al
movzx r8d, byte [rdi]
inc rdi
movzx eax, r8b
and al, 0xf0
cmp al, 0x40
jne 0x1800476dd
movzx r14d, r8b
movzx r11d, cl
jmp 0x180047748
mov byte [rbx + 0xb], r8b
movzx r11d, cl
cmp r8b, 0xf
jne 0x1800476ff
movzx r8d, byte [rdi]
lea r15, [0x1800540ea]
mov byte [rbx + 0xc], r8b
inc rdi
jmp 0x180047725
cmp r8b, 0xa0
jb 0x180047725
cmp r8b, 0xa3
ja 0x180047725
inc r12b
mov dword [rsp + 0x80], r12d
test cl, 0x10
je 0x180047721
or r11b, 8
jmp 0x180047725
and r11b, 0xf7
movzx edx, r8b
movzx r14d, r8b
mov eax, edx
and edx, 3
shr rax, 2
movzx eax, byte [rax + r15]
add rax, r15
movzx esi, byte [rdx + rax]
cmp sil, 0xff
jne 0x18004776d
or r9d, 0x3000
movzx eax, r8b
and eax, 0xfffffffd
mov dword [rbx + 0x21], r9d
xor sil, sil
cmp al, 0x24
jne 0x18004776d
mov sil, 1
movzx r13d, r8b
xor bpl, bpl
jmp 0x18004778c
xor bpl, bpl
movzx r13d, r8b
test sil, sil
jns 0x18004778c
movzx eax, sil
and eax, 0x7f
movzx esi, word [rax + r15]
movzx ebp, si
shr bp, 8
movzx r15d, byte [rbx + 0xc]
mov r10d, r9d
test r15b, r15b
je 0x1800477ce
movzx edx, r8b
lea r8, [0x1800540a0]
mov eax, edx
and edx, 3
shr rax, 2
movzx ecx, byte [rax + r8 + 0x13c]
add rcx, rdx
test byte [rcx + r8 + 0x13c], r11b
je 0x1800477ce
or r10d, 0x3000
mov dword [rbx + 0x21], r10d
test sil, 1
je 0x180047b2c
or r10d, 1
mov dword [rbx + 0x21], r10d
mov r8d, r10d
movzx r9d, byte [rdi]
movzx r12d, r9b
mov byte [rbx + 0xd], r9b
movzx ecx, r9b
shr r12b, 6
and cl, 7
shr r9b, 3
and r9b, 7
mov byte [rbx + 0xe], r12b
mov byte [rsp + 0x78], cl
mov byte [rbx + 0x10], cl
mov byte [rbx + 0xf], r9b
test bpl, bpl
je 0x180047834
movzx ecx, r9b
movzx eax, bpl
shl eax, cl
movzx ecx, byte [rsp + 0x78]
test al, al
jns 0x180047834
or r8d, 0x3000
mov dword [rbx + 0x21], r8d
mov eax, r8d
test r15b, r15b
jne 0x180047896
cmp r14b, 0xd9
jb 0x180047896
cmp r14b, 0xdf
ja 0x180047896
lea eax, [r14 + 0x27]
movzx edx, al
cmp r12b, 3
jne 0x18004786f
movzx eax, r9b
lea rdx, [rax + rdx*8]
lea rax, [0x1800540a0]
movzx r10d, byte [rdx + rax + 0x104]
jmp 0x180047883
lea rax, [0x1800540a0]
movzx ecx, r9b
movzx r10d, byte [rdx + rax + 0xfd]
shl r10b, cl
mov eax, r8d
test r10b, r10b
jns 0x180047896
or eax, 0x3000
mov dword [rbx + 0x21], eax
test r11b, 0x20
je 0x1800478fa
cmp r12b, 3
jne 0x1800478ac
or eax, 0x9000
mov dword [rbx + 0x21], eax
jmp 0x1800478fa
movzx edx, r14b
test r15b, r15b
jne 0x1800478c8
and dl, 0xfe
lea r8, [0x180054266]
lea rcx, [0x18005424e]
jmp 0x1800478d6
lea r8, [0x180054278]
lea rcx, [0x180054266]
cmp byte [rcx], dl
je 0x1800478e5
add rcx, 2
cmp rcx, r8
jne 0x1800478d6
jmp 0x1800478f3
movzx eax, byte [rcx + 1]
movzx ecx, r9b
shl eax, cl
test al, al
jns 0x1800478fa
or dword [rbx + 0x21], 0x9000
movzx ecx, r13b
mov edx, ecx
test r15b, r15b
je 0x180047949
sub edx, 0x20
je 0x18004792d
sub edx, 1
je 0x180047919
sub edx, 1
je 0x18004792d
cmp edx, 1
jne 0x18004795e
lea eax, [r9 - 4]
mov r12b, 3
cmp al, 1
ja 0x1800479ee
jmp 0x1800479e7
mov r12b, 3
cmp r9b, 4
ja 0x1800479e7
cmp r9b, 1
jne 0x1800479ee
jmp 0x1800479e7
sub edx, 0x8c
je 0x1800479e1
cmp edx, 2
je 0x1800479db
cmp r12b, 3
jne 0x1800479ad
test r15b, r15b
je 0x180047979
lea rdx, [0x1800542b1]
lea rcx, [0x180054287]
jmp 0x180047987
lea rdx, [0x180054287]
lea rcx, [0x180054278]
cmp byte [rcx], r14b
je 0x180047997
add rcx, 3
cmp rcx, rdx
jne 0x180047987
jmp 0x1800479ee
test byte [rcx + 1], r11b
je 0x1800479ee
movzx eax, byte [rcx + 2]
movzx ecx, r9b
shl eax, cl
test al, al
jns 0x1800479e7
jmp 0x1800479ee
test r15b, r15b
je 0x1800479ee
sub ecx, 0x50
je 0x1800479cb
sub ecx, 0x75
je 0x1800479e7
sub ecx, 0x11
je 0x1800479d3
sub ecx, 1
je 0x1800479cb
cmp ecx, 0x20
jne 0x1800479ee
test r11b, 9
jne 0x1800479e7
jmp 0x1800479ee
test r11b, 6
jne 0x1800479e7
jmp 0x1800479ee
cmp r9b, 1
je 0x1800479e7
cmp r9b, 5
jbe 0x1800479ee
or dword [rbx + 0x21], 0x11000
movzx edx, byte [rdi + 1]
add rdi, 2
cmp r9b, 1
ja 0x180047a12
cmp r14b, 0xf6
jne 0x180047a08
or sil, 2
jmp 0x180047a12
cmp r14b, 0xf7
jne 0x180047a12
or sil, 0x10
movzx ecx, r12b
mov r9d, 4
test r12b, r12b
je 0x180047a49
sub ecx, 1
je 0x180047a3f
cmp ecx, 1
movzx ecx, byte [rsp + 0x78]
jne 0x180047a77
mov r8b, 2
test r11b, 0x10
jne 0x180047a7f
movzx r8d, r9b
jmp 0x180047a7f
movzx ecx, byte [rsp + 0x78]
mov r8b, 1
jmp 0x180047a7f
movzx ecx, byte [rsp + 0x78]
test r11b, 0x10
je 0x180047a65
xor eax, eax
mov r8d, 2
cmp cl, 6
cmovne r8d, eax
jmp 0x180047a7f
movzx r8d, byte [rsp + 0x88]
cmp cl, 5
cmove r8d, r9d
jmp 0x180047a7f
mov r8d, dword [rsp + 0x88]
cmp r12b, 3
je 0x180047abf
cmp cl, r9b
jne 0x180047abf
or dword [rbx + 0x21], 2
movzx eax, dl
shr al, 6
inc rdi
mov byte [rbx + 0x12], al
movzx eax, dl
shr al, 3
and al, 7
mov byte [rbx + 0x11], dl
and dl, 7
mov byte [rbx + 0x13], al
mov byte [rbx + 0x14], dl
cmp dl, 5
jne 0x180047abf
test r12b, 1
movzx r8d, r8b
cmove r8d, r9d
dec rdi
movzx ecx, r8b
sub ecx, 1
je 0x180047b11
sub ecx, 1
je 0x180047af2
cmp ecx, 2
jne 0x180047b1b
or dword [rbx + 0x21], 0x100
mov eax, dword [rdi]
mov r12d, dword [rsp + 0x80]
mov dword [rbx + 0x1d], eax
movzx eax, r8b
add rdi, rax
jmp 0x180047b3d
or dword [rbx + 0x21], 0x80
movzx eax, word [rdi]
mov r12d, dword [rsp + 0x80]
mov word [rbx + 0x1d], ax
movzx eax, r8b
add rdi, rax
jmp 0x180047b3d
or dword [rbx + 0x21], 0x40
movzx eax, byte [rdi]
mov byte [rbx + 0x1d], al
mov r12d, dword [rsp + 0x80]
movzx eax, r8b
add rdi, rax
jmp 0x180047b3d
test r11b, 0x20
je 0x180047b3d
or r10d, 0x9000
mov dword [rbx + 0x21], r10d
mov r15, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x50]
test sil, 0x10
je 0x180047ba3
test sil, 0x40
je 0x180047b7a
test r11b, 8
je 0x180047bd1
or dword [rbx + 0x21], 0x208
movzx eax, word [rdi]
add rdi, 2
mov word [rbx + 0x15], ax
jmp 0x180047bf9
test r12b, r12b
je 0x180047b90
or dword [rbx + 0x21], 0x20
mov rax, qword [rdi]
add rdi, 8
mov qword [rbx + 0x15], rax
jmp 0x180047ba3
test r11b, 8
jne 0x180047ba9
or dword [rbx + 0x21], 0x10
mov eax, dword [rdi]
add rdi, 4
mov dword [rbx + 0x15], eax
test sil, 4
je 0x180047bb8
or dword [rbx + 0x21], 8
movzx eax, word [rdi]
add rdi, 2
mov word [rbx + 0x15], ax
test sil, 2
je 0x180047bcb
or dword [rbx + 0x21], 4
movzx eax, byte [rdi]
inc rdi
mov byte [rbx + 0x15], al
test sil, 0x40
je 0x180047be3
or dword [rbx + 0x21], 0x210
mov eax, dword [rdi]
add rdi, 4
mov dword [rbx + 0x15], eax
jmp 0x180047bf9
test sil, 0x20
je 0x180047bf9
or dword [rbx + 0x21], 0x204
movzx eax, byte [rdi]
inc rdi
mov byte [rbx + 0x15], al
sub dil, byte [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov byte [rbx], dil
cmp dil, 0xf
jbe 0x180047c27
or dword [rbx + 0x21], 0x5000
mov al, 0xf
movzx eax, al
mov byte [rbx], 0xf
add rsp, 0x58
pop rdi
pop rbx
ret
movzx eax, dil
add rsp, 0x58
pop rdi
pop rbx
ret