Function at 0x180051630
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x10d0]
mov eax, 0x11d0
call fcn.180077a10
sub rsp, rax
movdqa xmm0, xmmword [0x1800a5c40]
movdqu xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [0x1800a5be0]
movdqu xmmword [rsp + 0x40], xmm1
movdqa xmm0, xmmword [0x1800a5bf0]
movdqu xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], 7
lea rcx, [0x1800e2380]
call fcn.180052df0
lea rbx, [rsp + 0x30]
nop
mov r8, rbx
lea rdx, [rsp + 0x20]
call fcn.180053870
add rbx, 8
lea rax, [rsp + 0x68]
cmp rbx, rax
jne 0x180051690
lea rdx, str.NONE
lea rcx, [rsp + 0x70]
call fcn.180041460
mov dword [rbp - 0x70], 0
lea rdx, str.LeftClick
lea rcx, [rbp - 0x68]
call fcn.180041460
mov dword [rbp - 0x48], 1
lea rdx, str.RightClick
lea rcx, [rbp - 0x40]
call fcn.180041460
mov dword [rbp - 0x20], 2
lea rdx, str.Cancel
lea rcx, [rbp - 0x18]
call fcn.180041460
mov dword [rbp + 8], 3
lea rdx, str.MiddleClick
lea rcx, [rbp + 0x10]
call fcn.180041460
mov dword [rbp + 0x30], 4
lea rdx, str.Backspace
lea rcx, [rbp + 0x38]
call fcn.180041460
mov dword [rbp + 0x58], 8
lea rdx, [0x1800a2b0c]
lea rcx, [rbp + 0x60]
call fcn.180041460
mov dword [rbp + 0x80], 9
lea rdx, str.Clear
lea rcx, [rbp + 0x88]
call fcn.180041460
mov dword [rbp + 0xa8], 0xc
lea rdx, str.Enter
lea rcx, [rbp + 0xb0]
call fcn.180041460
mov dword [rbp + 0xd0], 0xd
lea rdx, str.Pause
lea rcx, [rbp + 0xd8]
call fcn.180041460
mov dword [rbp + 0xf8], 0x13
lea rdx, str.Caps
lea rcx, [rbp + 0x100]
call fcn.180041460
mov dword [rbp + 0x120], 0x14
lea rdx, str.Escape
lea rcx, [rbp + 0x128]
call fcn.180041460
mov dword [rbp + 0x148], 0x1b
lea rdx, str.SpaceBar
lea rcx, [rbp + 0x150]
call fcn.180041460
mov dword [rbp + 0x170], 0x20
lea rdx, str.PageUp
lea rcx, [rbp + 0x178]
call fcn.180041460
mov dword [rbp + 0x198], 0x21
lea rdx, str.PageDown
lea rcx, [rbp + 0x1a0]
call fcn.180041460
mov dword [rbp + 0x1c0], 0x22
lea rdx, [0x1800a2c7c]
lea rcx, [rbp + 0x1c8]
call fcn.180041460
mov dword [rbp + 0x1e8], 0x23
lea rdx, str.Home
lea rcx, [rbp + 0x1f0]
call fcn.180041460
mov dword [rbp + 0x210], 0x24
lea rdx, str.Left
lea rcx, [rbp + 0x218]
call fcn.180041460
mov dword [rbp + 0x238], 0x25
lea rdx, [0x1800a46e4]
lea rcx, [rbp + 0x240]
call fcn.180041460
mov dword [rbp + 0x260], 0x26
lea rdx, str.Right
lea rcx, [rbp + 0x268]
call fcn.180041460
mov dword [rbp + 0x288], 0x27
lea rdx, str.Down
lea rcx, [rbp + 0x290]
call fcn.180041460
mov dword [rbp + 0x2b0], 0x28
lea rdx, str.Select
lea rcx, [rbp + 0x2b8]
call fcn.180041460
mov dword [rbp + 0x2d8], 0x29
lea rdx, str.Print
lea rcx, [rbp + 0x2e0]
call fcn.180041460
mov dword [rbp + 0x300], 0x2a
lea rdx, str.Execute
lea rcx, [rbp + 0x308]
call fcn.180041460
mov dword [rbp + 0x328], 0x2b
lea rdx, str.PrintScreen
lea rcx, [rbp + 0x330]
call fcn.180041460
mov dword [rbp + 0x350], 0x2c
lea rdx, str.Insert
lea rcx, [rbp + 0x358]
call fcn.180041460
mov dword [rbp + 0x378], 0x2d
lea rdx, str.Delete
lea rcx, [rbp + 0x380]
call fcn.180041460
mov dword [rbp + 0x3a0], 0x2e
lea rdx, str.Help
lea rcx, [rbp + 0x3a8]
call fcn.180041460
mov dword [rbp + 0x3c8], 0x2f
lea rdx, [0x1800a2cac]
lea rcx, [rbp + 0x3d0]
call fcn.180041460
mov dword [rbp + 0x3f0], 0x30
lea rdx, [0x1800a2cb0]
lea rcx, [rbp + 0x3f8]
call fcn.180041460
mov dword [rbp + 0x418], 0x31
lea rdx, [0x1800a2cb4]
lea rcx, [rbp + 0x420]
call fcn.180041460
mov dword [rbp + 0x440], 0x32
lea rdx, [0x1800a2cb8]
lea rcx, [rbp + 0x448]
call fcn.180041460
mov dword [rbp + 0x468], 0x33
lea rdx, [0x1800a2cbc]
lea rcx, [rbp + 0x470]
call fcn.180041460
mov dword [rbp + 0x490], 0x34
lea rdx, [0x1800a2cc0]
lea rcx, [rbp + 0x498]
call fcn.180041460
mov dword [rbp + 0x4b8], 0x35
lea rdx, [0x1800a2cc4]
lea rcx, [rbp + 0x4c0]
call fcn.180041460
mov dword [rbp + 0x4e0], 0x36
lea rdx, [0x1800a2cc8]
lea rcx, [rbp + 0x4e8]
call fcn.180041460
mov dword [rbp + 0x508], 0x37
lea rdx, [0x1800a2ccc]
lea rcx, [rbp + 0x510]
call fcn.180041460
mov dword [rbp + 0x530], 0x38
lea rdx, [0x1800a2cd0]
lea rcx, [rbp + 0x538]
call fcn.180041460
mov dword [rbp + 0x558], 0x39
lea rdx, [0x1800a2cd4]
lea rcx, [rbp + 0x560]
call fcn.180041460
mov dword [rbp + 0x580], 0x41
lea rdx, [0x1800a2cd8]
lea rcx, [rbp + 0x588]
call fcn.180041460
mov dword [rbp + 0x5a8], 0x42
lea rdx, [0x1800a2cdc]
lea rcx, [rbp + 0x5b0]
call fcn.180041460
mov dword [rbp + 0x5d0], 0x43
lea rdx, [0x1800a2ce0]
lea rcx, [rbp + 0x5d8]
call fcn.180041460
mov dword [rbp + 0x5f8], 0x44
lea rdx, [0x1800a2ce4]
lea rcx, [rbp + 0x600]
call fcn.180041460
mov dword [rbp + 0x620], 0x45
lea rdx, [0x1800a2ce8]
lea rcx, [rbp + 0x628]
call fcn.180041460
mov dword [rbp + 0x648], 0x46
lea rdx, [0x1800a2cec]
lea rcx, [rbp + 0x650]
call fcn.180041460
mov dword [rbp + 0x670], 0x47
lea rdx, [0x1800a2cf0]
lea rcx, [rbp + 0x678]
call fcn.180041460
mov dword [rbp + 0x698], 0x48
lea rdx, [0x1800a2cf4]
lea rcx, [rbp + 0x6a0]
call fcn.180041460
mov dword [rbp + 0x6c0], 0x49
lea rdx, [0x1800a2cf8]
lea rcx, [rbp + 0x6c8]
call fcn.180041460
mov dword [rbp + 0x6e8], 0x4a
lea rdx, [0x1800a2cfc]
lea rcx, [rbp + 0x6f0]
call fcn.180041460
mov dword [rbp + 0x710], 0x4b
lea rdx, [0x1800a2d00]
lea rcx, [rbp + 0x718]
call fcn.180041460
mov dword [rbp + 0x738], 0x4c
lea rdx, [0x1800a2d04]
lea rcx, [rbp + 0x740]
call fcn.180041460
mov dword [rbp + 0x760], 0x4d
lea rdx, [0x1800a2d08]
lea rcx, [rbp + 0x768]
call fcn.180041460
mov dword [rbp + 0x788], 0x4e
lea rdx, [0x1800a2d0c]
lea rcx, [rbp + 0x790]
call fcn.180041460
mov dword [rbp + 0x7b0], 0x4f
lea rdx, [0x1800a2d10]
lea rcx, [rbp + 0x7b8]
call fcn.180041460
mov dword [rbp + 0x7d8], 0x50
lea rdx, [0x1800a2d14]
lea rcx, [rbp + 0x7e0]
call fcn.180041460
mov dword [rbp + 0x800], 0x51
lea rdx, [0x1800a2d18]
lea rcx, [rbp + 0x808]
call fcn.180041460
mov dword [rbp + 0x828], 0x52
lea rdx, [0x1800a2d1c]
lea rcx, [rbp + 0x830]
call fcn.180041460
mov dword [rbp + 0x850], 0x53
lea rdx, [0x1800a2d20]
lea rcx, [rbp + 0x858]
call fcn.180041460
mov dword [rbp + 0x878], 0x54
lea rdx, [0x1800a2d24]
lea rcx, [rbp + 0x880]
call fcn.180041460
mov dword [rbp + 0x8a0], 0x55
lea rdx, [0x1800a2d28]
lea rcx, [rbp + 0x8a8]
call fcn.180041460
mov dword [rbp + 0x8c8], 0x56
lea rdx, [0x1800a2d2c]
lea rcx, [rbp + 0x8d0]
call fcn.180041460
mov dword [rbp + 0x8f0], 0x57
lea rdx, [0x1800a2d30]
lea rcx, [rbp + 0x8f8]
call fcn.180041460
mov dword [rbp + 0x918], 0x58
lea rdx, [0x1800a2d34]
lea rcx, [rbp + 0x920]
call fcn.180041460
mov dword [rbp + 0x940], 0x59
lea rdx, [0x1800a2d38]
lea rcx, [rbp + 0x948]
call fcn.180041460
mov dword [rbp + 0x968], 0x5a
lea rdx, str.LWin
lea rcx, [rbp + 0x970]
call fcn.180041460
mov dword [rbp + 0x990], 0x5b
lea rdx, str.RWin
lea rcx, [rbp + 0x998]
call fcn.180041460
mov dword [rbp + 0x9b8], 0x5c
lea rdx, str.Apps
lea rcx, [rbp + 0x9c0]
call fcn.180041460
mov dword [rbp + 0x9e0], 0x5d
lea rdx, [0x1800a4730]
lea rcx, [rbp + 0x9e8]
call fcn.180041460
mov dword [rbp + 0xa08], 0x5f
lea rdx, str.NumPad0
lea rcx, [rbp + 0xa10]
call fcn.180041460
mov dword [rbp + 0xa30], 0x60
lea rdx, str.NumPad1
lea rcx, [rbp + 0xa38]
call fcn.180041460
mov dword [rbp + 0xa58], 0x61
lea rdx, str.NumPad2
lea rcx, [rbp + 0xa60]
call fcn.180041460
mov dword [rbp + 0xa80], 0x62
lea rdx, str.NumPad3
lea rcx, [rbp + 0xa88]
call fcn.180041460
mov dword [rbp + 0xaa8], 0x63
lea rdx, str.NumPad4
lea rcx, [rbp + 0xab0]
call fcn.180041460
mov dword [rbp + 0xad0], 0x64
lea rdx, str.NumPad5
lea rcx, [rbp + 0xad8]
call fcn.180041460
mov dword [rbp + 0xaf8], 0x65
lea rdx, str.NumPad6
lea rcx, [rbp + 0xb00]
call fcn.180041460
mov dword [rbp + 0xb20], 0x66
lea rdx, str.NumPad7
lea rcx, [rbp + 0xb28]
call fcn.180041460
mov dword [rbp + 0xb48], 0x67
lea rdx, str.NumPad8
lea rcx, [rbp + 0xb50]
call fcn.180041460
mov dword [rbp + 0xb70], 0x68
lea rdx, str.NumPad9
lea rcx, [rbp + 0xb78]
call fcn.180041460
mov dword [rbp + 0xb98], 0x69
lea rdx, str.Multiply
lea rcx, [rbp + 0xba0]
call fcn.180041460
mov dword [rbp + 0xbc0], 0x6a
lea rdx, [0x1800a4790]
lea rcx, [rbp + 0xbc8]
call fcn.180041460
mov dword [rbp + 0xbe8], 0x6b
lea rdx, str.Separator
lea rcx, [rbp + 0xbf0]
call fcn.180041460
mov dword [rbp + 0xc10], 0x6c
lea rdx, str.Subtract
lea rcx, [rbp + 0xc18]
call fcn.180041460
mov dword [rbp + 0xc38], 0x6d
lea rdx, str.Decimal
lea rcx, [rbp + 0xc40]
call fcn.180041460
mov dword [rbp + 0xc60], 0x6e
lea rdx, str.Divide
lea rcx, [rbp + 0xc68]
call fcn.180041460
mov dword [rbp + 0xc88], 0x6f
lea rdx, str.NumPad9
lea rcx, [rbp + 0xc90]
call fcn.180041460
mov dword [rbp + 0xcb0], 0x69
lea rdx, [0x1800a2d3c]
lea rcx, [rbp + 0xcb8]
call fcn.180041460
mov dword [rbp + 0xcd8], 0x70
lea rdx, [0x1800a2d40]
lea rcx, [rbp + 0xce0]
call fcn.180041460
mov dword [rbp + 0xd00], 0x71
lea rdx, [0x1800a2d44]
lea rcx, [rbp + 0xd08]
call fcn.180041460
mov dword [rbp + 0xd28], 0x72
lea rdx, [0x1800a2d48]
lea rcx, [rbp + 0xd30]
call fcn.180041460
mov dword [rbp + 0xd50], 0x73
lea rdx, [0x1800a2d4c]
lea rcx, [rbp + 0xd58]
call fcn.180041460
mov dword [rbp + 0xd78], 0x74
lea rdx, [0x1800a2d50]
lea rcx, [rbp + 0xd80]
call fcn.180041460
mov dword [rbp + 0xda0], 0x75
lea rdx, [0x1800a2d54]
lea rcx, [rbp + 0xda8]
call fcn.180041460
mov dword [rbp + 0xdc8], 0x76
lea rdx, [0x1800a2d58]
lea rcx, [rbp + 0xdd0]
call fcn.180041460
mov dword [rbp + 0xdf0], 0x77
lea rdx, [0x1800a2d5c]
lea rcx, [rbp + 0xdf8]
call fcn.180041460
mov dword [rbp + 0xe18], 0x78
lea rdx, [0x1800a2d60]
lea rcx, [rbp + 0xe20]
call fcn.180041460
mov dword [rbp + 0xe40], 0x79
lea rdx, [0x1800a2d64]
lea rcx, [rbp + 0xe48]
call fcn.180041460
mov dword [rbp + 0xe68], 0x7a
lea rdx, [0x1800a2d68]
lea rcx, [rbp + 0xe70]
call fcn.180041460
mov dword [rbp + 0xe90], 0x7b
lea rdx, str.NumLock
lea rcx, [rbp + 0xe98]
call fcn.180041460
mov dword [rbp + 0xeb8], 0x90
lea rdx, str.Scroll
lea rcx, [rbp + 0xec0]
call fcn.180041460
mov dword [rbp + 0xee0], 0x91
lea rdx, str.LShift
lea rcx, [rbp + 0xee8]
call fcn.180041460
mov dword [rbp + 0xf08], 0xa0
lea rdx, str.RShift
lea rcx, [rbp + 0xf10]
call fcn.180041460
mov dword [rbp + 0xf30], 0xa1
lea rdx, str.LControl
lea rcx, [rbp + 0xf38]
call fcn.180041460
mov dword [rbp + 0xf58], 0xa2
lea rdx, str.LControl
lea rcx, [rbp + 0xf60]
call fcn.180041460
mov dword [rbp + 0xf80], 0xa5
lea rdx, str.RControl
lea rcx, [rbp + 0xf88]
call fcn.180041460
mov dword [rbp + 0xfa8], 0xa3
lea rdx, str.LMenu
lea rcx, [rbp + 0xfb0]
call fcn.180041460
mov dword [rbp + 0xfd0], 0xa4
lea rdx, str.Comma
lea rcx, [rbp + 0xfd8]
call fcn.180041460
mov dword [rbp + 0xff8], 0xbc
lea rdx, str.Period
lea rcx, [rbp + 0x1000]
call fcn.180041460
mov dword [rbp + 0x1020], 0xbe
lea rdx, str.Minus
lea rcx, [rbp + 0x1028]
call fcn.180041460
mov dword [rbp + 0x1048], 0xbd
lea rdx, str.Backslash
lea rcx, [rbp + 0x1050]
call fcn.180041460
mov dword [rbp + 0x1070], 0xdc
lea rdx, [0x1800a47fc]
lea rcx, [rbp + 0x1078]
call fcn.180041460
mov dword [rbp + 0x1098], 0xe2
lea rdx, str.Slash
lea rcx, [rbp + 0x10a0]
call fcn.180041460
mov dword [rbp + 0x10c0], 0xbf
mov rcx, qword [0x1800e23d0]
test rcx, rcx
je 0x18005239c
mov rax, qword [0x1800e23f8]
shr rax, 3
mov rdx, qword [0x1800e23c8]
cmp rax, rcx
jbe 0x18005234f
mov r8, rdx
mov rdx, qword [rdx]
lea rcx, [0x1800e23c0]
call fcn.1800531c0
jmp 0x18005239c
call fcn.180047a70
mov rax, qword [0x1800e23c8]
mov qword [rax], rax
mov rax, qword [0x1800e23c8]
mov qword [rax + 8], rax
mov qword [0x1800e23d0], 0
mov rax, qword [0x1800e23c8]
mov qword [rbp + 0x10e0], rax
lea r8, [rbp + 0x10e0]
mov rdx, qword [0x1800e23e0]
mov rcx, qword [0x1800e23d8]
call fcn.180053770
lea rbx, [rsp + 0x70]
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [0x1800e23c0]
call fcn.180053b50
add rbx, 0x28
lea rax, [rbp + 0x10c8]
cmp rbx, rax
jne 0x1800523a1
lea r9, [fcn.18003d2a0]
mov edx, 0x28
lea r8d, [rdx + 0x47]
lea rcx, [rsp + 0x70]
call fcn.180075fc8
mov rbx, qword [rsp + 0x11e8]
add rsp, 0x11d0
pop rbp
ret