Function at 0x180009210
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
mov eax, 0x2330
call fcn.180149d00
sub rsp, rax
lea rbp, [rsp + 0x20]
mov dword [rbp + 0x1204], 0
lea rcx, [0x1801d810d]
call fcn.180149ac0
nop
mov eax, 4
mov eax, eax
mov ecx, dword [0x1801c9884]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov eax, dword [rax + rcx]
cmp dword [0x1801c2600], eax
jle 0x180009fa5
lea rcx, [0x1801c2600]
call fcn.180149730
cmp dword [0x1801c2600], 0xffffffff
jne 0x180009fa5
mov edx, 0x18
lea rcx, [0x1801c25e8]
call fcn.18000bc10
mov dword [rbp + 0x604], 1
lea r8, str.MOUSE1
lea rdx, [rbp + 0x604]
lea rcx, [rbp + 0x1230]
call fcn.180003e90
nop
mov dword [rbp + 0x624], 2
lea r8, str.MOUSE2
lea rdx, [rbp + 0x624]
lea rcx, [rbp + 0x1260]
call fcn.180003e90
nop
mov dword [rbp + 0x644], 4
lea r8, str.MOUSE3
lea rdx, [rbp + 0x644]
lea rcx, [rbp + 0x1290]
call fcn.180003e90
nop
mov dword [rbp + 0x664], 5
lea r8, str.MOUSE4
lea rdx, [rbp + 0x664]
lea rcx, [rbp + 0x12c0]
call fcn.180003e90
nop
mov dword [rbp + 0x684], 6
lea r8, str.MOUSE5
lea rdx, [rbp + 0x684]
lea rcx, [rbp + 0x12f0]
call fcn.180003e90
nop
mov dword [rbp + 0x6a4], 8
lea r8, str.Backspace
lea rdx, [rbp + 0x6a4]
lea rcx, [rbp + 0x1320]
call fcn.180004010
nop
mov dword [rbp + 0x6c4], 9
lea r8, [0x180155d5c]
lea rdx, [rbp + 0x6c4]
lea rcx, [rbp + 0x1350]
call fcn.180003d10
nop
mov dword [rbp + 0x6e4], 0xd
lea r8, str.Enter
lea rdx, [rbp + 0x6e4]
lea rcx, [rbp + 0x1380]
call fcn.180003e10
nop
mov dword [rbp + 0x704], 0x10
lea r8, [0x180155d68]
lea rdx, [rbp + 0x704]
lea rcx, [rbp + 0x13b0]
call fcn.180003e10
nop
mov dword [rbp + 0x724], 0x11
lea r8, [0x180155d70]
lea rdx, [rbp + 0x724]
lea rcx, [rbp + 0x13e0]
call fcn.180003d90
nop
mov dword [rbp + 0x744], 0x12
lea r8, [0x180155d78]
lea rdx, [rbp + 0x744]
lea rcx, [rbp + 0x1410]
call fcn.180003d10
nop
mov dword [rbp + 0x764], 0x13
lea r8, str.Pause
lea rdx, [rbp + 0x764]
lea rcx, [rbp + 0x1440]
call fcn.180003e10
nop
mov dword [rbp + 0x784], 0x14
lea r8, str.Caps_Lock
lea rdx, [rbp + 0x784]
lea rcx, [rbp + 0x1470]
call fcn.180004010
nop
mov dword [rbp + 0x7a4], 0x1b
lea r8, str.Escape
lea rdx, [rbp + 0x7a4]
lea rcx, [rbp + 0x14a0]
call fcn.180003e90
nop
mov dword [rbp + 0x7c4], 0x20
lea r8, str.Space
lea rdx, [rbp + 0x7c4]
lea rcx, [rbp + 0x14d0]
call fcn.180003e10
nop
mov dword [rbp + 0x7e4], 0x21
lea r8, str.Page_Up
lea rdx, [rbp + 0x7e4]
lea rcx, [rbp + 0x1500]
call fcn.180003f10
nop
mov dword [rbp + 0x804], 0x22
lea r8, str.Page_Down
lea rdx, [rbp + 0x804]
lea rcx, [rbp + 0x1530]
call fcn.180004010
nop
mov dword [rbp + 0x824], 0x23
lea r8, [0x180155dbc]
lea rdx, [rbp + 0x824]
lea rcx, [rbp + 0x1560]
call fcn.180003d10
nop
mov dword [rbp + 0x844], 0x24
lea r8, str.Home
lea rdx, [rbp + 0x844]
lea rcx, [rbp + 0x1590]
call fcn.180003d90
nop
mov dword [rbp + 0x864], 0x25
lea r8, str.Left_Arrow
lea rdx, [rbp + 0x864]
lea rcx, [rbp + 0x15c0]
call fcn.180004090
nop
mov dword [rbp + 0x884], 0x26
lea r8, str.Up_Arrow
lea rdx, [rbp + 0x884]
lea rcx, [rbp + 0x15f0]
call fcn.180003f90
nop
mov dword [rbp + 0x8a4], 0x27
lea r8, str.Right_Arrow
lea rdx, [rbp + 0x8a4]
lea rcx, [rbp + 0x1620]
call fcn.180004110
nop
mov dword [rbp + 0x8c4], 0x28
lea r8, str.Down_Arrow
lea rdx, [rbp + 0x8c4]
lea rcx, [rbp + 0x1650]
call fcn.180004090
nop
mov dword [rbp + 0x8e4], 0x2d
lea r8, str.Insert
lea rdx, [rbp + 0x8e4]
lea rcx, [rbp + 0x1680]
call fcn.180003e90
nop
mov dword [rbp + 0x904], 0x2e
lea r8, str.Delete
lea rdx, [rbp + 0x904]
lea rcx, [rbp + 0x16b0]
call fcn.180003e90
nop
mov byte [rbp + 0x924], 0x41
lea r8, [0x180155e14]
lea rdx, [rbp + 0x924]
lea rcx, [rbp + 0x16e0]
call fcn.180003b90
nop
mov byte [rbp + 0x944], 0x42
lea r8, [0x180155e18]
lea rdx, [rbp + 0x944]
lea rcx, [rbp + 0x1710]
call fcn.180003b90
nop
mov byte [rbp + 0x964], 0x43
lea r8, [0x180155d08]
lea rdx, [rbp + 0x964]
lea rcx, [rbp + 0x1740]
call fcn.180003b90
nop
mov byte [rbp + 0x984], 0x44
lea r8, [0x180155e1c]
lea rdx, [rbp + 0x984]
lea rcx, [rbp + 0x1770]
call fcn.180003b90
nop
mov byte [rbp + 0x9a4], 0x45
lea r8, [0x180155e20]
lea rdx, [rbp + 0x9a4]
lea rcx, [rbp + 0x17a0]
call fcn.180003b90
nop
mov byte [rbp + 0x9c4], 0x46
lea r8, [0x180155e24]
lea rdx, [rbp + 0x9c4]
lea rcx, [rbp + 0x17d0]
call fcn.180003b90
nop
mov byte [rbp + 0x9e4], 0x47
lea r8, [0x180155e28]
lea rdx, [rbp + 0x9e4]
lea rcx, [rbp + 0x1800]
call fcn.180003b90
nop
mov byte [rbp + 0xa04], 0x48
lea r8, [0x180155e2c]
lea rdx, [rbp + 0xa04]
lea rcx, [rbp + 0x1830]
call fcn.180003b90
nop
mov byte [rbp + 0xa24], 0x49
lea r8, [0x180155e30]
lea rdx, [rbp + 0xa24]
lea rcx, [rbp + 0x1860]
call fcn.180003b90
nop
mov byte [rbp + 0xa44], 0x4a
lea r8, [0x180155e34]
lea rdx, [rbp + 0xa44]
lea rcx, [rbp + 0x1890]
call fcn.180003b90
nop
mov byte [rbp + 0xa64], 0x4b
lea r8, [0x180155e38]
lea rdx, [rbp + 0xa64]
lea rcx, [rbp + 0x18c0]
call fcn.180003b90
nop
mov byte [rbp + 0xa84], 0x4c
lea r8, [0x180155e3c]
lea rdx, [rbp + 0xa84]
lea rcx, [rbp + 0x18f0]
call fcn.180003b90
nop
mov byte [rbp + 0xaa4], 0x4d
lea r8, [0x180155e40]
lea rdx, [rbp + 0xaa4]
lea rcx, [rbp + 0x1920]
call fcn.180003b90
nop
mov byte [rbp + 0xac4], 0x4e
lea r8, [0x180155e44]
lea rdx, [rbp + 0xac4]
lea rcx, [rbp + 0x1950]
call fcn.180003b90
nop
mov byte [rbp + 0xae4], 0x4f
lea r8, [0x180155e48]
lea rdx, [rbp + 0xae4]
lea rcx, [rbp + 0x1980]
call fcn.180003b90
nop
mov byte [rbp + 0xb04], 0x50
lea r8, [0x180155e4c]
lea rdx, [rbp + 0xb04]
lea rcx, [rbp + 0x19b0]
call fcn.180003b90
nop
mov byte [rbp + 0xb24], 0x51
lea r8, [0x180155e50]
lea rdx, [rbp + 0xb24]
lea rcx, [rbp + 0x19e0]
call fcn.180003b90
nop
mov byte [rbp + 0xb44], 0x52
lea r8, [0x180155e54]
lea rdx, [rbp + 0xb44]
lea rcx, [rbp + 0x1a10]
call fcn.180003b90
nop
mov byte [rbp + 0xb64], 0x53
lea r8, [0x180155e58]
lea rdx, [rbp + 0xb64]
lea rcx, [rbp + 0x1a40]
call fcn.180003b90
nop
mov byte [rbp + 0xb84], 0x54
lea r8, [0x180155e5c]
lea rdx, [rbp + 0xb84]
lea rcx, [rbp + 0x1a70]
call fcn.180003b90
nop
mov byte [rbp + 0xba4], 0x55
lea r8, [0x180155e60]
lea rdx, [rbp + 0xba4]
lea rcx, [rbp + 0x1aa0]
call fcn.180003b90
nop
mov byte [rbp + 0xbc4], 0x56
lea r8, [0x180155e64]
lea rdx, [rbp + 0xbc4]
lea rcx, [rbp + 0x1ad0]
call fcn.180003b90
nop
mov byte [rbp + 0xbe4], 0x57
lea r8, [0x180155e68]
lea rdx, [rbp + 0xbe4]
lea rcx, [rbp + 0x1b00]
call fcn.180003b90
nop
mov byte [rbp + 0xc04], 0x58
lea r8, [0x180155e6c]
lea rdx, [rbp + 0xc04]
lea rcx, [rbp + 0x1b30]
call fcn.180003b90
nop
mov byte [rbp + 0xc24], 0x59
lea r8, [0x180155e70]
lea rdx, [rbp + 0xc24]
lea rcx, [rbp + 0x1b60]
call fcn.180003b90
nop
mov byte [rbp + 0xc44], 0x5a
lea r8, [0x180155e74]
lea rdx, [rbp + 0xc44]
lea rcx, [rbp + 0x1b90]
call fcn.180003b90
nop
mov dword [rbp + 0xc64], 0x70
lea r8, [0x180155e78]
lea rdx, [rbp + 0xc64]
lea rcx, [rbp + 0x1bc0]
call fcn.180003c90
nop
mov dword [rbp + 0xc84], 0x71
lea r8, [0x180155e7c]
lea rdx, [rbp + 0xc84]
lea rcx, [rbp + 0x1bf0]
call fcn.180003c90
nop
mov dword [rbp + 0xca4], 0x72
lea r8, [0x180155e80]
lea rdx, [rbp + 0xca4]
lea rcx, [rbp + 0x1c20]
call fcn.180003c90
nop
mov dword [rbp + 0xcc4], 0x73
lea r8, [0x180155e84]
lea rdx, [rbp + 0xcc4]
lea rcx, [rbp + 0x1c50]
call fcn.180003c90
nop
mov dword [rbp + 0xce4], 0x74
lea r8, [0x180155e88]
lea rdx, [rbp + 0xce4]
lea rcx, [rbp + 0x1c80]
call fcn.180003c90
nop
mov dword [rbp + 0xd04], 0x75
lea r8, [0x180155e8c]
lea rdx, [rbp + 0xd04]
lea rcx, [rbp + 0x1cb0]
call fcn.180003c90
nop
mov dword [rbp + 0xd24], 0x76
lea r8, [0x180155e90]
lea rdx, [rbp + 0xd24]
lea rcx, [rbp + 0x1ce0]
call fcn.180003c90
nop
mov dword [rbp + 0xd44], 0x77
lea r8, [0x180155e94]
lea rdx, [rbp + 0xd44]
lea rcx, [rbp + 0x1d10]
call fcn.180003c90
nop
mov dword [rbp + 0xd64], 0x78
lea r8, [0x180155e98]
lea rdx, [rbp + 0xd64]
lea rcx, [rbp + 0x1d40]
call fcn.180003c90
nop
mov dword [rbp + 0xd84], 0x79
lea r8, [0x180155e9c]
lea rdx, [rbp + 0xd84]
lea rcx, [rbp + 0x1d70]
call fcn.180003d10
nop
mov dword [rbp + 0xda4], 0x7a
lea r8, [0x180155ea0]
lea rdx, [rbp + 0xda4]
lea rcx, [rbp + 0x1da0]
call fcn.180003d10
nop
mov dword [rbp + 0xdc4], 0x7b
lea r8, [0x180155ea4]
lea rdx, [rbp + 0xdc4]
lea rcx, [rbp + 0x1dd0]
call fcn.180003d10
nop
mov dword [rbp + 0xde4], 0x60
lea r8, str.Numpad_0
lea rdx, [rbp + 0xde4]
lea rcx, [rbp + 0x1e00]
call fcn.180003f90
nop
mov dword [rbp + 0xe04], 0x61
lea r8, str.Numpad_1
lea rdx, [rbp + 0xe04]
lea rcx, [rbp + 0x1e30]
call fcn.180003f90
nop
mov dword [rbp + 0xe24], 0x62
lea r8, str.Numpad_2
lea rdx, [rbp + 0xe24]
lea rcx, [rbp + 0x1e60]
call fcn.180003f90
nop
mov dword [rbp + 0xe44], 0x63
lea r8, str.Numpad_3
lea rdx, [rbp + 0xe44]
lea rcx, [rbp + 0x1e90]
call fcn.180003f90
nop
mov dword [rbp + 0xe64], 0x64
lea r8, str.Numpad_4
lea rdx, [rbp + 0xe64]
lea rcx, [rbp + 0x1ec0]
call fcn.180003f90
nop
mov dword [rbp + 0xe84], 0x65
lea r8, str.Numpad_5
lea rdx, [rbp + 0xe84]
lea rcx, [rbp + 0x1ef0]
call fcn.180003f90
nop
mov dword [rbp + 0xea4], 0x66
lea r8, str.Numpad_6
lea rdx, [rbp + 0xea4]
lea rcx, [rbp + 0x1f20]
call fcn.180003f90
nop
mov dword [rbp + 0xec4], 0x67
lea r8, str.Numpad_7
lea rdx, [rbp + 0xec4]
lea rcx, [rbp + 0x1f50]
call fcn.180003f90
nop
mov dword [rbp + 0xee4], 0x68
lea r8, str.Numpad_8
lea rdx, [rbp + 0xee4]
lea rcx, [rbp + 0x1f80]
call fcn.180003f90
nop
mov dword [rbp + 0xf04], 0x69
lea r8, str.Numpad_9
lea rdx, [rbp + 0xf04]
lea rcx, [rbp + 0x1fb0]
call fcn.180003f90
nop
mov dword [rbp + 0xf24], 0x6a
lea r8, [0x180155f48]
lea rdx, [rbp + 0xf24]
lea rcx, [rbp + 0x1fe0]
call fcn.180003f90
nop
mov dword [rbp + 0xf44], 0x6b
lea r8, str.Numpad_
lea rdx, [rbp + 0xf44]
lea rcx, [rbp + 0x2010]
call fcn.180003f90
nop
mov dword [rbp + 0xf64], 0x6d
lea r8, [0x180155f68]
lea rdx, [rbp + 0xf64]
lea rcx, [rbp + 0x2040]
call fcn.180003f90
nop
mov dword [rbp + 0xf84], 0x6e
lea r8, str.Numpad_.
lea rdx, [rbp + 0xf84]
lea rcx, [rbp + 0x2070]
call fcn.180003f90
nop
mov dword [rbp + 0xfa4], 0x6f
lea r8, str.Numpad__
lea rdx, [rbp + 0xfa4]
lea rcx, [rbp + 0x20a0]
call fcn.180003f90
nop
mov dword [rbp + 0xfc4], 0xba
lea r8, str.___.____
lea rdx, [rbp + 0xfc4]
lea rcx, [rbp + 0x20d0]
call fcn.180003c10
nop
mov dword [rbp + 0xfe4], 0xbb
lea r8, [0x180155f98]
lea rdx, [rbp + 0xfe4]
lea rcx, [rbp + 0x2100]
call fcn.180003c10
nop
mov dword [rbp + 0x1004], 0xbc
lea r8, [0x180155f9c]
lea rdx, [rbp + 0x1004]
lea rcx, [rbp + 0x2130]
call fcn.180003c10
nop
mov dword [rbp + 0x1024], 0xbd
lea r8, [0x180155fa0]
lea rdx, [rbp + 0x1024]
lea rcx, [rbp + 0x2160]
call fcn.180003c10
nop
mov dword [rbp + 0x1044], 0xbe
lea r8, [0x180155fa4]
lea rdx, [rbp + 0x1044]
lea rcx, [rbp + 0x2190]
call fcn.180003c10
nop
mov dword [rbp + 0x1064], 0xbf
lea r8, [0x180155fa8]
lea rdx, [rbp + 0x1064]
lea rcx, [rbp + 0x21c0]
call fcn.180003c10
nop
mov dword [rbp + 0x1084], 0xc0
lea r8, [0x180155fac]
lea rdx, [rbp + 0x1084]
lea rcx, [rbp + 0x21f0]
call fcn.180003c10
nop
mov dword [rbp + 0x10a4], 0xdb
lea r8, [0x180155fb0]
lea rdx, [rbp + 0x10a4]
lea rcx, [rbp + 0x2220]
call fcn.180003c10
nop
mov dword [rbp + 0x10c4], 0xdc
lea r8, [0x180155fb4]
lea rdx, [rbp + 0x10c4]
lea rcx, [rbp + 0x2250]
call fcn.180003c10
nop
mov dword [rbp + 0x10e4], 0xdd
lea r8, [0x180155fb8]
lea rdx, [rbp + 0x10e4]
lea rcx, [rbp + 0x2280]
call fcn.180003c10
nop
mov dword [rbp + 0x1104], 0xde
lea r8, [0x180155fbc]
lea rdx, [rbp + 0x1104]
lea rcx, [rbp + 0x22b0]
call fcn.180003c10
nop
lea rax, [rbp + 0x22e0]
mov r8, rax
lea rdx, [rbp + 0x1230]
lea rcx, [rbp + 0x1128]
call fcn.180007010
lea rcx, [rbp + 0x11e0]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x11e0]
lea rcx, [0x1801c25e8]
call fcn.180007070
nop
lea r9, [fcn.180007cb0]
mov r8d, 0x59
mov edx, 0x30
lea rcx, [rbp + 0x1230]
call fcn.180148d50
nop
lea rcx, [0x1801535b0]
call fcn.180149660
nop
lea rcx, [0x1801c2600]
call fcn.1801496d0
nop
lea r8, [rbp + 0x2338]
lea rdx, [rbp + 0x1178]
lea rcx, [0x1801c25e8]
call fcn.18000c290
mov qword [rbp + 0x22e8], rax
mov rax, qword [rbp + 0x22e8]
mov qword [rbp + 0x22f0], rax
lea rdx, [rbp + 0x11a8]
lea rcx, [0x1801c25e8]
call fcn.18000c1f0
mov qword [rbp + 0x22f8], rax
mov rax, qword [rbp + 0x22f8]
mov qword [rbp + 0x2300], rax
mov rdx, qword [rbp + 0x2300]
mov rcx, qword [rbp + 0x22f0]
call fcn.180007f60
mov byte [rbp + 0x1154], al
lea rcx, [rbp + 0x11a8]
call fcn.180007a40
lea rcx, [rbp + 0x1178]
call fcn.180007a40
movzx eax, byte [rbp + 0x1154]
test eax, eax
je 0x18000a072
lea rdx, [rbp + 0x2338]
lea rcx, [0x1801c25e8]
call fcn.180007fd0
mov rdx, rax
mov rcx, qword [rbp + 0x2330]
call fcn.180006e40
mov eax, dword [rbp + 0x1204]
or eax, 1
mov dword [rbp + 0x1204], eax
mov rax, qword [rbp + 0x2330]
jmp 0x18000a09b
lea rdx, [0x180155fc0]
mov rcx, qword [rbp + 0x2330]
call fcn.180006f20
mov eax, dword [rbp + 0x1204]
or eax, 1
mov dword [rbp + 0x1204], eax
mov rax, qword [rbp + 0x2330]
lea rsp, [rbp + 0x2310]
pop rdi
pop rsi
pop rbp
ret