Function at 0x14001d120
Capabilities:
Get keyboard layout

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x70
movzx r8d, word [0x1400ff3d4]
xor r15d, r15d
or rsi, 0xffffffffffffffff
mov dword [rax + 0x10], 0x90020
mov word [rax + 0x14], r8w
mov r14, rdx
mov word [rax + 0x16], r15w
mov r13, rcx
mov r9d, SafeArrayAllocDescriptor
mov rdi, rdx
test rdx, rdx
je 0x14001d1a3
movzx edx, word [rdx]
test dx, dx
je 0x14001d1a3
nop
lea rcx, [rsp + 0xa8]
mov eax, r9d
nop dword [rax + rax]
cmp dx, ax
je 0x14001d229
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001d180
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x14001d170
mov rax, rsi
nop word [rax + rax]
cmp word [r14 + rax*2 + 2], r15w
lea rax, [rax + 1]
jne 0x14001d1b0
lea rdi, [r14 + rax*2]
mov rbx, r15
sub rdi, r14
lea rdx, str.Include
sar rdi, 1
mov r9, rsi
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
je 0x14001d21f
mov r9, rsi
lea rdx, str.IncludeAgain
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
je 0x14001d21f
mov r9, rsi
lea rdx, str.NoEnv
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d27c
mov edx, 1
mov dword [0x140102d04], edx
mov eax, 3
jmp 0x14001d5ec
mov rbx, rdi
nop dword [rax]
movzx eax, word [rbx]
cmp ax, r9w
je 0x14001d23f
cmp ax, 9
jne 0x14001d245
add rbx, 2
jmp 0x14001d230
movzx eax, word [rbx]
test ax, ax
je 0x14001d1c0
cmp ax, r8w
jne 0x14001d1c3
movzx eax, word [rbx + 2]
add rbx, 2
cmp ax, r9w
je 0x14001d25b
cmp ax, 9
je 0x14001d25b
cmp ax, r15w
cmove rbx, r15
jmp 0x14001d1c3
mov r9, rsi
lea rdx, str.NoTrayIcon
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d2a6
mov byte [0x140102d09], 1
mov eax, 3
jmp 0x14001d5ec
mov r9, rsi
lea rdx, str.Persistent
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d2d0
mov byte [0x140101f7d], 1
mov eax, 3
jmp 0x14001d5ec
mov r9, rsi
lea rdx, str.SingleInstance
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d379
mov edx, 1
mov dword [0x140101f98], edx
test rbx, rbx
je 0x14001d36f
lea rdx, str.Force
mov rcx, rbx
call fcn.1400a8ef0
test eax, eax
jne 0x14001d323
mov ebx, 2
mov dword [0x140101f98], ebx
lea eax, [rbx + 1]
jmp 0x14001d5ec
lea rdx, str.Ignore
mov rcx, rbx
call fcn.1400a8ef0
test eax, eax
jne 0x14001d34a
mov dword [0x140101f98], 3
mov eax, 3
jmp 0x14001d5ec
lea rdx, [0x1400e0500]
mov rcx, rbx
call fcn.1400a8ef0
mov ecx, dword [0x140101f98]
test eax, eax
mov edx, 4
cmove ecx, edx
mov dword [0x140101f98], ecx
mov eax, 3
jmp 0x14001d5ec
mov r9, rsi
lea rdx, str.InstallKeybdHook
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d3a3
or byte [0x140102e5a], 1
mov eax, 3
jmp 0x14001d5ec
mov r9, rsi
lea rdx, str.InstallMouseHook
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d3cd
or byte [0x140102e5a], 2
mov eax, 3
jmp 0x14001d5ec
mov r9, rsi
lea rdx, str.UseHook
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d412
test rbx, rbx
je 0x14001d401
xor edx, edx
mov rcx, rbx
call fcn.14000ad50
mov byte [0x140101fe5], r15b
cmp eax, 2
je 0x14001d408
mov byte [0x140101fe5], 1
mov eax, 3
jmp 0x14001d5ec
mov r9, rsi
lea rdx, [0x1400ce980]
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d4f7
test rbx, rbx
jne 0x14001d443
mov qword [0x140102cf8], r15
lea eax, [rbx + 3]
jmp 0x14001d5ec
mov rcx, rbx
call fcn.14000b4c0
mov qword [0x140102cf8], rax
test rax, rax
jne 0x14001d21f
mov rax, qword [0x1400fda58]
lea rdi, [0x1400ccf5c]
mov qword [rsp + 0x38], r15
xor r9d, r9d
mov qword [rsp + 0x30], r15
mov r8b, 0xe1
mov qword [rsp + 0x28], r15
mov rdx, rbx
mov rsi, qword [rax + 0xd8]
mov rcx, r13
mov qword [rax + 0xd8], r15
mov byte [r13 + 0x75], 1
mov qword [rsp + 0x20], rdi
call fcn.14001e5f0
test eax, eax
jne 0x14001d4ac
xor eax, eax
jmp 0x14001d5ec
mov rax, qword [0x1400fda58]
mov byte [r13 + 0x75], r15b
mov qword [rax + 0xd8], rsi
mov rbx, qword [r13 + 8]
call fcn.14000b410
mov qword [0x140102cf8], rax
mov rdx, rax
test rax, rax
je 0x14001d4a5
mov byte [rax], 5
mov qword [rax + 0x18], rbx
mov rax, qword [rbx + 8]
mov rcx, qword [rax + 8]
mov eax, 3
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rdi
jmp 0x14001d5ec
mov r9, rsi
lea rdx, str.IfTimeout
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d52d
test rbx, rbx
je 0x14001d523
mov rcx, rbx
call fcn.140016800
mov dword [0x1400ff3d8], eax
mov eax, 3
jmp 0x14001d5ec
mov qword [rsp + 0xa0], rbp
lea rdx, str.IfWin
mov r8d, 6
mov qword [rsp + 0xb0], r12
mov rcx, r14
call fcn.1400ab4d8
test eax, eax
jne 0x14001d71e
lea rcx, [r14 + 0xc]
lea r8d, [rax + 3]
lea rdx, [0x1400e06b0]
call fcn.1400ab4d8
test eax, eax
lea rdx, str.Active
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetUBound
mov edi, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
sete r12b
test r12b, r12b
cmovne edi, ecx
lea r8d, [rcx - 0xc]
add rdi, r14
mov rcx, rdi
call fcn.1400ab4d8
test eax, eax
jne 0x14001d5a3
inc r12b
jmp 0x14001d5cb
mov r8d, 5
lea rdx, str.Exist
mov rcx, rdi
call fcn.1400ab4d8
test eax, eax
jne 0x14001dfd8
test r12b, r12b
setne r12b
add r12b, 3
test rbx, rbx
jne 0x14001d601
mov qword [0x140102cf8], r15
mov eax, 3
mov rbp, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret
movzx edx, word [0x1400ff3d4]
mov r10, r15
movzx r9d, word [0x1400ff3cc]
mov rcx, rbx
movzx r8d, word [0x1400ff3d0]
nop
movzx eax, word [rcx]
test ax, ax
je 0x14001d646
cmp ax, r9w
je 0x14001d675
cmp ax, dx
je 0x14001d675
cmp ax, r8w
je 0x14001d675
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x14001d628
lea rdi, [0x1400ccf5c]
test r10, r10
je 0x14001d6e2
lea rsi, [r10 + 2]
nop word [rax + rax]
movzx eax, word [rsi]
cmp ax, 0x20
je 0x14001d66f
cmp ax, 9
jne 0x14001d6c0
add rsi, 2
jmp 0x14001d660
movzx eax, word [rcx]
test ax, ax
je 0x14001d646
cmp ax, r8w
je 0x14001d6a9
cmp ax, dx
jne 0x14001d696
test r10, r10
jne 0x14001d6a9
mov r10, rcx
add rcx, 2
jmp 0x14001d620
add rcx, 2
cmp word [rcx], r15w
je 0x14001d646
add rcx, 2
jmp 0x14001d620
mov r8, r14
lea rdx, str.Literal_commas_and_percent_signs_must_be_escaped__e.g.____
mov rcx, r13
call fcn.140036f10
jmp 0x14001d5dc
mov word [r10], r15w
mov rcx, rbx
sub r10, rbx
sar r10, 1
mov rdx, r10
call fcn.140016700
mov r8b, 1
mov rcx, rsi
call fcn.14008b840
jmp 0x14001d6e5
mov rsi, rdi
mov r8b, 1
mov rcx, rbx
call fcn.14008b840
mov r8, rsi
mov rdx, rbx
movzx ecx, r12b
call fcn.14000b240
test eax, eax
jne 0x14001d5d7
mov r8, rdi
lea rdx, str.Out_of_memory.
mov rcx, r13
call fcn.140036f10
jmp 0x14001d5dc
mov r9, rsi
lea rdx, [0x1400e3118]
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d855
test rbx, rbx
je 0x14001d5d7
lea rdx, str.EndChars
mov rcx, rbx
call fcn.140089530
test rax, rax
je 0x14001d7a2
lea rdx, [0x1400e3130]
mov rcx, rax
call fcn.14000ac50
test rax, rax
je 0x14001d5d7
lea rdx, [rax + 2]
mov r8d, 0x64
lea rcx, str._____:____.___n__t
call fcn.1400b1fb4
xor r8d, r8d
mov word [0x1400ff3c8], r15w
lea rcx, str._____:____.___n__t
call fcn.14008b840
jmp 0x14001d5d7
mov r8d, 7
lea rdx, str.NoMouse
mov rcx, rbx
call fcn.1400ab4d8
test eax, eax
jne 0x14001d7c7
mov byte [0x1400ff2f8], r15b
jmp 0x14001d5d7
lea rax, [0x140101f7c]
mov rcx, rbx
mov qword [rsp + 0x60], rax
lea r9, [0x1400ff2fc]
lea rax, [0x140101fe7]
mov qword [rsp + 0x58], rax
lea r8, [0x140102150]
lea rax, [0x140101fec]
mov qword [rsp + 0x50], rax
lea rdx, [0x140102154]
lea rax, [0x1400ff2f9]
mov qword [rsp + 0x48], rax
lea rax, [0x140101fef]
mov qword [rsp + 0x40], rax
lea rax, [0x140101fed]
mov qword [rsp + 0x38], rax
lea rax, [0x1400ff2fa]
mov qword [rsp + 0x30], rax
lea rax, [0x1400ff2fb]
mov qword [rsp + 0x28], rax
lea rax, [0x140101fee]
mov qword [rsp + 0x20], rax
call fcn.14000eb60
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.HotkeyModifierTimeout
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d88a
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
mov dword [0x1400ff3e4], eax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.HotkeyInterval
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d8c9
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
mov ecx, 0xa
cmp eax, ecx
cmovl eax, ecx
mov dword [0x1400ff3dc], eax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.MaxHotkeysPerInterval
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d908
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
mov edx, 1
cmp eax, edx
cmovl eax, edx
mov dword [0x1400ff3e0], eax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.MaxThreadsPerHotkey
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d952
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
mov ecx, 0xff
cmp eax, ecx
jg 0x14001d947
mov edx, 1
mov ecx, eax
cmp eax, edx
cmovl ecx, edx
mov byte [0x1400ff3ca], cl
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.MaxThreadsBuffer
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d996
test rbx, rbx
je 0x14001d98a
xor edx, edx
mov rcx, rbx
call fcn.14000ad50
mov byte [0x140102d00], r15b
cmp eax, 2
je 0x14001d5d7
mov byte [0x140102d00], 1
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.MaxThreads
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001d9e0
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
mov ecx, 0xff
cmp eax, ecx
jg 0x14001d9d5
mov edx, 1
mov ecx, eax
cmp eax, edx
cmovl ecx, edx
mov dword [0x1400fda54], ecx
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.ClipboardTimeout
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001da15
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
mov dword [0x1400fda64], eax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.LTrim
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001da59
test rbx, rbx
je 0x14001da4d
xor edx, edx
mov rcx, rbx
call fcn.14000ad50
mov byte [0x140101fe6], r15b
cmp eax, 2
je 0x14001d5d7
mov byte [0x140101fe6], 1
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.WinActivateForce
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001da7e
mov byte [0x140102d0b], 1
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.ErrorStdOut
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001daa4
mov byte [r13 + 0xbab], 1
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.MaxMem
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001db33
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.140016830
movsd xmm1, qword [0x1400eb7e0]
comisd xmm0, xmm1
ja 0x14001dae8
movsd xmm1, qword [0x1400eb788]
maxsd xmm1, xmm0
mulsd xmm1, qword [0x1400eb7d0]
xor ecx, ecx
movsd xmm0, qword [0x1400eb838]
mulsd xmm1, qword [0x1400eb7d0]
comisd xmm1, xmm0
jb 0x14001db1f
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x14001db1f
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm1
add rax, rcx
mov qword [0x1400ff3e8], rax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.KeyHistory
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001db82
test rbx, rbx
je 0x14001d5d7
mov rcx, rbx
call fcn.14000f9a0
test eax, eax
jns 0x14001db6d
mov dword [0x1400fda60], r15d
jmp 0x14001d5d7
mov ecx, 0x1f4
cmp eax, ecx
cmovg eax, ecx
mov dword [0x1400fda60], eax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.CommentFlag
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001dc46
test rbx, rbx
je 0x14001d5d7
cmp word [rbx + 2], r15w
jne 0x14001dc0a
movzx ecx, word [rbx]
cmp cx, 0x23
je 0x14001df0a
cmp cx, word [0x1400ff3d0]
je 0x14001df0a
cmp cx, word [0x1400ff3cc]
je 0x14001df0a
cmp cx, word [0x1400ff3d4]
je 0x14001df0a
lea eax, [rcx - 0x21]
cmp ax, 0x3d
ja 0x14001dc00
movabs rdx, 0x2000000028000609
bt rdx, rax
jb 0x14001df0a
cmp cx, 0x7e
je 0x14001df0a
mov rdx, rbx
mov r8d, reloc.OLEAUT32.dll_SafeArrayDestroy
lea rbx, [0x1400ffe18]
mov rcx, rbx
call fcn.1400b1fb4
mov word [0x1400ffe36], r15w
nop word [rax + rax]
inc rsi
cmp word [rbx + rsi*2], r15w
jne 0x14001dc30
mov qword [0x1400ffe10], rsi
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.EscapeChar
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001dcbc
test rbx, rbx
je 0x14001d5d7
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14001df0a
cmp ax, word [0x1400ff3d0]
je 0x14001df0a
cmp ax, word [0x1400ff3d4]
je 0x14001df0a
cmp ax, 0x2e
je 0x14001df0a
cmp qword [0x1400ffe10], 1
jne 0x14001dcb0
cmp ax, word [0x1400ffe18]
je 0x14001df0a
mov word [0x1400ff3cc], ax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.DerefChar
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001dd28
test rbx, rbx
je 0x14001d5d7
movzx eax, word [rbx]
cmp ax, word [0x1400ff3cc]
je 0x14001df0a
cmp ax, word [0x1400ff3d4]
je 0x14001df0a
cmp ax, 0x2e
je 0x14001df0a
cmp qword [0x1400ffe10], 1
jne 0x14001dd1c
cmp ax, word [0x1400ffe18]
je 0x14001df0a
mov word [0x1400ff3d0], ax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, [0x1400e3310]
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001dd9e
test rbx, rbx
je 0x14001d5d7
movzx eax, word [rbx]
cmp ax, 0x23
je 0x14001df0a
cmp ax, word [0x1400ff3cc]
je 0x14001df0a
cmp ax, word [0x1400ff3d0]
je 0x14001df0a
cmp ax, 0x2e
je 0x14001df0a
cmp qword [0x1400ffe10], 1
jne 0x14001dd92
cmp ax, word [0x1400ffe18]
je 0x14001df0a
mov word [0x1400ff3d4], ax
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.MenuMaskKey
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001de0f
test rbx, rbx
je 0x14001ddea
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
xor r9d, r9d
lea r8, [0x1400ff3f0]
lea rdx, [0x1400ff3cb]
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140015720
test al, al
jne 0x14001d5d7
test rbx, rbx
lea rax, str.Parameter_1_invalid.
lea rdx, str.Parameter_1_required
mov r8, r14
cmovne rdx, rax
mov rcx, r13
call fcn.140036f10
jmp 0x14001d5dc
mov r9, rsi
lea rdx, str.InputLevel
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001de4d
test rbx, rbx
je 0x14001de41
mov rcx, rbx
call fcn.14000f9a0
mov r15d, eax
cmp eax, 0x64
ja 0x14001df0a
mov byte [0x140102227], r15b
jmp 0x14001d5d7
mov r9, rsi
lea rdx, str.Warn
mov r8, rdi
mov rcx, r14
call fcn.1400891e0
test eax, eax
jne 0x14001dfd8
movzx edx, word [0x1400ff3d4]
lea rdi, [0x1400ccf5c]
test rbx, rbx
mov rsi, rdi
cmovne rsi, rbx
mov rcx, rsi
call fcn.1400a7468
test rax, rax
je 0x14001dece
lea rdi, [rax + 2]
movzx ecx, word [rdi]
cmp cx, 0x20
je 0x14001dea2
cmp cx, 9
jne 0x14001dea8
add rdi, 2
jmp 0x14001de93
add rax, 0xfffffffffffffffe
cmp rax, rsi
jbe 0x14001dec9
movzx ecx, word [rax]
cmp cx, 0x20
je 0x14001dec0
cmp cx, 9
jne 0x14001dec9
sub rax, 2
cmp rax, rsi
ja 0x14001deb1
mov word [rax + 2], r15w
mov ebp, 5
cmp word [rsi], r15w
je 0x14001df21
mov ebp, r15d
lea rbx, str.UseUnsetLocal
lea r12, [0x1400e6468]
nop word [rax + rax]
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1400a8ef0
test eax, eax
je 0x14001df21
inc ebp
add rbx, 8
cmp rbx, r12
jne 0x14001def0
mov r8, r14
lea rdx, str.Parameter_1_invalid.
mov rcx, r13
call fcn.140036f10
jmp 0x14001d5dc
mov ebx, 2
cmp word [rdi], r15w
je 0x14001df71
mov ebx, r15d
lea rsi, [0x1400e6418]
lea r14, str.UseUnsetLocal
nop dword [rax]
mov rdx, qword [rsi]
mov rcx, rdi
call fcn.1400a8ef0
test eax, eax
je 0x14001df71
inc ebx
add rsi, 8
cmp rsi, r14
jne 0x14001df40
mov r8, rdi
lea rdx, str.Parameter_2_invalid.
mov rcx, r13
call fcn.140036f10
jmp 0x14001d5dc
test ebp, ebp
je 0x14001df7a
cmp ebp, 5
jne 0x14001df80
mov dword [0x140102d1c], ebx
lea eax, [rbp - 1]
test eax, 0xfffffffb
mov eax, dword [0x140102d18]
cmove eax, ebx
mov dword [0x140102d18], eax
lea eax, [rbp - 3]
test eax, 0xfffffffd
mov eax, dword [0x140102d14]
cmove eax, ebx
mov dword [0x140102d14], eax
cmp ebp, 2
je 0x14001dfb8
cmp ebp, 5
jne 0x14001dfbe
mov dword [0x140102d10], ebx
mov ecx, dword [0x140102d0c]
lea eax, [rbp - 4]
cmp eax, 1
cmovbe ecx, ebx
mov dword [0x140102d0c], ecx
jmp 0x14001d5d7
mov eax, 4
jmp 0x14001d5dc