Function at 0x41095f20
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x2b8], rbx
mov rax, qword [0x41359af8]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r12, r9
mov r14, r8
mov edi, edx
mov rbx, rcx
mov byte [rcx + 0x28c], 0
xor esi, esi
mov rax, qword [0x4135bff0]
test rax, rax
jne 0x4109013c
lea ecx, [rsi + 0x20]
call fcn.41211580
mov qword [rsp + 0x28], rax
test rax, rax
je 0x41090132
mov rcx, rax
call fcn.41043a40
jmp 0x41090135
mov rax, rsi
mov qword [0x4135bff0], rax
mov rcx, rax
call fcn.41002d30
test eax, eax
je 0x41090ef7
mov dword [rsp + 0x28], esi
mov eax, 0x80000000
mov r13, r14
mov ebp, 1
and r13, rax
jne 0x4109018f
mov dword [rbx + 0x220], edi
mov edx, edi
mov rcx, rbx
call fcn.41084240
mov dword [rbx + 0x224], ebp
lea rcx, [rbx + 0x294]
mov rdx, r12
mov r8d, 0x100
call fcn.41217500
jmp 0x410901a3
mov dword [rbx + 0x224], esi
cmp dword [rbx + 0x220], edi
je 0x410901a3
mov dword [rbx + 0x220], esi
mov dword [rbx + 0x24c], ebp
movzx eax, byte [r12 + 0x11]
and al, 0x80
mov r15d, esi
cmovne r15d, ebp
cmp edi, 0x11
jne 0x4109022b
test r13, r13
je 0x410901da
mov eax, dword [rbx + 0x218]
mov dword [rsp + 0x28], eax
mov dword [rbx + 0x214], esi
mov dword [rbx + 0x218], esi
jmp 0x41090251
cmp dword [rbx + 0x214], 0
jne 0x41090251
mov ebp, esi
cmp ebp, 0x11
je 0x4109020d
cmp ebp, 0xa2
je 0x4109020d
cmp ebp, 0xa3
je 0x4109020d
mov ecx, ebp
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov cx, ax
shr rcx, 8
test cl, cl
jne 0x41090251
add ebp, 1
cmp ebp, 0x100
jl 0x410901e5
mov eax, 1
mov dword [rbx + 0x214], eax
mov dword [rbx + 0x218], eax
jmp 0x41090251
test al, al
jne 0x4109023d
mov dword [rbx + 0x214], esi
mov dword [rbx + 0x218], esi
jmp 0x41090251
test r13, r13
jne 0x41090251
cmp dword [rbx + 0x218], r13d
je 0x41090251
mov dword [rbx + 0x218], esi
test r15d, r15d
je 0x41090282
cmp edi, 0x20
jne 0x41090282
test r13, r13
jne 0x41090282
call fcn.41036570
test eax, eax
je 0x4109027b
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x4109027b
mov rax, qword [rcx]
call qword [rax + 0x38]
xor eax, eax
jmp 0x41090ef7
mov ebp, esi
mov dword [rsp + 0x20], esi
cmp edi, 0x10
jne 0x41090343
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [rbx + 0x210]
cmp eax, ecx
jbe 0x410902a5
sub eax, ecx
jmp 0x410902a9
sub ecx, eax
mov eax, ecx
cmp eax, 0x1f4
mov eax, 1
cmovb ebp, eax
mov dword [rsp + 0x20], ebp
cmp dword [rbx + 0x290], eax
jne 0x410902fb
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x9b
call qword [rax + 0x20]
mov rbp, qword [rax]
mov rcx, rbp
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x410902fb
xor r9d, r9d
mov edx, 0x52d
mov r8d, 0x153
mov rcx, rbp
call qword [sym.imp.USER32.dll_PostMessageW]
cmp dword [rbx + 0x290], 2
jne 0x4109033d
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x9b
call qword [rax + 0x20]
mov rbp, qword [rax]
mov rcx, rbp
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4109033d
xor r9d, r9d
mov edx, 0x52d
mov r8d, 0x154
mov rcx, rbp
call qword [sym.imp.USER32.dll_PostMessageW]
mov dword [rbx + 0x290], esi
cmp dword [rbx + 0x268], 0
je 0x41090395
cmp edi, 8
jne 0x41090395
mov rax, qword [0x4135c040]
test rax, rax
jne 0x41090382
mov ecx, edi
call fcn.41211580
mov qword [rsp + 0x30], rax
test rax, rax
je 0x41090378
mov rcx, rax
call fcn.4115bb10
jmp 0x4109037b
mov rax, rsi
mov qword [0x4135c040], rax
mov edx, 1
mov rcx, rax
call fcn.4113b060
mov dword [rbx + 0x268], esi
mov ecx, 0x14
call qword [sym.imp.USER32.dll_GetKeyState]
movzx ebp, ax
cmp al, 0x81
jne 0x410904d4
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x410903bc
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rbx + 0x278]
test rcx, rcx
je 0x410903ce
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.41080f00
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov rcx, qword [rbx + 0x158]
call fcn.4106a7c0
mov dword [rbx + 0x208], esi
lea rcx, [rbx + 0x30]
call fcn.41037e70
lea rcx, [rbx + 8]
call fcn.41037e70
mov dword [rbx + 0x5c], esi
mov dword [rbx + 0x58], esi
mov rcx, qword [rbx + 0x158]
call fcn.4106a660
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x58]
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov rcx, qword [rbx + 0x158]
test rcx, rcx
je 0x4109045d
call fcn.4106a7c0
mov dword [rbx + 0x208], esi
lea rcx, [rbx + 0x30]
call fcn.41037e70
lea rcx, [rbx + 8]
call fcn.41037e70
mov dword [rbx + 0x5c], esi
mov dword [rbx + 0x58], esi
mov rcx, qword [rbx + 0x158]
call fcn.4106a660
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rbx + 0x278]
test rcx, rcx
je 0x410904cd
mov rax, qword [rcx]
call qword [rax + 0x60]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x58]
xor eax, eax
jmp 0x41090ef7
cmp bpl, 1
jne 0x4109068e
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x64
call qword [rax + 0x88]
test eax, eax
je 0x41090511
cmp edi, 0x1b
jne 0x41090511
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x70]
or eax, 0xffffffff
jmp 0x41090ef7
mov rax, qword [0x4135da38]
test rax, rax
jne 0x41090543
lea ecx, [rax + 0x28]
call fcn.41211580
mov qword [rsp + 0x30], rax
test rax, rax
je 0x41090539
mov rcx, rax
call fcn.41079380
jmp 0x4109053c
mov rax, rsi
mov qword [0x4135da38], rax
mov r8, r14
mov edx, edi
mov rcx, rax
call fcn.4107b4b0
cmp eax, 0xffffffff
je 0x41090599
test byte [r12 + 0x10], 0x80
je 0x4109056a
mov ecx, 1
mov dword [rbx + 0xd0], ecx
jmp 0x4109056f
mov ecx, 1
test byte [r12 + 0x11], 0x80
je 0x4109057d
mov dword [rbx + 0xd4], ecx
cmp eax, 0x9d04
jne 0x4109058a
mov dword [rbx + 0xd8], ecx
mov byte [rbx + 0x28c], 1
or eax, 0xffffffff
jmp 0x41090ef7
cmp edi, 0x10
jne 0x41090671
test r13, r13
je 0x41090671
cmp dword [rbx + 0x220], edi
jne 0x41090671
test r15d, r15d
jne 0x41090671
mov bpl, byte [rbx + 0x334]
mov dil, byte [rbx + 0x335]
and edi, 0x80
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
lea edx, [r15 + 0x55]
call qword [rax]
and ebp, 0x80
je 0x410905f0
test edi, edi
jne 0x41090609
cmp eax, 1
je 0x41090610
test ebp, ebp
je 0x41090600
cmp eax, 2
jne 0x41090609
jmp 0x41090610
test edi, edi
je 0x41090609
cmp eax, 3
je 0x41090610
xor eax, eax
jmp 0x41090ef7
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, 0x14
call qword [sym.imp.USER32.dll_keybd_event]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, 0x14
call qword [sym.imp.USER32.dll_keybd_event]
call fcn.4101fcc0
mov r8, qword [rax]
mov edx, 0x62
mov rcx, rax
call qword [r8 + 0x88]
mov ebx, eax
call fcn.4101fcc0
mov r9, qword [rax]
test bl, bl
sete sil
mov r8d, esi
mov edx, 0x62
mov rcx, rax
call qword [r9 + 0x90]
xor eax, eax
jmp 0x41090ef7
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x5f
call qword [rax + 0x88]
test eax, eax
je 0x41090ef7
cmp bpl, 0x80
jne 0x410906c7
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x410906a6
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbx + 0x278]
test rcx, rcx
je 0x410906b8
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, rbx
call fcn.4107d3d0
xor eax, eax
jmp 0x41090ef7
mov rax, qword [0x4135da38]
test rax, rax
jne 0x410906f9
lea ecx, [rax + 0x28]
call fcn.41211580
mov qword [rsp + 0x30], rax
test rax, rax
je 0x410906ef
mov rcx, rax
call fcn.41079380
jmp 0x410906f2
mov rax, rsi
mov qword [0x4135da38], rax
mov r8, r14
mov edx, edi
mov rcx, rax
call fcn.4107b4b0
cmp eax, 0xffffffff
je 0x4109074f
test byte [r12 + 0x10], 0x80
je 0x41090720
mov ecx, 1
mov dword [rbx + 0xd0], ecx
jmp 0x41090725
mov ecx, 1
test byte [r12 + 0x11], 0x80
je 0x41090733
mov dword [rbx + 0xd4], ecx
cmp eax, 0x9d04
jne 0x41090740
mov dword [rbx + 0xd8], ecx
mov byte [rbx + 0x28c], 1
or eax, 0xffffffff
jmp 0x41090ef7
test r13, r13
je 0x41090765
cmp edi, 0x11
je 0x41090765
cmp edi, 0x10
je 0x41090765
xor eax, eax
jmp 0x41090ef7
test r13, r13
jne 0x4109077f
cmp edi, 0x11
je 0x41090778
cmp edi, 0x10
jne 0x41090830
xor eax, eax
jmp 0x41090ef7
cmp edi, 0x10
jne 0x41090830
cmp dword [rbx + 0x220], edi
jne 0x41090823
test r15d, r15d
jne 0x41090823
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
lea edx, [rdi + 0x47]
call qword [rax]
cmp eax, 1
jne 0x41090804
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jle 0x41090804
mov cl, byte [rbx + 0x334]
and ecx, 0x80
mov al, byte [rbx + 0x335]
and eax, 0x80
je 0x410907ef
test ecx, ecx
jne 0x41090816
xor r8d, r8d
lea edx, [rdi - 0xd]
mov rcx, rbx
call fcn.4108dfd0
jmp 0x41090816
test ecx, ecx
je 0x41090816
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, rbx
call fcn.4108dfd0
jmp 0x41090816
cmp dword [rsp + 0x20], 0
jne 0x41090816
mov rdx, r12
mov rcx, rbx
call fcn.410800a0
mov dword [rbx + 0xd0], esi
xor eax, eax
jmp 0x41090ef7
mov dword [rbx + 0xd0], esi
xor eax, eax
jmp 0x41090ef7
cmp edi, 0x11
jne 0x41090963
mov bpl, byte [rbx + 0x336]
mov dil, byte [rbx + 0x337]
and edi, 0x80
and ebp, 0x80
je 0x41090860
test edi, edi
je 0x41090860
xor eax, eax
jmp 0x41090ef7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
sub r12d, dword [rbx + 0x250]
mov rcx, qword [rbx + 0x270]
mov r8, qword [rcx]
mov edx, 0x57
call qword [r8]
test eax, eax
jne 0x410908dd
cmp r12d, 0x64
jb 0x41090956
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jle 0x410908dd
test ebp, ebp
je 0x410908c4
cmp dword [rsp + 0x28], 0
je 0x41090956
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, rbx
call fcn.4108dfd0
jmp 0x41090956
test edi, edi
je 0x41090956
xor r8d, r8d
lea edx, [r8 + 3]
mov rcx, rbx
call fcn.4108dfd0
jmp 0x41090956
cmp r12d, 0x64
jb 0x41090956
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x55
call qword [rax]
lea ecx, [rax - 4]
cmp ecx, 2
ja 0x41090956
cmp dword [rbx + 0xd4], 0
jne 0x41090956
cmp eax, 4
jne 0x4109091e
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x41090956
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x41090956
cmp eax, 5
jne 0x4109093b
test ebp, ebp
je 0x41090956
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x41090956
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x41090956
cmp eax, 6
jne 0x41090956
test edi, edi
je 0x41090956
mov rcx, qword [rbx + 0x280]
test rcx, rcx
je 0x41090956
mov rax, qword [rcx]
call qword [rax + 0x18]
mov dword [rbx + 0xd4], esi
xor eax, eax
jmp 0x41090ef7
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x5d
call qword [rax + 0x88]
cmp eax, 1
jne 0x41090a60
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x5f
call qword [rax + 0x88]
test eax, eax
jne 0x41090a60
test byte [r12 + 0x10], 0x80
je 0x410909b3
mov esi, 1
mov dword [rbx + 0xd0], esi
jmp 0x410909b8
mov esi, 1
test byte [r12 + 0x11], 0x80
je 0x410909c6
mov dword [rbx + 0xd4], esi
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x64
call qword [rax + 0x88]
test eax, eax
je 0x41090a59
cmp edi, 0x1b
jne 0x410909f9
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x70]
or eax, 0xffffffff
jmp 0x41090ef7
cmp edi, 8
je 0x41090a52
cmp edi, 0xd
je 0x41090a52
cmp edi, 0x2d
je 0x41090a52
cmp edi, 9
je 0x41090a52
cmp edi, 0x2e
je 0x41090a52
cmp edi, 0x26
je 0x41090a52
cmp edi, 0x25
je 0x41090a52
cmp edi, 0x27
je 0x41090a52
cmp edi, 0x28
je 0x41090a52
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x5f
call qword [rax + 0x88]
test al, al
jne 0x41090a4b
cmp edi, 0x20
jne 0x41090a4b
xor eax, eax
jmp 0x41090ef7
mov eax, esi
jmp 0x41090ef7
xor eax, eax
jmp 0x41090ef7
xor eax, eax
jmp 0x41090ef7
cmp dword [rbx + 0x58], 0
jle 0x41090a80
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a56f0]
mov r14d, 1
jmp 0x41090e37
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jle 0x41090b68
cmp edi, 0x1b
jne 0x41090aa8
mov r14d, 1
mov esi, r14d
jmp 0x41090e37
cmp edi, 0x20
jne 0x41090ad0
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x18]
cmp dword [rax + 4], 0
jl 0x41090b0b
mov r14d, 1
mov esi, r14d
jmp 0x41090e37
cmp edi, 0x21
je 0x41090b5a
cmp edi, 0x22
je 0x41090b5a
lea eax, [rdi - 0x30]
cmp eax, 9
ja 0x41090af4
mov r14d, 1
mov esi, r14d
jmp 0x41090e37
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a55f0]
test esi, esi
jne 0x41090e31
mov rcx, rbx
call fcn.4107d200
mov rcx, rbx
call fcn.4107d2a0
mov rcx, qword [rbx + 0x160]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x60]
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x58]
mov r14d, 1
jmp 0x41090e37
mov r14d, 1
mov esi, r14d
jmp 0x41090e37
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x64
call qword [rax + 0x88]
test eax, eax
je 0x41090bfe
cmp edi, 0x1b
jne 0x41090b9b
mov rcx, qword [rbx + 0x278]
mov rax, qword [rcx]
call qword [rax + 0x70]
or eax, 0xffffffff
jmp 0x41090ef7
cmp edi, 8
je 0x41090bf7
cmp edi, 0xd
je 0x41090bf7
cmp edi, 0x2d
je 0x41090bf7
cmp edi, 9
je 0x41090bf7
cmp edi, 0x2e
je 0x41090bf7
cmp edi, 0x26
je 0x41090bf7
cmp edi, 0x25
je 0x41090bf7
cmp edi, 0x27
je 0x41090bf7
cmp edi, 0x28
je 0x41090bf7
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x5f
call qword [rax + 0x88]
test al, al
jne 0x41090bed
cmp edi, 0x20
jne 0x41090bed
xor eax, eax
jmp 0x41090ef7
mov eax, 1
jmp 0x41090ef7
xor eax, eax
jmp 0x41090ef7
lea rdx, [0x412a9590]
lea rcx, [rbx + 0x108]
call fcn.41038930
test al, al
je 0x41090c21
mov eax, dword [rbx + 0xdc]
mov dword [rbx + 0xe0], eax
cmp dword [rbx + 0xe0], 0
jne 0x41090c40
xor r8d, r8d
lea rdx, [0x412a02a8]
lea rcx, [rbx + 0x108]
call fcn.41024690
cmp edi, 0x25
je 0x41090c59
cmp edi, 0x26
je 0x41090c59
cmp edi, 0x28
je 0x41090c59
cmp edi, 0x27
je 0x41090c59
cmp edi, 0x20
jne 0x41090c84
mov dword [rbx + 0xe0], esi
mov r14d, 1
mov dword [rbx + 0xdc], r14d
xor r8d, r8d
lea rdx, [0x412a02a8]
lea rcx, [rbx + 0x108]
call fcn.41024690
jmp 0x41090c8a
mov r14d, 1
cmp edi, 0x60
jb 0x41090c94
cmp edi, 0x69
jbe 0x41090ca0
lea eax, [rdi - 0x30]
cmp eax, 9
ja 0x41090d3b
mov dword [rbx + 0xdc], r14d
cmp dword [rbx + 0xe0], 0
je 0x41090d58
lea rdx, [0x412a9590]
lea rcx, [rbx + 0x108]
call fcn.41032210
test al, al
je 0x41090d58
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x3b
call qword [rax]
test eax, eax
je 0x41090d58
cmp edi, 0x60
jb 0x41090cec
add edi, 0xffffffd0
mov word [rsp + 0x40], 0
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x42]
call fcn.412121c0
mov r8d, edi
lea rdx, [0x412a9588]
lea rcx, [rsp + 0x40]
call fcn.412122b0
mov edx, edi
mov rcx, rbx
call fcn.4107bae0
xor r8d, r8d
lea rdx, [0x412a02a8]
lea rcx, [rbx + 0x108]
call fcn.41024690
jmp 0x41090d58
lea rdx, [0x412a9590]
lea rcx, [rbx + 0x108]
call fcn.41032210
test al, al
je 0x41090d58
mov dword [rbx + 0xe0], esi
test byte [r12 + 0x10], 0x80
je 0x41090db9
test r15d, r15d
jne 0x41090e37
lea eax, [rdi - 0x30]
cmp eax, 0x4a
jbe 0x41090da8
lea eax, [rdi - 0xbf]
cmp eax, 0x1f
jbe 0x41090da8
cmp edi, 0xba
je 0x41090da8
cmp edi, 0xbb
je 0x41090da8
cmp edi, 0xbd
je 0x41090da8
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a55f0]
jmp 0x41090e37
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a56f0]
jmp 0x41090e37
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x5f
call qword [rax + 0x88]
cmp eax, 1
jne 0x41090e20
lea eax, [rdi - 0x30]
cmp eax, 0x4a
jbe 0x41090e0f
lea eax, [rdi - 0xbf]
cmp eax, 0x1f
jbe 0x41090e0f
cmp edi, 0xba
je 0x41090e0f
cmp edi, 0xbb
je 0x41090e0f
cmp edi, 0xbd
je 0x41090e0f
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a55f0]
jmp 0x41090e37
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a56f0]
jmp 0x41090e37
lea rcx, [0x41000000]
movzx esi, byte [rdi + rcx + 0x2a55f0]
jmp 0x41090e37
mov r14d, 1
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
mov edx, 0x31
call qword [rax]
test eax, eax
je 0x41090e56
cmp edi, 0x20
jne 0x41090e56
mov esi, r14d
jmp 0x41090e5b
cmp edi, 0x10
je 0x41090e6a
test byte [r12 + 0x10], 0x80
je 0x41090e6a
mov dword [rbx + 0xd0], r14d
cmp edi, 0x11
je 0x41090e7e
test byte [r12 + 0x11], 0x80
je 0x41090e7e
mov dword [rbx + 0xd4], r14d
mov r9d, edi
mov r8d, dword [rbx + 0xd0]
mov edx, dword [rbx + 0xd4]
mov rcx, rbx
call fcn.4107bcf0
test eax, eax
je 0x41090e9e
xor eax, eax
jmp 0x41090ef7
cmp edi, 0x20
jne 0x41090ec8
test esi, esi
jne 0x41090ef4
test r13, r13
jne 0x41090ecc
mov rcx, qword [rbx + 0x270]
mov rax, qword [rcx]
lea edx, [rdi + 0x3f]
call qword [rax + 0x88]
test eax, eax
je 0x41090ecc
mov eax, r14d
jmp 0x41090ef7
test esi, esi
jne 0x41090ef4
mov edx, r14d
mov rcx, rbx
call fcn.4107c270
cmp dword [rsp + 0x20], 0
jne 0x41090ee8
cmp eax, 0x27
je 0x41090ee8
cmp eax, 0x25
jne 0x41090ef0
mov rcx, rbx
call fcn.4107f530
xor eax, eax
jmp 0x41090ef7
mov eax, r14d
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.41211b80
mov rbx, qword [rsp + 0x2b8]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
mov rbx, r9
mov rdi, r8
mov esi, edx
mov rax, qword [0x41360978]
test rax, rax
jne 0x41095f74
mov ecx, 0x398
call fcn.41211580
mov qword [rsp + 0x28], rax
test rax, rax
je 0x41095f6b
mov rcx, rax
call fcn.410825d0
jmp 0x41095f6d
xor eax, eax
mov qword [0x41360978], rax
mov r9, rbx
mov r8, rdi
mov edx, esi
mov rcx, rax
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x410900c0