Function at 0x18000bea0
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rsi, qword [rcx]
lea r8, sym.USER32.dll_Ordinal_2603
xor r12b, r12b
mov edi, edx
mov r13, r9
mov qword [rbp + 0x40], rsi
mov rbx, rcx
mov byte [rbp + 0x48], r12b
lea eax, [rdi - 0x3e0]
cmp eax, 8
jbe 0x18000bf6f
mov rax, qword [rcx + 0x78]
mov qword [rbp - 0x18], rax
mov rax, qword gs:[0x30]
cmp qword [rax + 0x78], 0
je 0x18003bb38
mov rax, qword gs:[0x30]
mov rdx, qword [rax + 0x78]
movzx ecx, word [rbx]
imul ecx, dword [0x1800a9f40]
mov rax, qword [0x1800a9f38]
cmp rdx, qword [rcx + rax + 8]
jne 0x18000bf6f
movzx r10d, byte [rbx + 0x12]
test r10b, 4
jne 0x18000bf6f
mov r9, qword gs:[0x30]
mov eax, dword [r9 + 0x800]
mov r15d, eax
and eax, 0x80000000
and r15d, 0x40000000
mov dword [rbp - 0x10], eax
mov rax, qword [r9 + 0x820]
mov ecx, dword [rax + 0x10]
or ecx, dword [r9 + 0x838]
test ecx, 0x2020
je 0x18000bfc3
mov r14d, dword [rbp + 0x60]
mov dword [rsp + 0x30], r14d
mov r9, r13
mov dword [rsp + 0x28], 0x2b1
mov edx, edi
mov qword [rsp + 0x20], 0
cmp edi, 0x400
jae 0x18000c11b
lfence
movzx eax, word [r8 + rdi*2 + 0x8e8f0]
movzx ecx, al
mov rax, qword [r8 + rcx*8 + 0x88930]
mov rcx, rsi
mov r8, qword [rbp + 0x50]
call qword [case.0x18001f7d3.0]
jmp 0x18000c103
cmp dword [0x1800a98f0], 5
mov r11d, 0x100
je 0x18000c193
test r10b, 8
jne 0x18003bb5a
xor al, al
mov r14d, dword [rbp + 0x60]
mov edx, 1
test r14d, r14d
jne 0x18003bb61
mov ecx, edx
test al, al
jne 0x18003bb68
mov eax, edx
mov r9d, 0x80000000
cmp ecx, eax
jne 0x18003bb6f
mov rsi, qword [rbx + 0x80]
test rsi, rsi
je 0x18003bd81
sub rsi, qword [rbx + 8]
add rsi, rbx
cmp qword [0x1800aa1b0], 0
je 0x18000c144
cmp dword [0x1800aa1ac], 0
je 0x18000c144
mov rsi, qword [rbp + 0x40]
test r12b, r12b
jne 0x18003bf20
mov r12, qword [rbp - 0x18]
lea r14d, [rdi - 0x240]
test r14d, r14d
je 0x18003be75
cmp edi, 0x119
je 0x18003bea1
mov rax, qword gs:[0x30]
mov r8, rsi
mov dword [rsp + 0x38], edx
mov rdx, r12
mov qword [rsp + 0x28], r13
or qword [rax + 0x800], 0x40000000
mov rax, qword gs:[0x30]
or qword [rax + 0x800], r9
mov r9d, edi
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbx + 0xe0]
mov qword [rsp + 0x20], rax
call fcn.18000c800
mov rcx, qword gs:[0x30]
mov rdx, rax
test r15d, r15d
je 0x18000c12a
or qword [rcx + 0x800], 0x40000000
cmp dword [rbp - 0x10], 0
mov r9d, 0x80000000
mov rax, qword gs:[0x30]
je 0x18000c137
or qword [rax + 0x800], r9
mov rax, qword [0x1800aa168]
test byte [rax], 2
jne 0x18003bed6
mov rax, rdx
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, qword [rbp + 0x50]
mov rcx, rsi
call qword [sym.imp.win32u.dll_NtUserMessageCall]
jmp 0x18000c103
and qword [rcx + 0x800], 0xffffffffbfffffff
jmp 0x18000c0d4
and qword [rax + 0x800], 0x7fffffff
jmp 0x18000c0f0
movzx r8d, word [rsi + 4]
mov ecx, 0x2a1
movzx eax, r8w
sub ax, cx
cmp ax, 9
ja 0x18000c040
mov r9, qword [0x1800aa168]
mov rcx, qword [rbx + 0x78]
movzx eax, r8w
add rax, 0xfffffffffffffd66
cmp rcx, qword [r9 + rax*8 + 0x248]
je 0x18000c1bd
cmp rcx, qword [r9 + rax*8 + 0x188]
je 0x18000c1bd
mov r9d, 0x80000000
jmp 0x18000c040
mov ecx, 4
call fcn.180001578
lea r8, sym.USER32.dll_Ordinal_2603
test al, al
je 0x18000bfd6
or qword [r9 + 0x8e0], r11
movzx r10d, byte [rbx + 0x12]
jmp 0x18000bfd6
add rax, rax
lea rcx, [0x1800a9f58]
mov r9, qword [rcx + rax*8 + 8]
test r9, r9
je 0x18000c1ea
cmp edi, dword [rcx + rax*8]
ja 0x18000c22e
mov rax, rdi
mov ecx, edi
and ecx, 7
shr rax, 3
shl edx, cl
test byte [rax + r9], dl
je 0x18000c22e
movzx r15d, byte [rbp + 0x48]
movzx ecx, word [rsi + 4]
mov r9, r13
mov rax, qword [0x1800aa168]
mov edx, edi
mov r8, qword [rbp + 0x50]
mov dword [rsp + 0x20], r14d
mov rax, qword [rax + rcx*8 - 0x1200]
mov rcx, rbx
call qword [case.0x18001f7d3.0]
mov rcx, qword [0x1800aa168]
test byte [rcx], 2
je 0x18000c103
jmp 0x18003be31
mov eax, 0x2a4
cmp r8w, ax
jne 0x18000c298
mov rax, qword [rbx + 0x128]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18000c298
cmp qword [rcx], 0
je 0x18000c298
test r12b, r12b
jne 0x18000c2a2
movzx r15d, byte [rbp + 0x48]
movzx ecx, word [rsi + 4]
mov r9, r13
mov rax, qword [0x1800aa168]
mov edx, edi
mov r8, qword [rbp + 0x50]
mov dword [rsp + 0x20], r14d
mov rax, qword [rax + rcx*8 - 0x1200]
mov rcx, rbx
call qword [case.0x18001f7d3.0]
mov rcx, qword [0x1800aa168]
test byte [rcx], 2
je 0x18000c103
jmp 0x18003bd86
movzx r15d, byte [rbp + 0x48]
jmp 0x18003bdca
mov rsi, qword [rbp + 0x40]
jmp 0x18003bf20
mov ecx, 0xe
call qword [sym.imp.win32u.dll_NtUserGetThreadState]
lea r8, sym.USER32.dll_Ordinal_2603
test rax, rax
jne 0x18000bf04
xor edx, edx
jmp 0x18000bf11
mov al, 1
jmp 0x18000bfe2
xor ecx, ecx
jmp 0x18000bff6
xor eax, eax
jmp 0x18000c000
cmp edi, 0x107
ja 0x18003bba3
cmp edi, 0x106
jae case.0x18003bba1.47
lea eax, [rdi - 0x2f]
cmp eax, 0xd4
ja case.0x18003bba1.49
movzx eax, byte [r8 + rax + 0x3bf38]
mov ecx, dword [r8 + rax*4 + 0x3bf2c]
add rcx, r8
jmp rcx
mov eax, edi
sub eax, 0x10f
je case.0x18003bba1.47
sub eax, 0x11
je case.0x18003bba1.47
sub eax, 0x20
je case.0x18003bba1.48
cmp eax, 0x146
jne case.0x18003bba1.49
test r14d, r14d
je 0x18003bce9
mov rax, qword [0x1800aa168]
test byte [rax], 2
je 0x18003bc78
cmp edi, 0x102
je 0x18003bbee
cmp edi, 0xcc
jne 0x18003bc78
mov rcx, qword [rbp + 0x50]
mov eax, 0xff00
test eax, ecx
je 0x18003bc8f
test r9, rcx
jne 0x18003bc78
test ax, cx
je 0x18003bc71
movzx eax, cl
shl ax, 8
movzx edx, ax
movzx eax, cx
shr rax, 8
or rdx, rax
jmp 0x18003bc74
mov rax, qword [0x1800aa168]
test byte [rax], 2
je case.0x18003bba1.49
mov ecx, 0x57
call qword [sym.imp.ntdll.dll_RtlSetLastWin32Error]
mov edx, 1
lea r8, sym.USER32.dll_Ordinal_2603
mov r9d, 0x80000000
mov r11d, 0x100
cmp edi, 0x400
jae 0x18000c00e
test word [r8 + rdi*2 + 0x8e8f0], r11w
je 0x18000c00e
mov r12b, 1
jmp 0x18000c00e
movzx edx, cl
mov qword [rbp + 0x50], rdx
lea rdx, [rbp + 0x50]
mov ecx, edi
call fcn.180029c08
xor r14d, r14d
lea edx, [r14 + 1]
jmp 0x18003bd76
mov rsi, qword gs:[0x30]
movzx eax, byte [rsi + 0x89c]
test al, al
je 0x18003bcb7
movzx eax, al
shl rax, 8
or qword [rbp + 0x50], rax
mov byte [rsi + 0x89c], 0
jmp 0x18003bc78
mov rcx, qword gs:[0x30]
movzx edx, byte [rbp + 0x50]
movzx ecx, word [rcx + 0x898]
call qword [sym.imp.api_ms_win_core_localization_l1_2_0.dll_IsDBCSLeadByteEx]
test eax, eax
je 0x18003bc78
movzx ecx, byte [rbp + 0x50]
mov eax, 1
mov byte [rsi + 0x89c], cl
jmp 0x18000c103
lea rdx, [rbp + 0x50]
mov qword [rbp - 0x20], 0
mov ecx, edi
call fcn.180028ca8
mov rax, qword [0x1800aa168]
test byte [rax], 2
je 0x18003bd6e
cmp edi, 0x102
je 0x18003bd18
cmp edi, 0xcc
jne 0x18003bd6e
mov rcx, qword [rbp + 0x50]
mov eax, 0xff00
test eax, ecx
je 0x18003bd67
mov rcx, qword gs:[0x30]
mov rax, qword [rbp - 0x20]
add rcx, 0x8a0
mov byte [rbp + 0x48], 1
mov qword [rcx + 0x24], rax
mov qword [rcx], rsi
mov dword [rcx + 8], edi
mov qword [rcx + 0x18], r13
mov dword [rcx + 0x20], 0
movzx eax, byte [rbp + 0x50]
mov qword [rcx + 0x10], rax
mov rax, qword [rbp + 0x50]
shr rax, 8
movzx eax, al
jmp 0x18003bd6a
movzx eax, cl
mov qword [rbp + 0x50], rax
mov edx, 1
mov r14d, edx
mov r9d, 0x80000000
jmp 0x18000c00e
jmp 0x18000c025
test r15b, r15b
je 0x18000c103
mov rcx, qword gs:[0x30]
cmp qword [rcx + 0x8b0], 0
je 0x18000c103
mov rcx, qword gs:[0x30]
mov rax, qword [rcx + 0x8b0]
mov qword [rbp + 0x50], rax
mov qword [rcx + 0x8b0], 0
jmp 0x18000c259
mov r8, qword [rbp + 0x50]
mov r9, r13
mov edx, edi
mov dword [rsp + 0x20], r14d
mov rcx, rbx
call fcn.180009510
mov rcx, qword [0x1800aa168]
test byte [rcx], 2
je 0x18000c103
test r15b, r15b
je 0x18000c103
mov rcx, qword gs:[0x30]
cmp qword [rcx + 0x8b0], 0
je 0x18000c103
mov rcx, qword gs:[0x30]
mov rax, qword [rcx + 0x8b0]
mov qword [rbp + 0x50], rax
mov qword [rcx + 0x8b0], 0
jmp 0x18003bdca
test r15b, r15b
je 0x18000c103
mov rcx, qword gs:[0x30]
cmp qword [rcx + 0x8b0], 0
je 0x18000c103
mov rcx, qword gs:[0x30]
mov rax, qword [rcx + 0x8b0]
mov qword [rbp + 0x50], rax
mov qword [rcx + 0x8b0], 0
jmp 0x18000c1ef
movzx edx, word [rbx]
mov rcx, r13
imul edx, dword [0x1800a9f40]
add rdx, qword [0x1800a9f38]
mov rdx, qword [rdx + 8]
call fcn.18004f060
mov r13, rax
test rax, rax
jne 0x18003bec6
xor eax, eax
jmp 0x18000c103
movzx edx, word [rbx]
mov rcx, r13
imul edx, dword [0x1800a9f40]
add rdx, qword [0x1800a9f38]
mov rdx, qword [rdx + 8]
call fcn.18004cc88
mov r13, rax
test rax, rax
je 0x18003be9a
mov r9d, 0x80000000
mov edx, 1
jmp 0x18000c06d
cmp byte [rbp + 0x48], 0
je 0x18000c100
mov rax, qword gs:[0x30]
cmp qword [rax + 0x8b0], 0
je 0x18000c100
mov rcx, qword gs:[0x30]
mov edx, 1
mov rax, qword [rcx + 0x8b0]
mov qword [rbp + 0x50], rax
mov qword [rcx + 0x8b0], 0
jmp 0x18000c058
lea r8, sym.USER32.dll_Ordinal_2603
jmp 0x18000bf73