Function at 0x140059a64
Capabilities:
Authenticate hmac
Get keyboard layout
Log keystrokes via polling
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1400bfa10]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rcx, qword [0x1400c4be0]
xor edi, edi
mov r14, rdx
mov dword [rsp + 0x40], edi
mov r15, r9
mov r12, r8
mov rbx, r9
lea edx, [rdi + 0x41]
call fcn.140002d3c
mov rcx, qword [0x1400c4be0]
lea edx, [rdi + 0x43]
mov dword [rsp + 0x44], eax
call fcn.140002d3c
mov rcx, qword [0x1400c4be0]
lea edx, [rdi + 0x5c]
mov dword [rsp + 0x50], eax
call fcn.140002d3c
mov rcx, qword [0x1400c4be0]
lea edx, [rdi + 0x4e]
mov esi, eax
call fcn.140002d3c
xor ecx, ecx
mov dword [rsp + 0x4c], eax
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
lea rcx, [rbp - 0x60]
mov qword [rsp + 0x58], rax
call qword [sym.imp.USER32.dll_GetKeyboardState]
lea ecx, [rdi + 1]
mov edx, 0xc000
lea r8d, [rcx + 0x7f]
test eax, eax
jne 0x140059b2a
xor edx, edx
lea rcx, [rbp - 0x60]
mov r8d, 0x100
call fcn.14006fe40
jmp 0x140059ba8
mov r13d, 0x100
cmp r14, 0x12
jne 0x140059b58
movzx ecx, byte [rbp + 0x45]
mov rdx, r12
movzx eax, byte [rbp - 0x4e]
shr rdx, 0x10
and dx, r13w
mov edx, 0xc000
cmovne ecx, eax
mov byte [rbp + 0x45], cl
lea ecx, [r14 - 0x11]
mov eax, dword [rsp + 0x44]
cmp eax, 3
je 0x140059b7a
cmp eax, ecx
jg 0x140059b9e
mov rax, qword [0x1400c4c10]
cmp dword [rax + 0x184], edi
je 0x140059b9e
cmp dword [rsp + 0x50], edi
jne 0x140059b9e
cmp r14, 0x90
jne 0x140059b9e
test byte [rbp - 0x50], r8b
jne 0x140059b9e
mov rax, r12
mov r14d, 0x2b
shr rax, 0x10
test dx, ax
jne 0x140059b9e
xor byte [rbp + 0x30], cl
lea rcx, [rbp - 0x60]
call qword [sym.imp.USER32.dll_SetKeyboardState]
mov r10, qword [0x1400c4c10]
mov ecx, 0x4000
cmp dword [r10 + 0x18c], edi
je 0x140059bd8
mov rax, r12
mov edx, 0xc000
shr rax, 0x10
and ax, dx
cmp ax, cx
jne 0x140059bd8
xor eax, eax
jmp 0x14005ad62
mov ecx, 0x80
shr r12, 0x10
mov eax, 0x2000
mov edx, edi
lea r11d, [rcx - 0x7f]
test ax, r12w
je 0x140059bff
mov al, byte [rbp + 0x45]
and al, cl
cmove edx, r11d
mov dword [rsp + 0x40], edx
movzx eax, r12w
mov r8d, eax
shr r8d, 0xf
not r8d
and r8d, r11d
mov dword [rsp + 0x54], r8d
test edx, edx
je 0x140059c2f
test byte [rbp - 0x4f], cl
je 0x140059c2f
test esi, esi
je 0x140059c28
mov byte [rbp - 0x4e], dil
jmp 0x140059c2f
mov byte [rbp + 0x45], cl
mov dword [rsp + 0x40], edi
movzx r9d, byte [rbp - 0x50]
and eax, 0x81ff
movzx ecx, byte [rbp - 0x4f]
mov esi, 0x100
shr ecx, 7
mov dword [rsp + 0x60], eax
mov eax, r9d
shr eax, 7
lea r13d, [rax + rcx*2]
mov ecx, dword [0x1400c107c]
test ecx, ecx
jne 0x140059cbe
lea edx, [rcx + 0x5b]
mov qword [0x1400c0fe8], rsi
mov rcx, qword [0x1400c4be0]
call fcn.140002d3c
test eax, eax
je 0x140059c88
cmp r14, 0x12
jne 0x140059c88
test si, r12w
je 0x140059ca2
mov rax, r14
jmp 0x140059c8f
mov rax, qword [0x1400c0fe8]
mov ecx, 0x5d
cmp r14, rcx
cmove rax, rcx
mov qword [0x1400c0fe8], rax
mov r8d, dword [rsp + 0x54]
mov r11d, 1
mov ecx, dword [0x1400c107c]
mov r10, qword [0x1400c4c10]
mov r9b, byte [rbp - 0x50]
cmp r14, qword [0x1400c0fe8]
mov edx, 2
jne 0x140059d94
test ecx, ecx
jne 0x140059d73
mov eax, 0xc000
test ax, r12w
jne 0x140059d8d
mov ecx, r11d
mov dword [0x1400c107c], ecx
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x140059d22
mov eax, dword [rsp + 0x44]
cmp dword [r10 + 0x184], edi
je 0x140059d0f
cmp dword [rsp + 0x50], edi
jne 0x140059d0f
cmp eax, edx
jne 0x140059d22
cmp eax, 3
je 0x140059d22
cmp dword [rsp + 0x4c], edi
jne 0x140059d22
test ecx, ecx
je 0x140059e3e
test si, r12w
jne 0x140059e3e
cmp r14, 0x25
ja 0x140059df0
je 0x140059de9
mov rax, r14
sub rax, 0xc
je 0x140059de2
sub rax, 0x15
je 0x140059ddb
sub rax, 1
je 0x140059dd4
sub rax, 1
je 0x140059dcd
cmp rax, 1
jne 0x140059e3e
mov eax, 0x67
jmp 0x140059e32
cmp ecx, r11d
jne 0x140059d8d
mov eax, 0x8000
test ax, r12w
je 0x140059d8d
mov ecx, edx
mov dword [0x1400c107c], edx
jmp 0x140059db4
mov ecx, edi
jmp 0x140059cea
cmp ecx, r11d
jne 0x140059dae
cmp r14, 0x11
je 0x140059cf0
mov ecx, edi
mov dword [0x1400c107c], ecx
cmp ecx, r11d
jle 0x140059cf0
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140059cf8
mov ecx, edi
mov dword [0x1400c107c], ecx
jmp 0x140059cf4
mov eax, 0x61
jmp 0x140059e32
mov eax, 0x63
jmp 0x140059e32
mov eax, 0x69
jmp 0x140059e32
mov eax, 0x65
jmp 0x140059e32
mov eax, 0x64
jmp 0x140059e32
mov rax, r14
sub rax, 0x26
je 0x140059e2d
sub rax, 1
je 0x140059e26
sub rax, 1
je 0x140059e1f
sub rax, 5
je 0x140059e18
cmp rax, 1
jne 0x140059e3e
mov eax, 0x6e
jmp 0x140059e32
mov eax, 0x60
jmp 0x140059e32
mov eax, 0x62
jmp 0x140059e32
mov eax, 0x66
jmp 0x140059e32
mov eax, 0x68
test byte [rbp + 0x30], r11b
je 0x140059e3b
or r13d, r11d
movsxd r14, eax
test r8d, r8d
je 0x14005a9b9
test byte [rbp + 0x45], 0x80
jne 0x14005a9b9
test ecx, ecx
jne 0x14005a9b9
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140059e70
mov byte [r15], 0x1b
lea rbx, [r15 + 1]
mov r10, qword [0x1400c4c10]
cmp r14, 0x21
jne 0x140059ea5
cmp r13d, r11d
jne 0x140059e98
mov r8, rdx
xor r9d, r9d
mov rcx, qword [0x1400c4c28]
mov edx, 0x115
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x140059bd1
cmp r13d, edx
jne 0x140059ec0
xor r9d, r9d
xor r8d, r8d
jmp 0x140059e81
cmp r14, 0x22
jne 0x140059edd
cmp r13d, r11d
jne 0x140059eb6
lea r8d, [r14 - 0x1f]
jmp 0x140059e7e
cmp r13d, edx
jne 0x140059ec0
mov r8, r11
jmp 0x140059e7e
cmp r13d, 3
jne 0x140059edd
cmp r14, 0x21
mov rcx, r10
setne dil
mov edx, edi
call fcn.140050c10
jmp 0x140059bd1
cmp r14, 0x2d
jne 0x140059ef4
cmp r13d, r11d
jne 0x140059ef4
xor ecx, ecx
call fcn.1400611fc
jmp 0x140059bd1
test eax, eax
je 0x14005a056
cmp r14, 0x73
jne 0x140059fbc
mov rcx, qword [0x1400c4be0]
lea edx, [r14 - 0x22]
call fcn.140002d3c
test eax, eax
jne 0x14005ad5f
mov r9b, byte [rbp - 0x50]
mov edx, 2
mov r10, qword [0x1400c4c10]
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x4c], edi
je 0x14005a123
test eax, eax
jne 0x14005a30c
mov rcx, r14
sub rcx, 0x61
je 0x14005a101
sub rcx, 1
je 0x14005a0eb
sub rcx, 1
je 0x14005a0d5
sub rcx, 1
je 0x14005a0bf
sub rcx, 1
je 0x14005a0ba
sub rcx, 1
je 0x14005a0a4
sub rcx, 1
je 0x14005a08e
sub rcx, 1
je 0x14005a075
cmp rcx, 1
jne 0x14005a12b
mov ecx, r13d
lea rdx, [0x140000000]
and ecx, 3
mov cl, byte [rcx + rdx + 0xab924]
mov byte [rbx], cl
jmp 0x14005a117
mov ecx, 0x20
cmp r14, rcx
jne 0x140059ffd
lea edx, [rcx + 0x32]
mov rcx, qword [0x1400c4be0]
call fcn.140002d3c
test eax, eax
je 0x140059f1e
mov rcx, qword [0x1400c4c28]
xor r9d, r9d
mov edx, 0x112
mov r8d, 0xf100
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x14005ad5f
cmp r14, 0xd
jne 0x14005a056
mov rcx, qword [0x1400c4be0]
lea edx, [r14 + 0x4a]
call fcn.140002d3c
test eax, eax
je 0x140059f1e
mov rcx, qword [0x1400c4be0]
lea edx, [r14 + 0x62]
call fcn.140002d3c
cmp eax, 1
je 0x140059f1e
mov eax, 0xc000
and r12w, ax
mov eax, 0x4000
cmp r12w, ax
je 0x14005ad5f
call fcn.14005fd94
jmp 0x14005ad5f
cmp r14, 0x13
jne 0x140059f32
cmp r13d, edx
jne 0x140059f32
xor dword [r10 + 0x184], r11d
jmp 0x140059bd1
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab91c]
jmp 0x14005a115
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab914]
jmp 0x14005a115
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab90c]
jmp 0x14005a115
mov byte [rbx], 0x2e
jmp 0x14005a117
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab904]
jmp 0x14005a115
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab8fc]
jmp 0x14005a115
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab8f4]
jmp 0x14005a115
mov eax, r13d
lea rdx, [0x140000000]
and eax, 3
mov al, byte [rax + rdx + 0xab8ec]
mov byte [rbx], al
sub rbx, r15
lea rax, [rbx + 1]
jmp 0x14005ad62
test eax, eax
jne 0x14005a30c
mov r11d, dword [rsp + 0x44]
mov ecx, edi
cmp r11d, 3
je 0x14005a151
cmp r11d, 1
jg 0x14005a182
cmp dword [r10 + 0x184], edi
je 0x14005a2c0
cmp dword [rsp + 0x50], edi
jne 0x14005a182
cmp r14, 0x2b
je 0x14005a17d
cmp r14, 0x6a
je 0x14005a176
cmp r14, 0x6d
je 0x14005a16f
cmp r14, 0x6f
jne 0x14005a182
lea ecx, [r14 - 0x1e]
jmp 0x14005a182
mov ecx, 0x53
jmp 0x14005a182
mov ecx, 0x52
jmp 0x14005a182
mov ecx, 0x50
cmp dword [r10 + 0x184], edi
je 0x14005a2c0
cmp dword [rsp + 0x50], edi
jne 0x14005a2c0
cmp r14, 0x67
ja 0x14005a242
je 0x14005a238
mov rax, r14
sub rax, 0xd
je 0x14005a224
sub rax, 0x53
je 0x14005a21a
sub rax, 1
je 0x14005a210
sub rax, 1
je 0x14005a206
sub rax, 1
je 0x14005a1fc
sub rax, 1
je 0x14005a1f2
sub rax, 1
je 0x14005a1e8
cmp rax, 1
jne 0x14005a2c0
lea ecx, [rax + 0x75]
jmp 0x14005a2c4
mov ecx, 0x75
jmp 0x14005a2c4
mov ecx, 0x74
jmp 0x14005a2c4
mov ecx, 0x73
jmp 0x14005a2c4
mov ecx, 0x72
jmp 0x14005a2c4
mov ecx, 0x71
jmp 0x14005a2c4
mov ecx, 0x70
jmp 0x14005a2c4
test si, r12w
je 0x14005a2c0
mov ecx, 0x4d
jmp 0x14005a2c4
mov ecx, 0x77
jmp 0x14005a2c4
mov rax, r14
sub rax, 0x68
je 0x14005a2bb
sub rax, 1
je 0x14005a2b4
sub rax, 1
je 0x14005a2a8
sub rax, 1
je 0x14005a28b
sub rax, rdx
je 0x14005a27f
sub rax, 1
je 0x14005a278
cmp rax, 1
jne 0x14005a2c0
cmp r11d, edx
jne 0x14005a2c0
lea ecx, [rax + 0x6e]
jmp 0x14005a2c0
mov ecx, 0x6e
jmp 0x14005a2c4
cmp r11d, edx
jne 0x14005a2c0
mov ecx, 0x6d
jmp 0x14005a2c0
cmp r11d, edx
jne 0x14005a29c
neg r13d
sbb eax, eax
neg eax
lea ecx, [rax + 0x6b]
jmp 0x14005a2c4
neg r13d
sbb eax, eax
neg eax
lea ecx, [rax + 0x6c]
jmp 0x14005a2c4
cmp r11d, edx
jne 0x14005a2c0
mov ecx, 0x6a
jmp 0x14005a2c0
mov ecx, 0x79
jmp 0x14005a2c4
mov ecx, 0x78
test ecx, ecx
je 0x14005a311
mov r8d, ecx
cmp dword [r10 + 0x188], edi
je 0x14005a2ed
lea eax, [rcx - 0x50]
mov rcx, rbx
cmp eax, 3
ja 0x14005a2e4
lea rdx, [0x1400a840c]
jmp 0x14005a2f7
lea rdx, str.e__c
jmp 0x14005a2f7
lea rdx, str.eO_c
mov rcx, rbx
call fcn.14000a3b8
movsxd rcx, eax
add rbx, rcx
sub rbx, r15
mov eax, ebx
jmp 0x14005ad62
mov r11d, dword [rsp + 0x44]
cmp r14, 8
jne 0x14005a36f
test r13d, r13d
jne 0x14005a346
mov rcx, qword [0x1400c4be0]
lea edx, [r14 + 0x37]
call fcn.140002d3c
neg eax
sbb cl, cl
and cl, 0x77
add cl, r14b
mov byte [rbx], cl
mov byte [rbx + 1], dil
mov eax, 0xfffffffe
jmp 0x14005ad62
mov ecx, 1
cmp r13d, ecx
jne 0x14005a40c
lea edx, [rcx + 0x3e]
mov rcx, qword [0x1400c4be0]
call fcn.140002d3c
neg eax
sbb cl, cl
and cl, 0x89
add cl, 0x7f
jmp 0x14005a336
cmp r14, 9
jne 0x14005a39d
lea ecx, [r14 - 8]
cmp r13d, ecx
jne 0x14005a40c
mov byte [rbx], 0x1b
add rbx, rcx
mov byte [rbx], 0x5b
add rbx, rcx
mov byte [rbx], 0x5a
sub rbx, r15
lea rax, [rcx + rbx]
jmp 0x14005ad62
mov r8d, 0x20
cmp r14, r8
jne 0x14005a3c3
cmp r13d, edx
jne 0x14005a3b5
mov byte [rbx], dil
jmp 0x14005a117
cmp r13d, 3
jne 0x14005a405
mov byte [rbx], 0xa0
jmp 0x14005a117
cmp r14, 3
jne 0x14005a3f5
cmp r13d, edx
jne 0x14005a46c
mov rax, qword [0x1400c10c8]
test rax, rax
je 0x140059bd1
mov rcx, qword [0x1400c10d0]
lea edx, [r14 - 2]
call qword [rax + 0x30]
jmp 0x140059bd1
cmp r14, 0x13
jne 0x14005a405
mov word [rbx], 0x1a
jmp 0x14005a33c
mov ecx, 1
jmp 0x14005a412
mov r8d, 0x20
cmp r13d, edx
jne 0x14005a46c
lea rax, [r14 - 0x32]
cmp rax, 6
ja 0x14005a437
lea rdx, [0x140000000]
mov al, byte [r14 + rdx + 0xab906]
mov byte [rbx], al
jmp 0x14005a391
lea rax, [r14 - 0xbd]
test rax, 0xfffffffffffffffd
jne 0x14005a453
mov esi, 0x1f
mov byte [rbx], sil
jmp 0x14005a391
cmp r14, 0xdf
je 0x14005a465
cmp r14, 0xdc
jne 0x14005a4a6
mov esi, 0x1c
jmp 0x14005a44b
cmp r13d, 3
jne 0x14005a483
cmp r14, 0xde
jne 0x14005a4a6
mov byte [rbx], 0x1e
jmp 0x14005a117
test r13d, r13d
jne 0x14005a4a6
cmp r14, 0xd
jne 0x14005a4a6
cmp dword [r10 + 0x190], edi
je 0x14005a4a6
lea ecx, [r13 + 1]
mov byte [rbx], r14b
add rbx, rcx
lea eax, [rcx + 9]
jmp 0x14005a430
mov esi, edi
mov ecx, 0x76
cmp r14, 0x7a
ja 0x14005a5dc
je 0x14005a5d5
cmp r14, 0x75
ja 0x14005a56a
je 0x14005a556
mov rax, r14
sub rax, 0x70
je 0x14005a542
sub rax, 1
je 0x14005a52e
sub rax, 1
je 0x14005a51a
sub rax, 1
je 0x14005a506
cmp rax, 1
jne 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xd
add esi, 0xf
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xc
add esi, 0xe
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xc
add esi, 0xd
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xc
add esi, 0xc
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xc
add esi, 0xb
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xc
add esi, 0x11
jmp 0x14005a64e
mov rax, r14
sub rax, rcx
je 0x14005a5c4
sub rax, 1
je 0x14005a5b0
sub rax, 1
je 0x14005a59c
cmp rax, 1
jne 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xd
add esi, 0x15
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xd
add esi, 0x14
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xd
add esi, 0x13
jmp 0x14005a64e
mov al, r9b
and al, 0x80
neg al
sbb esi, esi
and esi, 0xd
add esi, 0x12
jmp 0x14005a64e
mov esi, 0x17
jmp 0x14005a64e
mov rax, r14
sub rax, 0x7b
je 0x14005a649
sub rax, 1
je 0x14005a642
sub rax, 1
je 0x14005a63b
sub rax, 1
je 0x14005a634
sub rax, 1
je 0x14005a62d
sub rax, 1
je 0x14005a626
sub rax, 1
je 0x14005a621
sub rax, 1
je 0x14005a61a
cmp rax, 1
jne 0x14005a64e
lea esi, [rax + 0x21]
jmp 0x14005a64e
mov esi, 0x21
jmp 0x14005a64e
mov esi, r8d
jmp 0x14005a64e
mov esi, 0x1f
jmp 0x14005a64e
mov esi, 0x1d
jmp 0x14005a64e
mov esi, 0x1c
jmp 0x14005a64e
mov esi, 0x1a
jmp 0x14005a64e
mov esi, 0x19
jmp 0x14005a64e
mov esi, 0x18
test dl, r13b
jne 0x14005a6a8
mov rax, r14
sub rax, 0x21
je 0x14005a6a3
sub rax, 1
je 0x14005a69c
sub rax, 1
je 0x14005a695
sub rax, 1
je 0x14005a68a
sub rax, 9
je 0x14005a686
mov r12d, 1
cmp rax, r12
jne 0x14005a6ae
lea esi, [r12 + 2]
jmp 0x14005a6ae
mov esi, edx
jmp 0x14005a6a8
mov r12d, 1
mov esi, r12d
jmp 0x14005a6ae
mov esi, 4
jmp 0x14005a6a8
mov esi, 6
jmp 0x14005a6a8
mov esi, 5
mov r12d, 1
lea rdx, [0x140000000]
cmp r11d, 3
jne 0x14005a6cb
cmp esi, 6
jg 0x14005a6cb
movsxd rax, esi
movsx esi, byte [rax + rdx + 0xab940]
mov r8d, dword [r10 + 0x188]
test r8d, r8d
je 0x14005a705
lea eax, [rsi - 1]
cmp eax, 5
ja 0x14005a705
movsxd rax, esi
movsx r8d, byte [rax + rdx + 0xab948]
lea rdx, [0x1400a840c]
mov rcx, rbx
call fcn.14000a3b8
sub rbx, r15
add rax, rbx
jmp 0x14005ad62
cmp r11d, 5
jne 0x14005a851
lea eax, [rsi - 0xb]
cmp eax, 0x17
ja 0x14005a804
mov al, byte [0x1400ab980]
mov byte [rbp - 0x68], al
movups xmm0, xmmword [str.MNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_____]
movups xmm1, xmmword [0x1400ab960]
movups xmmword [rsp + 0x68], xmm0
movups xmm0, xmmword [0x1400ab970]
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rbp - 0x78], xmm0
cmp r14, rcx
ja 0x14005a79c
je 0x14005a795
sub r14, 0x70
je 0x14005a7da
sub r14, 1
je 0x14005a790
sub r14, 1
je 0x14005a789
sub r14, 1
je 0x14005a782
sub r14, 1
je 0x14005a77b
cmp r14, 1
jne 0x14005a7da
mov edi, r11d
jmp 0x14005a7da
mov edi, 4
jmp 0x14005a7da
mov edi, 3
jmp 0x14005a7da
mov edi, 2
jmp 0x14005a7da
mov edi, r12d
jmp 0x14005a7da
mov edi, 6
jmp 0x14005a7da
sub r14, 0x77
je 0x14005a7d5
sub r14, 1
je 0x14005a7ce
sub r14, 1
je 0x14005a7c7
sub r14, 1
je 0x14005a7c0
cmp r14, 1
jne 0x14005a7da
lea edi, [r14 + 0xa]
jmp 0x14005a7da
mov edi, 0xa
jmp 0x14005a7da
mov edi, 9
jmp 0x14005a7da
mov edi, 8
jmp 0x14005a7da
mov edi, 7
mov eax, 0x80
test al, r9b
je 0x14005a7e7
add edi, 0xc
test byte [rbp - 0x4f], al
je 0x14005a7ef
add edi, 0x18
movsxd rax, edi
lea rdx, [0x1400a8418]
movsx r8d, byte [rsp + rax + 0x68]
jmp 0x14005a6f2
lea eax, [rsi - 1]
cmp eax, 5
ja 0x14005a851
mov eax, dword [str.HL.FIG]
mov dword [rsp + 0x60], eax
movzx eax, word [0x1400ab988]
mov word [rsp + 0x64], ax
mov al, byte [0x1400ab98a]
mov byte [rsp + 0x66], al
cmp esi, 3
jne 0x14005a83c
mov byte [rbx], 0x7f
add rbx, r12
jmp 0x14005a302
movsxd rax, esi
lea rdx, [0x1400a8418]
movsx r8d, byte [rsp + rax + 0x5f]
jmp 0x14005a2f4
test r8d, r8d
jne 0x14005a85c
cmp r11d, 4
jne 0x14005a89a
lea eax, [rsi - 0xb]
cmp eax, 0xd
ja 0x14005a89a
cmp esi, 0xf
mov eax, edi
cmovg eax, r12d
cmp esi, 0x15
jle 0x14005a875
add eax, r12d
sub esi, eax
test r8d, r8d
lea r8d, [rsi + 0x45]
mov rcx, rbx
lea rdx, [0x1400a840c]
jne 0x14005a2f7
lea rdx, str.eO_c
jmp 0x14005a2f7
cmp r11d, r12d
jne 0x14005a8b7
lea eax, [rsi - 0xb]
cmp eax, 4
ja 0x14005a8ce
lea r8d, [rsi + 0x36]
lea rdx, str.e___c
jmp 0x14005a6f2
cmp r11d, 2
jne 0x14005a8ce
lea eax, [rsi - 0xb]
cmp eax, 3
ja 0x14005a8ce
test r8d, r8d
lea r8d, [rsi + 0x45]
jmp 0x14005a87e
cmp esi, r12d
je 0x14005a8d8
cmp esi, 4
jne 0x14005a916
mov rcx, qword [0x1400c4be0]
mov edx, 0x40
call fcn.140002d3c
test eax, eax
je 0x14005a90f
cmp esi, r12d
lea rax, [0x1400ab994]
lea rdx, [0x1400ab998]
mov rcx, rbx
cmove rdx, rax
call fcn.14000a3b8
jmp 0x14005a6fa
mov r10, qword [0x1400c4c10]
test esi, esi
je 0x14005a929
mov r8d, esi
lea rdx, str.e__d
jmp 0x14005a6f2
mov rax, r14
sub rax, 0xc
je 0x14005a9a0
sub rax, 0x19
je 0x14005a99c
sub rax, 1
je 0x14005a998
sub rax, 1
je 0x14005a991
sub rax, 1
je 0x14005a98d
cmp r14, 0xd
jne 0x14005a959
mov word [rbx], r14w
jmp 0x14005a33c
mov r13d, dword [rsp + 0x40]
test r13d, r13d
je 0x14005a985
lea rax, [r14 - 0x60]
cmp rax, 9
ja 0x14005a985
mov eax, dword [0x1400c0fe0]
lea eax, [rax + rax*4]
lea eax, [rax - 0x30]
lea eax, [r14 + rax*2]
mov dword [0x1400c0fe0], eax
jmp 0x14005a9c4
mov dword [0x1400c0fe0], edi
jmp 0x14005a9c4
mov al, 0x42
jmp 0x14005a9a2
mov eax, 0x43
jmp 0x14005a9a2
mov al, 0x41
jmp 0x14005a9a2
mov al, 0x44
jmp 0x14005a9a2
mov al, 0x47
movsx r8d, al
mov r9d, r13d
mov rdx, r10
mov rcx, rbx
call fcn.140049978
jmp 0x14005a6fa
mov r13d, dword [rsp + 0x40]
mov r12d, 1
mov esi, edi
cmp byte [rbp - 0x4c], dil
je 0x14005a9ec
mov rcx, qword [0x1400c4be0]
mov edx, 0x94
call fcn.140002d3c
test eax, eax
je 0x14005a9ec
test r13d, r13d
mov byte [rbp - 0x4c], dil
sete sil
cmp dword [0x1400c4b50], 2
jne 0x14005aa32
mov rax, qword [0x1400c2720]
test rax, rax
je 0x14005aa32
mov rcx, qword [rsp + 0x58]
lea r15, [0x1400c2730]
mov edx, dword [rsp + 0x60]
lea r8, [rbp - 0x60]
mov qword [rsp + 0x30], rcx
mov r9, r15
mov dword [rsp + 0x28], edi
mov ecx, r14d
mov dword [rsp + 0x20], 3
call rax
mov ebx, eax
jmp 0x14005aaa1
mov rcx, qword [rsp + 0x58]
lea r15, [0x1400c2738]
mov edx, dword [rsp + 0x60]
lea r8, [rbp - 0x60]
mov qword [rsp + 0x28], rcx
mov r9, r15
mov ecx, r14d
mov dword [rsp + 0x20], edi
call qword [sym.imp.USER32.dll_ToAsciiEx]
movsxd rbx, eax
test eax, eax
jle 0x14005acf7
mov rcx, rdi
lea r8, [0x1400c2740]
mov al, byte [r15 + rcx*2]
mov byte [rcx + r8], al
add rcx, r12
cmp rcx, rbx
jl 0x14005aa70
lea r15, [0x1400c2730]
mov dword [rsp + 0x28], 3
mov r9d, ebx
mov qword [rsp + 0x20], r15
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test ebx, ebx
jle 0x14005acf7
movsxd rbx, ebx
mov r14, rdi
test rbx, rbx
jle 0x14005acdb
movsxd r12, dword [rsp + 0x54]
movsxd rsi, esi
cmp dword [0x1400c107c], 2
movzx ecx, word [r15 + r14*2]
mov word [rsp + 0x40], cx
jne 0x14005aaf8
lea eax, [rcx - 0x20]
cmp ax, 0x5f
ja 0x14005ab62
movzx eax, cx
mov dword [0x1400c0fe4], eax
mov dword [0x1400c107c], 3
jmp 0x14005accf
cmp dword [0x1400c107c], 3
jne 0x14005ab62
lea eax, [rcx - 0x20]
cmp ax, 0x5f
ja 0x14005ab62
movzx edx, cx
mov ecx, dword [0x1400c0fe4]
mov dword [0x1400c107c], edi
call fcn.14006c224
cmp eax, 0xffffffff
je 0x14005ace7
mov rcx, qword [0x1400c4c10]
mov word [rsp + 0x44], ax
call fcn.140050c80
mov rcx, qword [0x1400c10c0]
test rcx, rcx
je 0x14005accf
mov eax, 1
lea rdx, [rsp + 0x44]
mov r9d, eax
mov r8d, eax
call fcn.14000c400
jmp 0x14005accf
mov dword [0x1400c107c], edi
test r12, r12
jne 0x14005ac32
mov edx, dword [0x1400c0fe0]
mov rcx, qword [0x1400c4c10]
test edx, edx
je 0x14005ac08
cmp dword [rcx + 0x108], edi
jne 0x14005abd2
mov rax, qword [rcx + 0x10f0]
cmp dword [rax + 0x10], 0xfde9
je 0x14005abd2
cmp dword [0x1400c10e8], edi
jne 0x14005abd2
mov byte [rsp + 0x48], dl
call fcn.140050c80
mov rcx, qword [0x1400c10c0]
test rcx, rcx
je 0x14005abfd
lea eax, [r12 + 1]
mov r9d, eax
lea rdx, [rsp + 0x48]
mov r8d, eax
call fcn.14000bb64
jmp 0x14005abfd
mov word [rsp + 0x44], dx
call fcn.140050c80
mov rcx, qword [0x1400c10c0]
test rcx, rcx
je 0x14005abfd
mov eax, 1
lea rdx, [rsp + 0x44]
mov r9d, eax
mov r8d, eax
call fcn.14000c400
mov dword [0x1400c0fe0], edi
jmp 0x14005acc8
call fcn.140050c80
mov rcx, qword [0x1400c10c0]
test rcx, rcx
je 0x14005acc8
mov eax, 1
lea rdx, [rsp + 0x40]
mov r9d, eax
mov r8d, eax
jmp 0x14005acc3
test rsi, rsi
je 0x14005ac77
mov eax, 0x80
cmp cx, ax
jae 0x14005ac77
mov eax, 0x1b
movzx ecx, cx
mov word [rsp + 0x60], ax
call fcn.14006ce48
mov rcx, qword [0x1400c4c10]
mov word [rsp + 0x62], ax
call fcn.140050c80
mov rcx, qword [0x1400c10c0]
test rcx, rcx
je 0x14005acc8
lea rdx, [rsp + 0x60]
jmp 0x14005aca3
mov eax, 0x1b
mov word [rsp + 0x4e], cx
mov rcx, qword [0x1400c4c10]
mov word [rsp + 0x4c], ax
call fcn.140050c80
mov rcx, qword [0x1400c10c0]
test rcx, rcx
je 0x14005acc8
lea rdx, [rsp + 0x4c]
test r13d, r13d
mov r8d, edi
mov rax, rdi
mov r9d, 1
setne r8b
add r8d, r9d
test r13d, r13d
sete al
lea rdx, [rdx + rax*2]
call fcn.14000c400
xor ecx, ecx
call fcn.140061ce8
inc r14
cmp r14, rbx
jl 0x14005aac0
mov word [0x1400c2730], di
jmp 0x140059bd1
mov ecx, 0x10
call qword [sym.imp.USER32.dll_MessageBeep]
jmp 0x140059bd1
test r13d, r13d
jne 0x14005ad05
mov word [0x1400c2730], di
jmp 0x14005ad41
cmp word [0x1400c2730], di
je 0x14005ad41
mov rax, qword [0x1400c4c10]
cmp dword [rax + 0x108], edi
jne 0x14005ad35
mov rax, qword [rax + 0x10f0]
cmp dword [rax + 0x10], 0xfde9
je 0x14005ad35
cmp dword [0x1400c10e8], edi
je 0x14005ad41
mov eax, 0xa
mov word [0x1400c2730], ax
cmp r14, 0x12
jne 0x14005ad5f
mov rcx, qword [0x1400c4be0]
lea edx, [r14 + 0x41]
call fcn.140002d3c
test eax, eax
je 0x140059bd1
or eax, 0xffffffff
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14006eb50
mov rbx, qword [rsp + 0x1f0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret