Function at 0x40a040
Capabilities:
Parse pe header

Disassembly:
mov eax, dword [esp + 4]
cmp eax, 1
jne 0x40a058
mov eax, dword [esp + 8]
mov cx, word [0x417520]
mov word [eax], cx
ret
cmp eax, 2
jne 0x40a06b
mov edx, dword [esp + 8]
mov ax, word [0x41751c]
mov word [edx], ax
ret
cmp eax, 3
jne 0x40a07f
mov ecx, dword [esp + 8]
mov dx, word [0x417518]
mov word [ecx], dx
ret
cmp eax, 4
jne 0x40a093
mov eax, dword [esp + 8]
mov cx, word [0x417514]
mov word [eax], cx
ret
cmp eax, 5
jne 0x40a0a6
mov edx, dword [esp + 8]
mov ax, word [0x417510]
mov word [edx], ax
ret
cmp eax, 6
jne 0x40a0ba
mov ecx, dword [esp + 8]
mov dx, word [0x41750c]
mov word [ecx], dx
ret
cmp eax, 7
jne 0x40a0ce
mov eax, dword [esp + 8]
mov cx, word [0x417508]
mov word [eax], cx
ret
cmp eax, 8
jne 0x40a0e1
mov edx, dword [esp + 8]
mov ax, word [0x417504]
mov word [edx], ax
ret
cmp eax, 9
jne 0x40a0f5
mov ecx, dword [esp + 8]
mov dx, word [0x417500]
mov word [ecx], dx
ret
cmp eax, 0xa
jne 0x40a109
mov eax, dword [esp + 8]
mov cx, word [0x4174fc]
mov word [eax], cx
ret
cmp eax, 0xb
jne 0x40a11c
mov edx, dword [esp + 8]
mov ax, word [0x4174f8]
mov word [edx], ax
ret
cmp eax, 0xc
jne 0x40a130
mov ecx, dword [esp + 8]
mov dx, word [0x4174f4]
mov word [ecx], dx
ret
cmp eax, 0xd
jne 0x40a144
mov eax, dword [esp + 8]
mov cx, word [0x4174f0]
mov word [eax], cx
ret
cmp eax, 0xe
jne 0x40a157
mov edx, dword [esp + 8]
mov ax, word [0x4174ec]
mov word [edx], ax
ret
cmp eax, 0xf
jne 0x40a16b
mov ecx, dword [esp + 8]
mov dx, word [0x4174e8]
mov word [ecx], dx
ret
cmp eax, 0x10
jne 0x40a17f
mov eax, dword [esp + 8]
mov cx, word [0x4174e4]
mov word [eax], cx
ret
cmp eax, 0x11
jne 0x40a192
mov edx, dword [esp + 8]
mov ax, word [0x4174e0]
mov word [edx], ax
ret
cmp eax, 0x12
jne 0x40a1a6
mov ecx, dword [esp + 8]
mov dx, word [0x4174dc]
mov word [ecx], dx
ret
cmp eax, 0x13
jne 0x40a1ba
mov eax, dword [esp + 8]
mov cx, word [0x4174d8]
mov word [eax], cx
ret
cmp eax, 0x14
jne 0x40a1cd
mov edx, dword [esp + 8]
mov ax, word [0x4174d4]
mov word [edx], ax
ret
cmp eax, 0x15
jne 0x40a1e1
mov ecx, dword [esp + 8]
mov dx, word [0x4174d0]
mov word [ecx], dx
ret
cmp eax, 0x16
jne 0x40a1f5
mov eax, dword [esp + 8]
mov cx, word [0x4174cc]
mov word [eax], cx
ret
cmp eax, 0x17
jne 0x40a208
mov edx, dword [esp + 8]
mov ax, word [0x4174c8]
mov word [edx], ax
ret
cmp eax, 0x18
jne 0x40a21c
mov ecx, dword [esp + 8]
mov dx, word [0x4174c4]
mov word [ecx], dx
ret
cmp eax, 0x19
jne 0x40a230
mov eax, dword [esp + 8]
mov cx, word [0x4174c0]
mov word [eax], cx
ret
cmp eax, 0x1a
jne 0x40a243
mov edx, dword [esp + 8]
mov ax, word [0x4174bc]
mov word [edx], ax
ret
cmp eax, 0x1b
jne 0x40a257
mov ecx, dword [esp + 8]
mov dx, word [0x4174b8]
mov word [ecx], dx
ret
cmp eax, 0x1c
jne 0x40a26b
mov eax, dword [esp + 8]
mov cx, word [0x4174b4]
mov word [eax], cx
ret
cmp eax, 0x1d
jne 0x40a27e
mov edx, dword [esp + 8]
mov ax, word [0x4174b0]
mov word [edx], ax
ret
cmp eax, 0x1e
jne 0x40a292
mov ecx, dword [esp + 8]
mov dx, word [0x4174ac]
mov word [ecx], dx
ret
cmp eax, 0x1f
jne 0x40a2a6
mov eax, dword [esp + 8]
mov cx, word [0x4174a8]
mov word [eax], cx
ret
cmp eax, 0x20
jne 0x40a2b9
mov edx, dword [esp + 8]
mov ax, word [0x4174a4]
mov word [edx], ax
ret
cmp eax, 0x21
jne 0x40a2cd
mov ecx, dword [esp + 8]
mov dx, word [0x4174a0]
mov word [ecx], dx
ret
cmp eax, 0x22
jne 0x40a2e1
mov eax, dword [esp + 8]
mov cx, word [0x41749c]
mov word [eax], cx
ret
cmp eax, 0x23
jne 0x40a2f4
mov edx, dword [esp + 8]
mov ax, word [0x417498]
mov word [edx], ax
ret
cmp eax, 0x24
jne 0x40a308
mov ecx, dword [esp + 8]
mov dx, word [str.9876543210ZYXWVUTSRQPONMLKJIHGFEDCBA]
mov word [ecx], dx
ret
cmp eax, 0x25
jne 0x40a323
mov eax, dword [esp + 8]
mov ecx, dword [str.0__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417490]
mov dword [eax + 4], edx
ret
cmp eax, 0x26
jne 0x40a33e
mov eax, dword [esp + 8]
mov ecx, dword [str.1__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417488]
mov dword [eax + 4], edx
ret
cmp eax, 0x27
jne 0x40a359
mov eax, dword [esp + 8]
mov ecx, dword [str.2__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417480]
mov dword [eax + 4], edx
ret
cmp eax, 0x28
jne 0x40a374
mov eax, dword [esp + 8]
mov ecx, dword [str.3__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417478]
mov dword [eax + 4], edx
ret
cmp eax, 0x29
jne 0x40a38f
mov eax, dword [esp + 8]
mov ecx, dword [str.4__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417470]
mov dword [eax + 4], edx
ret
cmp eax, 0x2a
jne 0x40a3aa
mov eax, dword [esp + 8]
mov ecx, dword [str.5__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417468]
mov dword [eax + 4], edx
ret
cmp eax, 0x2b
jne 0x40a3c5
mov eax, dword [esp + 8]
mov ecx, dword [str.6__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417460]
mov dword [eax + 4], edx
ret
cmp eax, 0x2c
jne 0x40a3e0
mov eax, dword [esp + 8]
mov ecx, dword [str.7__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417458]
mov dword [eax + 4], edx
ret
cmp eax, 0x2d
jne 0x40a3fb
mov eax, dword [esp + 8]
mov ecx, dword [str.8__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417450]
mov dword [eax + 4], edx
ret
cmp eax, 0x2e
jne 0x40a416
mov eax, dword [esp + 8]
mov ecx, dword [str.9__Pad_]
mov dword [eax], ecx
mov edx, dword [0x417448]
mov dword [eax + 4], edx
ret
cmp eax, 0x2f
jne 0x40a433
mov eax, dword [esp + 8]
mov cx, word [0x417440]
mov word [eax], cx
mov dl, byte [0x417442]
mov byte [eax + 2], dl
ret
cmp eax, 0x30
jne 0x40a450
mov eax, dword [esp + 8]
mov cx, word [0x41743c]
mov word [eax], cx
mov dl, byte [0x41743e]
mov byte [eax + 2], dl
ret
cmp eax, 0x31
jne 0x40a46d
mov eax, dword [esp + 8]
mov cx, word [0x417438]
mov word [eax], cx
mov dl, byte [0x41743a]
mov byte [eax + 2], dl
ret
cmp eax, 0x32
jne 0x40a48a
mov eax, dword [esp + 8]
mov cx, word [0x417434]
mov word [eax], cx
mov dl, byte [0x417436]
mov byte [eax + 2], dl
ret
cmp eax, 0x33
jne 0x40a4a7
mov eax, dword [esp + 8]
mov cx, word [0x417430]
mov word [eax], cx
mov dl, byte [0x417432]
mov byte [eax + 2], dl
ret
cmp eax, 0x34
jne 0x40a4c4
mov eax, dword [esp + 8]
mov cx, word [0x41742c]
mov word [eax], cx
mov dl, byte [0x41742e]
mov byte [eax + 2], dl
ret
cmp eax, 0x35
jne 0x40a4e1
mov eax, dword [esp + 8]
mov cx, word [0x417428]
mov word [eax], cx
mov dl, byte [0x41742a]
mov byte [eax + 2], dl
ret
cmp eax, 0x36
jne 0x40a4fe
mov eax, dword [esp + 8]
mov cx, word [0x417424]
mov word [eax], cx
mov dl, byte [0x417426]
mov byte [eax + 2], dl
ret
cmp eax, 0x37
jne 0x40a51b
mov eax, dword [esp + 8]
mov cx, word [0x417420]
mov word [eax], cx
mov dl, byte [0x417422]
mov byte [eax + 2], dl
ret
cmp eax, 0x38
jne 0x40a52d
mov eax, dword [esp + 8]
mov ecx, dword [0x41741c]
mov dword [eax], ecx
ret
cmp eax, 0x39
jne 0x40a53e
mov edx, dword [esp + 8]
mov eax, dword [0x417418]
mov dword [edx], eax
ret
cmp eax, 0x3a
jne 0x40a550
mov ecx, dword [esp + 8]
mov edx, dword [0x417414]
mov dword [ecx], edx
ret
cmp eax, 0x3b
jne 0x40a562
mov eax, dword [esp + 8]
mov ecx, dword [0x417410]
mov dword [eax], ecx
ret
cmp eax, 0x3c
jne 0x40a575
mov edx, dword [esp + 8]
mov ax, word [0x41740c]
mov word [edx], ax
ret
cmp eax, 0x3d
jne 0x40a589
mov ecx, dword [esp + 8]
mov dx, word [0x417408]
mov word [ecx], dx
ret
cmp eax, 0x3e
jne 0x40a59d
mov eax, dword [esp + 8]
mov cx, word [0x417404]
mov word [eax], cx
ret
cmp eax, 0x3f
jne 0x40a5c1
mov edx, dword [esp + 8]
mov eax, dword [str.Backspace]
mov dword [edx], eax
mov ecx, dword [0x4173fc]
mov dword [edx + 4], ecx
mov ax, word [0x417400]
mov word [edx + 8], ax
ret
cmp eax, 0x40
jne 0x40a5d3
mov ecx, dword [esp + 8]
mov edx, dword [0x4173f4]
mov dword [ecx], edx
ret
cmp eax, 0x41
jne 0x40a5e7
mov eax, dword [esp + 8]
mov cx, word [0x417268]
mov word [eax], cx
ret
cmp eax, 0x42
jne 0x40a5fa
mov edx, dword [esp + 8]
mov ax, word [0x41726c]
mov word [edx], ax
ret
cmp eax, 0x43
jne 0x40a616
mov ecx, dword [esp + 8]
mov edx, dword [0x4173ec]
mov dword [ecx], edx
mov ax, word [0x4173f0]
mov word [ecx + 4], ax
ret
cmp eax, 0x44
jne 0x40a62a
mov ecx, dword [esp + 8]
mov dx, word [0x4173e8]
mov word [ecx], dx
ret
cmp eax, 0x45
jne 0x40a63e
mov eax, dword [esp + 8]
mov cx, word [0x4173e4]
mov word [eax], cx
ret
cmp eax, 0x46
jne 0x40a651
mov edx, dword [esp + 8]
mov ax, word [0x4173e0]
mov word [edx], ax
ret
cmp eax, 0x47
jne 0x40a665
mov ecx, dword [esp + 8]
mov dx, word [0x4173e0]
mov word [ecx], dx
ret
cmp eax, 0x48
jne 0x40a679
mov eax, dword [esp + 8]
mov cx, word [0x4173dc]
mov word [eax], cx
ret
cmp eax, 0x49
jne 0x40a68c
mov edx, dword [esp + 8]
mov ax, word [0x4173d8]
mov word [edx], ax
ret
cmp eax, 0x4a
jne 0x40a6a0
mov ecx, dword [esp + 8]
mov dx, word [str._._:]
mov word [ecx], dx
ret
cmp eax, 0x4b
jne 0x40a6bd
mov eax, dword [esp + 8]
mov ecx, dword [str.Space]
mov dword [eax], ecx
mov dx, word [0x4173d0]
mov word [eax + 4], dx
ret
cmp eax, 0x4c
jne 0x40a6e3
mov eax, dword [esp + 8]
mov ecx, dword [str.Insert]
mov dword [eax], ecx
mov dx, word [0x4173c8]
mov word [eax + 4], dx
mov cl, byte [0x4173ca]
mov byte [eax + 6], cl
ret
cmp eax, 0x4d
jne 0x40a707
mov edx, dword [esp + 8]
mov eax, dword [str.Delete]
mov dword [edx], eax
mov cx, word [0x4173c0]
mov word [edx + 4], cx
mov al, byte [0x4173c2]
mov byte [edx + 6], al
ret
cmp eax, 0x4e
jne 0x40a721
mov ecx, dword [esp + 8]
mov edx, dword [str.Home]
mov dword [ecx], edx
mov al, byte [0x4173b8]
mov byte [ecx + 4], al
ret
cmp eax, 0x4f
jne 0x40a733
mov ecx, dword [esp + 8]
mov edx, dword [0x4173b0]
mov dword [ecx], edx
ret
cmp eax, 0x50
jne 0x40a750
mov eax, dword [esp + 8]
mov ecx, dword [str.Pg_Up]
mov dword [eax], ecx
mov dx, word [0x4173ac]
mov word [eax + 4], dx
ret
cmp eax, 0x51
jne 0x40a76b
mov eax, dword [esp + 8]
mov ecx, dword [str.Pg_Down]
mov dword [eax], ecx
mov edx, dword [0x4173a4]
mov dword [eax + 4], edx
ret
cmp eax, 0x52
jne 0x40a786
mov eax, dword [esp + 8]
mov ecx, dword [str.Left]
mov dword [eax], ecx
mov dl, byte [0x41739c]
mov byte [eax + 4], dl
ret
cmp eax, 0x53
jne 0x40a7a3
mov eax, dword [esp + 8]
mov ecx, dword [str.Right]
mov dword [eax], ecx
mov dx, word [0x417394]
mov word [eax + 4], dx
ret
cmp eax, 0x54
jne 0x40a7c0
mov eax, dword [esp + 8]
mov cx, word [0x41738c]
mov word [eax], cx
mov dl, byte [0x41738e]
mov byte [eax + 2], dl
ret
cmp eax, 0x55
jne 0x40a7db
mov eax, dword [esp + 8]
mov ecx, dword [str.Down]
mov dword [eax], ecx
mov dl, byte [0x417388]
mov byte [eax + 4], dl
ret
cmp eax, 0x56
jne 0x40a7f6
mov eax, dword [esp + 8]
mov ecx, dword [str.___Pad_]
mov dword [eax], ecx
mov edx, dword [0x417380]
mov dword [eax + 4], edx
ret
cmp eax, 0x57
jne 0x40a80a
mov eax, dword [esp + 8]
mov cx, word [0x417378]
mov word [eax], cx
ret
cmp eax, 0x58
jne 0x40a825
mov eax, dword [esp + 8]
mov edx, dword [0x417370]
mov dword [eax], edx
mov ecx, dword [0x417374]
mov dword [eax + 4], ecx
ret
cmp eax, 0x59
jne 0x40a840
mov eax, dword [esp + 8]
mov edx, dword [str.__Pad_]
mov dword [eax], edx
mov ecx, dword [0x41736c]
mov dword [eax + 4], ecx
ret
cmp eax, 0x5a
jne 0x40a864
mov edx, dword [esp + 8]
mov eax, dword [str.Del__Pad_]
mov dword [edx], eax
mov ecx, dword [0x417360]
mov dword [edx + 4], ecx
mov ax, word [0x417364]
mov word [edx + 8], ax
ret
cmp eax, 0x5b
jne 0x40a887
mov ecx, dword [esp + 8]
mov edx, dword [str.Enter__Pad_]
mov dword [ecx], edx
mov eax, dword [0x417354]
mov dword [ecx + 4], eax
mov edx, dword [0x417358]
mov dword [ecx + 8], edx
ret
cmp eax, 0x5c
jne 0x40a8b4
mov eax, dword [esp + 8]
mov ecx, dword [str.Print_Scroll]
mov dword [eax], ecx
mov edx, dword [0x417344]
mov dword [eax + 4], edx
mov ecx, dword [0x417348]
mov dword [eax + 8], ecx
mov dl, byte [0x41734c]
mov byte [eax + 0xc], dl
ret
cmp eax, 0x5d
jne 0x40a8d1
mov eax, dword [esp + 8]
mov ecx, dword [str.Pause]
mov dword [eax], ecx
mov dx, word [0x41733c]
mov word [eax + 4], dx
ret
cmp eax, 0x5f
jne 0x40a8e3
mov eax, dword [esp + 8]
mov ecx, dword [0x417334]
mov dword [eax], ecx
ret
cmp eax, 0x60
jne 0x40a8fd
mov edx, dword [esp + 8]
mov eax, dword [str.Kana]
mov dword [edx], eax
mov cl, byte [0x417330]
mov byte [edx + 4], cl
ret
cmp eax, 0x67
jne 0x40a918
mov eax, dword [esp + 8]
mov edx, dword [str.L_Shift]
mov dword [eax], edx
mov ecx, dword [0x417328]
mov dword [eax + 4], ecx
ret
cmp eax, 0x68
jne 0x40a933
mov eax, dword [esp + 8]
mov edx, dword [str.R_Shift]
mov dword [eax], edx
mov ecx, dword [0x417320]
mov dword [eax + 4], ecx
ret
cmp eax, 0x69
jne 0x40a957
mov edx, dword [esp + 8]
mov eax, dword [str.L_Ctrl]
mov dword [edx], eax
mov cx, word [0x417318]
mov word [edx + 4], cx
mov al, byte [0x41731a]
mov byte [edx + 6], al
ret
cmp eax, 0x6a
jne 0x40a97c
mov ecx, dword [esp + 8]
mov edx, dword [str.R_Ctrl]
mov dword [ecx], edx
mov ax, word [0x417310]
mov word [ecx + 4], ax
mov dl, byte [0x417312]
mov byte [ecx + 6], dl
ret
cmp eax, 0x6b
jne 0x40a98e
mov eax, dword [esp + 8]
mov ecx, dword [0x417308]
mov dword [eax], ecx
ret
cmp eax, 0x6c
jne 0x40a9b2
mov edx, dword [esp + 8]
mov eax, dword [str.Alt_Gr]
mov dword [edx], eax
mov cx, word [0x417304]
mov word [edx + 4], cx
mov al, byte [0x417306]
mov byte [edx + 6], al
ret
cmp eax, 0x6d
jne 0x40a9d5
mov ecx, dword [esp + 8]
mov edx, dword [str.Left_Win]
mov dword [ecx], edx
mov eax, dword [0x4172f8]
mov dword [ecx + 4], eax
mov dl, byte [0x4172fc]
mov byte [ecx + 8], dl
ret
cmp eax, 0x6e
jne 0x40a9fb
mov eax, dword [esp + 8]
mov ecx, dword [str.Right_Win]
mov dword [eax], ecx
mov edx, dword [0x4172ec]
mov dword [eax + 4], edx
mov cx, word [0x4172f0]
mov word [eax + 8], cx
ret
cmp eax, 0x6f
jne 0x40aa15
mov edx, dword [esp + 8]
mov eax, dword [str.Menu]
mov dword [edx], eax
mov cl, byte [0x4172e4]
mov byte [edx + 4], cl
ret
cmp eax, 0x70
jne 0x40aa37
mov edx, dword [esp + 8]
mov eax, dword [str.Scroll_Lock]
mov dword [edx], eax
mov ecx, dword [0x4172d8]
mov dword [edx + 4], ecx
mov eax, dword [0x4172dc]
mov dword [edx + 8], eax
ret
cmp eax, 0x71
jne 0x40aa5a
mov ecx, dword [esp + 8]
mov edx, dword [str.Num_Lock]
mov dword [ecx], edx
mov eax, dword [0x4172cc]
mov dword [ecx + 4], eax
mov dl, byte [0x4172d0]
mov byte [ecx + 8], dl
ret
cmp eax, 0x72
jne 0x40aa80
mov eax, dword [esp + 8]
mov ecx, dword [str.Caps_Lock]
mov dword [eax], ecx
mov edx, dword [0x4172c0]
mov dword [eax + 4], edx
mov cx, word [0x4172c4]
mov word [eax + 8], cx
ret
mov edx, dword [esp + 8]
mov eax, dword [str.undefined]
mov dword [edx], eax
mov ecx, dword [0x4172b4]
mov dword [edx + 4], ecx
mov ax, word [0x4172b8]
mov word [edx + 8], ax
ret