Function at 0x180030ad0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x1800a3d18]
xor rax, rsp
mov qword [rsp + 0xa0], rax
lea ebx, [r9 + 0x3de]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x20], ebx
cmp r9d, ebx
mov ebx, dword [rsp + 0x20]
mov r13d, r9d
mov r15, r8
mov r14, rcx
jae 0x180030bcc
mov r12, qword [rsp + 0x30]
lea r9, [0x180000000]
mov eax, dword [rsp + 0x20]
lea rcx, [0x180025100]
mov edi, 0xfffffffe
movabs r8, 0x100002600
nop word [rax + rax]
cmp r13d, 0x134
ja 0x180030cef
je 0x180030ce7
mov eax, r13d
sub eax, 0xc
je 0x180030ca6
sub eax, 0x62
je 0x180030ca1
sub eax, 0x63
je 0x180030c85
sub eax, 7
je 0x180030c45
cmp eax, 0x2a
jne 0x180030c32
movsx eax, byte [r14]
add eax, 0xffffffde
cmp eax, 0x53
ja case.0x180030bb5.36
cdqe
movzx eax, byte [r9 + rax + 0x30e20]
mov ecx, dword [r9 + rax*4 + 0x30e14]
add rcx, r9
jmp rcx
mov ecx, 0x38
nop dword [rax]
mov eax, ecx
sub eax, 0x38
je 0x180030bf9
cmp eax, 0x4a
jne 0x180030c05
mov eax, ebx
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.18008f350
mov rbx, qword [rsp + 0xf8]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [r15], 2
mov ebx, 1
cmovl ebx, edi
add ecx, 0x4a
cmp ecx, 0xcc
jb 0x180030bc0
mov ecx, 0x3e
mov eax, ecx
sub eax, 0x3d
je 0x180030bcc
cmp eax, 1
jne 0x180030c24
lea ebx, [rax - 2]
dec ecx
cmp ecx, 0x3c
ja 0x180030c15
lea rcx, [0x180025100]
mov eax, dword [rsp + 0x20]
add r13d, 0x63
cmp r13d, eax
jb 0x180030b50
jmp 0x180030bcc
mov rbp, qword [r14 + 8]
mov rsi, qword [r14]
cmp rsi, rbp
je 0x180030c32
mov r9d, 0x5c
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.180008fd0
add rsi, 0x10
cmp rsi, rbp
jne 0x180030c51
mov rdx, qword [rsp + 0x30]
lea r9, [0x180000000]
movabs r8, 0x100002600
jmp 0x180030c2b
movzx eax, word [rdx]
lea r8, [rsp + 0x28]
mov edx, 0xfa
mov word [rsp + 0x28], ax
mov rcx, r14
call fcn.180003580
jmp 0x180030c6d
xor r12d, r12d
jmp 0x180030c32
mov ecx, 0xcf
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xcf
je 0x180030cc4
cmp eax, 1
je 0x180030bcc
jmp 0x180030cdb
movsxd rax, dword [r14]
cmp eax, 0x20
ja 0x180030cd9
bt r8, rax
jae 0x180030cd9
mov ebx, 1
jmp 0x180030cdb
xor ebx, ebx
inc ecx
cmp ecx, 0xd1
jb 0x180030cb0
jmp 0x180030d10
mov qword [r14], rcx
jmp 0x180030c36
mov eax, r13d
sub eax, 0x197
je 0x180030d4a
sub eax, 0x63
je 0x180030c32
sub eax, 0x63
je 0x180030d38
cmp eax, 0x63
jne 0x180030c32
lea rcx, [r14 + 0xa]
cmp rcx, r15
je 0x180030c2b
cmp qword [r15 + 0x18], 0x10
mov rdx, r15
jb 0x180030d2a
mov rdx, qword [r15]
mov r8, qword [r15 + 0x10]
call fcn.180027360
jmp 0x180030c6d
lea rdx, [rsp + 0x40]
mov rcx, r12
call sub.IMM32.dll_ImmGetCompositionFontW
jmp 0x180030c6d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x90], rax
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x98], eax
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
jmp 0x180030c32
cmp dword [r15], 6
jl 0x180030e0c
movsx eax, byte [r14 + 1]
lea r8, [rsp + 0x20]
mov edx, 0x3d
mov dword [rsp + 0x20], eax
xor ecx, ecx
call fcn.180054e50
test eax, eax
je 0x180030e07
movsx eax, byte [r14 + 2]
lea r8, [rsp + 0x20]
mov edx, 0x3d
mov dword [rsp + 0x20], eax
xor ecx, ecx
call fcn.180054e50
test eax, eax
je 0x180030e07
movsx eax, byte [r14 + 3]
lea r8, [rsp + 0x20]
mov edx, 0x3d
mov dword [rsp + 0x20], eax
xor ecx, ecx
call fcn.180054e50
test eax, eax
je 0x180030e07
movsx eax, byte [r14 + 4]
lea r8, [rsp + 0x20]
mov edx, 0x3d
mov dword [rsp + 0x20], eax
xor ecx, ecx
call fcn.180054e50
mov edi, 5
test eax, eax
jne 0x180030e0c
mov edi, 0xffffffff
mov eax, edi
jmp 0x180030bce