Function at 0x1800617a0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xab0]
sub rsp, 0xbb0
mov rax, qword [0x1800a9040]
xor rax, rsp
mov qword [rbp + 0xaa0], rax
mov ebx, r8d
mov r14, rdx
call fcn.180041020
mov eax, dword [0x1800add94]
test ebx, ebx
cmovne eax, ebx
mov dword [0x1800add94], eax
xorps xmm0, xmm0
movups xmmword [rbp + 0xa60], xmm0
movups xmmword [rbp + 0xa70], xmm0
movups xmmword [rbp + 0xa80], xmm0
movups xmmword [rbp + 0xa90], xmm0
mov dword [rsp + 0x30], 8
lea rax, str.VK_BACK
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], 9
lea rax, str.VK_TAB
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x50], send
lea rax, str.VK_RETURN
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x60], reloc.WS2_32.dll_recv
lea rax, str.VK_SHIFT
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x70], send
lea rax, str.VK_CONTROL
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x80], send
lea rax, str.VK_MENU
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], reloc.WS2_32.dll_send
lea rax, str.VK_PAUSE
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], socket
lea rax, str.VK_CAPITAL
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], 0x1b
lea rax, str.VK_ESCAPE
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], 0x20
lea rax, str.VK_SPACE
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], 0x21
lea rax, str.VK_PRIOR
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], 0x22
lea rax, str.VK_NEXT
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x10], 0x23
lea rax, str.VK_END
mov qword [rbp - 8], rax
mov dword [rbp], 0x24
lea rax, str.VK_HOME
mov qword [rbp + 8], rax
mov dword [rbp + 0x10], 0x25
lea rax, str.VK_LEFT
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], 0x26
lea rax, str.VK_UP
mov qword [rbp + 0x28], rax
mov dword [rbp + 0x30], 0x27
lea rax, str.VK_RIGHT
mov qword [rbp + 0x38], rax
mov dword [rbp + 0x40], 0x28
lea rax, str.VK_DOWN
mov qword [rbp + 0x48], rax
mov dword [rbp + 0x50], 0x29
lea rax, str.VK_SELECT
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x60], 0x2a
lea rax, str.VK_PRINT
mov qword [rbp + 0x68], rax
mov dword [rbp + 0x70], 0x2b
lea rax, str.VK_EXECUTE
mov qword [rbp + 0x78], rax
mov dword [rbp + 0x80], 0x2c
lea rax, str.VK_SNAPSHOT
mov qword [rbp + 0x88], rax
mov dword [rbp + 0x90], 0x2d
lea rax, str.VK_INSERT
mov qword [rbp + 0x98], rax
mov dword [rbp + 0xa0], 0x2e
lea rax, str.VK_DELETE
mov qword [rbp + 0xa8], rax
mov dword [rbp + 0xb0], 0x2f
lea rax, str.VK_HELP
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0xc0], 0x30
lea rax, str.VK_0
mov qword [rbp + 0xc8], rax
mov dword [rbp + 0xd0], 0x31
lea rax, str.VK_1
mov qword [rbp + 0xd8], rax
mov dword [rbp + 0xe0], 0x32
lea rax, str.VK_2
mov qword [rbp + 0xe8], rax
mov dword [rbp + 0xf0], 0x33
lea rax, str.VK_3
mov qword [rbp + 0xf8], rax
mov dword [rbp + 0x100], 0x34
lea rax, str.VK_4
mov qword [rbp + 0x108], rax
mov dword [rbp + 0x110], 0x35
lea rax, str.VK_5
mov qword [rbp + 0x118], rax
mov dword [rbp + 0x120], 0x36
lea rax, str.VK_6
mov qword [rbp + 0x128], rax
mov dword [rbp + 0x130], 0x37
lea rax, str.VK_7
mov qword [rbp + 0x138], rax
mov dword [rbp + 0x140], 0x38
lea rax, str.VK_8
mov qword [rbp + 0x148], rax
mov dword [rbp + 0x150], 0x39
lea rax, str.VK_9
mov qword [rbp + 0x158], rax
mov dword [rbp + 0x160], 0x41
lea rax, str.VK_A
mov qword [rbp + 0x168], rax
mov dword [rbp + 0x170], 0x42
lea rax, str.VK_B
mov qword [rbp + 0x178], rax
mov dword [rbp + 0x180], 0x43
lea rax, str.VK_C
mov qword [rbp + 0x188], rax
mov dword [rbp + 0x190], 0x44
lea rax, str.VK_D
mov qword [rbp + 0x198], rax
mov dword [rbp + 0x1a0], 0x45
lea rax, str.VK_E
mov qword [rbp + 0x1a8], rax
mov dword [rbp + 0x1b0], 0x46
lea rax, str.VK_F
mov qword [rbp + 0x1b8], rax
mov dword [rbp + 0x1c0], 0x47
lea rax, str.VK_G
mov qword [rbp + 0x1c8], rax
mov dword [rbp + 0x1d0], 0x48
lea rax, str.VK_H
mov qword [rbp + 0x1d8], rax
mov dword [rbp + 0x1e0], 0x49
lea rax, str.VK_I
mov qword [rbp + 0x1e8], rax
mov dword [rbp + 0x1f0], 0x4a
lea rax, str.VK_J
mov qword [rbp + 0x1f8], rax
mov dword [rbp + 0x200], 0x4b
lea rax, str.VK_K
mov qword [rbp + 0x208], rax
mov dword [rbp + 0x210], 0x4c
lea rax, str.VK_L
mov qword [rbp + 0x218], rax
mov dword [rbp + 0x220], 0x4d
lea rax, str.VK_M
mov qword [rbp + 0x228], rax
mov dword [rbp + 0x230], 0x4e
lea rax, str.VK_N
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x240], 0x4f
lea rax, str.VK_O
mov qword [rbp + 0x248], rax
mov dword [rbp + 0x250], 0x50
lea rax, str.VK_P
mov qword [rbp + 0x258], rax
mov dword [rbp + 0x260], 0x51
lea rax, str.VK_Q
mov qword [rbp + 0x268], rax
mov dword [rbp + 0x270], 0x52
lea rax, str.VK_R
mov qword [rbp + 0x278], rax
mov dword [rbp + 0x280], 0x53
lea rax, str.VK_S
mov qword [rbp + 0x288], rax
mov dword [rbp + 0x290], 0x54
lea rax, str.VK_T
mov qword [rbp + 0x298], rax
mov dword [rbp + 0x2a0], 0x55
lea rax, str.VK_U
mov qword [rbp + 0x2a8], rax
mov dword [rbp + 0x2b0], 0x56
lea rax, str.VK_V
mov qword [rbp + 0x2b8], rax
mov dword [rbp + 0x2c0], 0x57
lea rax, str.VK_W
mov qword [rbp + 0x2c8], rax
mov dword [rbp + 0x2d0], 0x58
lea rax, str.VK_X
mov qword [rbp + 0x2d8], rax
mov dword [rbp + 0x2e0], 0x59
lea rax, str.VK_Y
mov qword [rbp + 0x2e8], rax
mov dword [rbp + 0x2f0], 0x5a
lea rax, str.VK_Z
mov qword [rbp + 0x2f8], rax
mov dword [rbp + 0x300], 0x5b
lea rax, str.VK_LWIN
mov qword [rbp + 0x308], rax
mov dword [rbp + 0x310], 0x5c
lea rax, str.VK_RWIN
mov qword [rbp + 0x318], rax
mov dword [rbp + 0x320], 0x5d
lea rax, str.VK_APPS
mov qword [rbp + 0x328], rax
mov dword [rbp + 0x330], 0x5f
lea rax, str.VK_SLEEP
mov qword [rbp + 0x338], rax
mov dword [rbp + 0x340], 0x60
lea rax, str.VK_NUMPAD0
mov qword [rbp + 0x348], rax
mov dword [rbp + 0x350], 0x61
lea rax, str.VK_NUMPAD1
mov qword [rbp + 0x358], rax
mov dword [rbp + 0x360], 0x62
lea rax, str.VK_NUMPAD2
mov qword [rbp + 0x368], rax
mov dword [rbp + 0x370], 0x63
lea rax, str.VK_NUMPAD3
mov qword [rbp + 0x378], rax
mov dword [rbp + 0x380], 0x64
lea rax, str.VK_NUMPAD4
mov qword [rbp + 0x388], rax
mov dword [rbp + 0x390], 0x65
lea rax, str.VK_NUMPAD5
mov qword [rbp + 0x398], rax
mov dword [rbp + 0x3a0], 0x66
lea rax, str.VK_NUMPAD6
mov qword [rbp + 0x3a8], rax
mov dword [rbp + 0x3b0], 0x67
lea rax, str.VK_NUMPAD7
mov qword [rbp + 0x3b8], rax
mov dword [rbp + 0x3c0], 0x68
lea rax, str.VK_NUMPAD8
mov qword [rbp + 0x3c8], rax
mov dword [rbp + 0x3d0], 0x69
lea rax, str.VK_NUMPAD9
mov qword [rbp + 0x3d8], rax
mov dword [rbp + 0x3e0], WSAStartup
lea rax, str.VK_MULTIPLY
mov qword [rbp + 0x3e8], rax
mov dword [rbp + 0x3f0], WSACleanup
lea rax, str.VK_ADD
mov qword [rbp + 0x3f8], rax
mov dword [rbp + 0x400], WSACleanup
lea rax, str.VK_SEPARATOR
mov qword [rbp + 0x408], rax
mov dword [rbp + 0x410], WSACleanup
lea rax, str.VK_SUBTRACT
mov qword [rbp + 0x418], rax
mov dword [rbp + 0x420], WSACleanup
lea rax, str.VK_DECIMAL
mov qword [rbp + 0x428], rax
mov dword [rbp + 0x430], WSACleanup
lea rax, str.VK_DIVIDE
mov qword [rbp + 0x438], rax
mov dword [rbp + 0x440], WSACleanup
lea rax, str.VK_F1
mov qword [rbp + 0x448], rax
mov dword [rbp + 0x450], WSACleanup
lea rax, str.VK_F2
mov qword [rbp + 0x458], rax
mov dword [rbp + 0x460], WSACleanup
lea rax, str.VK_F3
mov qword [rbp + 0x468], rax
mov dword [rbp + 0x470], reloc.WS2_32.dll_WSAStartup
lea rax, str.VK_F4
mov qword [rbp + 0x478], rax
mov dword [rbp + 0x480], reloc.WS2_32.dll_WSACleanup
lea rax, str.VK_F5
mov qword [rbp + 0x488], rax
mov dword [rbp + 0x490], 0x75
lea rax, str.VK_F6
mov qword [rbp + 0x498], rax
mov dword [rbp + 0x4a0], 0x76
lea rax, str.VK_F7
mov qword [rbp + 0x4a8], rax
mov dword [rbp + 0x4b0], 0x77
lea rax, str.VK_F8
mov qword [rbp + 0x4b8], rax
mov dword [rbp + 0x4c0], 0x78
lea rax, str.VK_F9
mov qword [rbp + 0x4c8], rax
mov dword [rbp + 0x4d0], 0x79
lea rax, str.VK_F10
mov qword [rbp + 0x4d8], rax
mov dword [rbp + 0x4e0], 0x7a
lea rax, str.VK_F11
mov qword [rbp + 0x4e8], rax
mov dword [rbp + 0x4f0], 0x7b
lea rax, str.VK_F12
mov qword [rbp + 0x4f8], rax
mov dword [rbp + 0x500], 0x7c
lea rax, str.VK_F13
mov qword [rbp + 0x508], rax
mov dword [rbp + 0x510], 0x7d
lea rax, str.VK_F14
mov qword [rbp + 0x518], rax
mov dword [rbp + 0x520], 0x7e
lea rax, str.VK_F15
mov qword [rbp + 0x528], rax
mov dword [rbp + 0x530], 0x7f
lea rax, str.VK_F16
mov qword [rbp + 0x538], rax
mov dword [rbp + 0x540], 0x80
lea rax, str.VK_F17
mov qword [rbp + 0x548], rax
mov dword [rbp + 0x550], 0x81
lea rax, str.VK_F18
mov qword [rbp + 0x558], rax
mov dword [rbp + 0x560], 0x82
lea rax, str.VK_F19
mov qword [rbp + 0x568], rax
mov dword [rbp + 0x570], 0x83
lea rax, str.VK_F20
mov qword [rbp + 0x578], rax
mov dword [rbp + 0x580], 0x84
lea rax, str.VK_F21
mov qword [rbp + 0x588], rax
mov dword [rbp + 0x590], 0x85
lea rax, str.VK_F22
mov qword [rbp + 0x598], rax
mov dword [rbp + 0x5a0], 0x86
lea rax, str.VK_F23
mov qword [rbp + 0x5a8], rax
mov dword [rbp + 0x5b0], 0x87
lea rax, str.VK_F24
mov qword [rbp + 0x5b8], rax
mov dword [rbp + 0x5c0], 0x90
lea rax, str.VK_NUMLOCK
mov qword [rbp + 0x5c8], rax
mov dword [rbp + 0x5d0], 0x91
lea rax, str.VK_SCROLL
mov qword [rbp + 0x5d8], rax
mov dword [rbp + 0x5e0], 0x92
lea rax, str.VK_OEM_NEC_EQUAL
mov qword [rbp + 0x5e8], rax
mov dword [rbp + 0x5f0], 0x92
lea rax, str.VK_OEM_FJ_JISHO
mov qword [rbp + 0x5f8], rax
mov dword [rbp + 0x600], 0x93
lea rax, str.VK_OEM_FJ_MASSHOU
mov qword [rbp + 0x608], rax
mov dword [rbp + 0x610], 0x94
lea rax, str.VK_OEM_FJ_TOUROKU
mov qword [rbp + 0x618], rax
mov dword [rbp + 0x620], 0x95
lea rax, str.VK_OEM_FJ_LOYA
mov qword [rbp + 0x628], rax
mov dword [rbp + 0x630], 0x96
lea rax, str.VK_OEM_FJ_ROYA
mov qword [rbp + 0x638], rax
mov dword [rbp + 0x640], 0xa0
lea rax, str.VK_LSHIFT
mov qword [rbp + 0x648], rax
mov dword [rbp + 0x650], 0xa1
lea rax, str.VK_RSHIFT
mov qword [rbp + 0x658], rax
mov dword [rbp + 0x660], 0xa2
lea rax, str.VK_LCONTROL
mov qword [rbp + 0x668], rax
mov dword [rbp + 0x670], 0xa3
lea rax, str.VK_RCONTROL
mov qword [rbp + 0x678], rax
mov dword [rbp + 0x680], 0xa4
lea rax, str.VK_LMENU
mov qword [rbp + 0x688], rax
mov dword [rbp + 0x690], 0xa5
lea rax, str.VK_RMENU
mov qword [rbp + 0x698], rax
mov dword [rbp + 0x6a0], 0xa6
lea rax, str.VK_BROWSER_BACK
mov qword [rbp + 0x6a8], rax
mov dword [rbp + 0x6b0], 0xa7
lea rax, str.VK_BROWSER_FORWARD
mov qword [rbp + 0x6b8], rax
mov dword [rbp + 0x6c0], 0xa8
lea rax, str.VK_BROWSER_REFRESH
mov qword [rbp + 0x6c8], rax
mov dword [rbp + 0x6d0], 0xa9
lea rax, str.VK_BROWSER_STOP
mov qword [rbp + 0x6d8], rax
mov dword [rbp + 0x6e0], 0xaa
lea rax, str.VK_BROWSER_SEARCH
mov qword [rbp + 0x6e8], rax
mov dword [rbp + 0x6f0], 0xab
lea rax, str.VK_BROWSER_FAVORITES
mov qword [rbp + 0x6f8], rax
mov dword [rbp + 0x700], 0xac
lea rax, str.VK_BROWSER_HOME
mov qword [rbp + 0x708], rax
mov dword [rbp + 0x710], 0xad
lea rax, str.VK_VOLUME_MUTE
mov qword [rbp + 0x718], rax
mov dword [rbp + 0x720], 0xae
lea rax, str.VK_VOLUME_DOWN
mov qword [rbp + 0x728], rax
mov dword [rbp + 0x730], 0xaf
lea rax, str.VK_VOLUME_UP
mov qword [rbp + 0x738], rax
mov dword [rbp + 0x740], 0xb0
lea rax, str.VK_MEDIA_NEXT_TRACK
mov qword [rbp + 0x748], rax
mov dword [rbp + 0x750], 0xb1
lea rax, str.VK_MEDIA_PREV_TRACK
mov qword [rbp + 0x758], rax
mov dword [rbp + 0x760], 0xb2
lea rax, str.VK_MEDIA_STOP
mov qword [rbp + 0x768], rax
mov dword [rbp + 0x770], 0xb3
lea rax, str.VK_MEDIA_PLAY_PAUSE
mov qword [rbp + 0x778], rax
mov dword [rbp + 0x780], 0xb4
lea rax, str.VK_LAUNCH_MAIL
mov qword [rbp + 0x788], rax
mov dword [rbp + 0x790], 0xb5
lea rax, str.VK_LAUNCH_MEDIA_SELECT
mov qword [rbp + 0x798], rax
mov dword [rbp + 0x7a0], 0xb6
lea rax, str.VK_LAUNCH_APP1
mov qword [rbp + 0x7a8], rax
mov dword [rbp + 0x7b0], 0xb7
lea rax, str.VK_LAUNCH_APP2
mov qword [rbp + 0x7b8], rax
mov dword [rbp + 0x7c0], 0xba
lea rax, str.VK_OEM_1
mov qword [rbp + 0x7c8], rax
mov dword [rbp + 0x7d0], 0xbb
lea rax, str.VK_OEM_PLUS
mov qword [rbp + 0x7d8], rax
mov dword [rbp + 0x7e0], 0xbc
lea rax, str.VK_OEM_COMMA
mov qword [rbp + 0x7e8], rax
mov dword [rbp + 0x7f0], 0xbd
lea rax, str.VK_OEM_MINUS
mov qword [rbp + 0x7f8], rax
mov dword [rbp + 0x800], 0xbe
lea rax, str.VK_OEM_PERIOD
mov qword [rbp + 0x808], rax
mov dword [rbp + 0x810], 0xbf
lea rax, str.VK_OEM_2
mov qword [rbp + 0x818], rax
mov dword [rbp + 0x820], 0xc0
lea rax, str.VK_OEM_3
mov qword [rbp + 0x828], rax
mov dword [rbp + 0x830], 0xdb
lea rax, str.VK_OEM_4
mov qword [rbp + 0x838], rax
mov dword [rbp + 0x840], 0xdc
lea rax, str.VK_OEM_5
mov qword [rbp + 0x848], rax
mov dword [rbp + 0x850], 0xdd
lea rax, str.VK_OEM_6
mov qword [rbp + 0x858], rax
mov dword [rbp + 0x860], 0xde
lea rax, str.VK_OEM_7
mov qword [rbp + 0x868], rax
mov dword [rbp + 0x870], 0xdf
lea rax, str.VK_OEM_8
mov qword [rbp + 0x878], rax
mov dword [rbp + 0x880], 0xe1
lea rax, str.VK_OEM_AX
mov qword [rbp + 0x888], rax
mov dword [rbp + 0x890], 0xe2
lea rax, str.VK_OEM_102
mov qword [rbp + 0x898], rax
mov dword [rbp + 0x8a0], 0xe3
lea rax, str.VK_ICO_HELP
mov qword [rbp + 0x8a8], rax
mov dword [rbp + 0x8b0], 0xe4
lea rax, str.VK_ICO_00
mov qword [rbp + 0x8b8], rax
mov dword [rbp + 0x8c0], 0xe5
lea rax, str.VK_PROCESSKEY
mov qword [rbp + 0x8c8], rax
mov dword [rbp + 0x8d0], 0xe6
lea rax, str.VK_ICO_CLEAR
mov qword [rbp + 0x8d8], rax
mov dword [rbp + 0x8e0], 0xe7
lea rax, str.VK_PACKET
mov qword [rbp + 0x8e8], rax
mov dword [rbp + 0x8f0], 0xe9
lea rax, str.VK_OEM_RESET
mov qword [rbp + 0x8f8], rax
mov dword [rbp + 0x900], 0xea
lea rax, str.VK_OEM_JUMP
mov qword [rbp + 0x908], rax
mov dword [rbp + 0x910], 0xeb
lea rax, str.VK_OEM_PA1
mov qword [rbp + 0x918], rax
mov dword [rbp + 0x920], 0xec
lea rax, str.VK_OEM_PA2
mov qword [rbp + 0x928], rax
mov dword [rbp + 0x930], 0xed
lea rax, str.VK_OEM_PA3
mov qword [rbp + 0x938], rax
mov dword [rbp + 0x940], 0xee
lea rax, str.VK_OEM_WSCTRL
mov qword [rbp + 0x948], rax
mov dword [rbp + 0x950], 0xef
lea rax, str.VK_OEM_CUSEL
mov qword [rbp + 0x958], rax
mov dword [rbp + 0x960], 0xf0
lea rax, str.VK_OEM_ATTN
mov qword [rbp + 0x968], rax
mov dword [rbp + 0x970], 0xf1
lea rax, str.VK_OEM_FINISH
mov qword [rbp + 0x978], rax
mov dword [rbp + 0x980], 0xf2
lea rax, str.VK_OEM_COPY
mov qword [rbp + 0x988], rax
mov dword [rbp + 0x990], 0xf3
lea rax, str.VK_OEM_AUTO
mov qword [rbp + 0x998], rax
mov dword [rbp + 0x9a0], 0xf4
lea rax, str.VK_OEM_ENLW
mov qword [rbp + 0x9a8], rax
mov dword [rbp + 0x9b0], 0xf5
lea rax, str.VK_OEM_BACKTAB
mov qword [rbp + 0x9b8], rax
mov dword [rbp + 0x9c0], 0xf6
lea rax, str.VK_ATTN
mov qword [rbp + 0x9c8], rax
mov dword [rbp + 0x9d0], 0xf7
lea rax, str.VK_CRSEL
mov qword [rbp + 0x9d8], rax
mov dword [rbp + 0x9e0], 0xf8
lea rax, str.VK_EXSEL
mov qword [rbp + 0x9e8], rax
mov dword [rbp + 0x9f0], 0xf9
lea rax, str.VK_EREOF
mov qword [rbp + 0x9f8], rax
mov dword [rbp + 0xa00], 0xfa
lea rax, str.VK_PLAY
mov qword [rbp + 0xa08], rax
mov dword [rbp + 0xa10], 0xfb
lea rax, str.VK_ZOOM
mov qword [rbp + 0xa18], rax
mov dword [rbp + 0xa20], 0xfc
lea rax, str.VK_NONAME
mov qword [rbp + 0xa28], rax
mov dword [rbp + 0xa30], 0xfd
lea rax, str.VK_PA1
mov qword [rbp + 0xa38], rax
mov dword [rbp + 0xa40], 0xfe
lea rax, str.VK_OEM_CLEAR
mov qword [rbp + 0xa48], rax
mov dword [rbp + 0xa60], 0
xor ebx, ebx
mov qword [rbp + 0xa68], rbx
mov qword [rbp + 0xa70], rbx
lea ecx, [rbx + 0x20]
call fcn.180065978
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0xa68], rax
mov qword [rbp + 0xa78], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa80], xmm0
mov qword [rbp + 0xa90], 7
mov qword [rbp + 0xa98], 8
mov dword [rbp + 0xa60], 0x3f800000
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp + 0xa78]
call fcn.1800639d0
nop
lea rbx, [rsp + 0x30]
nop
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 0xa60]
call fcn.180063fa0
add rbx, 0x10
lea rax, [rbp + 0xa50]
cmp rbx, rax
jne 0x1800628c0
lea rdx, [rbp + 0xa50]
lea rcx, [rbp + 0xa60]
call fcn.180063b10
mov rdx, qword [rax]
xor r8d, r8d
mov rdx, qword [rdx + 0x18]
lea rcx, str.keycodeCombo
call fcn.180045840
test al, al
je 0x1800629cb
mov rsi, qword [rbp + 0xa68]
mov rbx, qword [rsi]
cmp rbx, rsi
je 0x180062974
mov qword [rsp + 0x20], 0
nop dword [rax]
mov eax, dword [rbx + 0x10]
cmp dword [0x1800add94], eax
sete dil
lea r9, [rsp + 0x20]
movzx edx, dil
mov rcx, qword [rbx + 0x18]
call fcn.180054140
test al, al
je 0x18006295f
mov eax, dword [rbx + 0x10]
mov dword [0x1800add94], eax
mov dword [r14], eax
test dil, dil
je 0x180062969
call fcn.18001b440
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
jne 0x180062930
mov rbx, qword [0x1800ada20]
mov rcx, qword [rbx + 0x4008]
cmp qword [rbx + 0x4ad8], rcx
jne 0x1800629af
cmp byte [rbx + 0x4b69], 0
je 0x1800629af
cmp dword [rbx + 0x4b10], 0
jne 0x1800629af
mov eax, dword [rbx + 0x4b6c]
and eax, 0xfffffff2
or eax, 2
mov dword [rbx + 0x4b6c], eax
test dword [rcx + 0x14], 0x1000000
je 0x1800629bf
mov byte [rbx + 0x3f6e], 1
call fcn.18001a8a0
mov byte [rbx + 0x3f6e], 0
lea rcx, [rbp + 0xa60]
call fcn.180062a10
mov rcx, qword [rbp + 0xaa0]
xor rcx, rsp
call fcn.180065950
lea r11, [rsp + 0xbb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret