Function at 0x405ce0
Capabilities:
Parse pe header

Disassembly:
mov eax, dword [esp + 4]
cmp eax, 1
jne 0x405cf8
mov eax, dword [esp + 8]
mov cx, word [0x410050]
mov word [eax], cx
ret
cmp eax, 2
jne 0x405d0b
mov edx, dword [esp + 8]
mov ax, word [0x41004c]
mov word [edx], ax
ret
cmp eax, 3
jne 0x405d1f
mov ecx, dword [esp + 8]
mov dx, word [0x410048]
mov word [ecx], dx
ret
cmp eax, 4
jne 0x405d33
mov eax, dword [esp + 8]
mov cx, word [0x410044]
mov word [eax], cx
ret
cmp eax, 5
jne 0x405d46
mov edx, dword [esp + 8]
mov ax, word [0x410040]
mov word [edx], ax
ret
cmp eax, 6
jne 0x405d5a
mov ecx, dword [esp + 8]
mov dx, word [0x41003c]
mov word [ecx], dx
ret
cmp eax, 7
jne 0x405d6e
mov eax, dword [esp + 8]
mov cx, word [0x410038]
mov word [eax], cx
ret
cmp eax, 8
jne 0x405d81
mov edx, dword [esp + 8]
mov ax, word [0x410034]
mov word [edx], ax
ret
cmp eax, 9
jne 0x405d95
mov ecx, dword [esp + 8]
mov dx, word [0x410030]
mov word [ecx], dx
ret
cmp eax, 0xa
jne 0x405da9
mov eax, dword [esp + 8]
mov cx, word [0x41002c]
mov word [eax], cx
ret
cmp eax, 0xb
jne 0x405dbc
mov edx, dword [esp + 8]
mov ax, word [0x410028]
mov word [edx], ax
ret
cmp eax, 0xc
jne 0x405dd0
mov ecx, dword [esp + 8]
mov dx, word [0x410024]
mov word [ecx], dx
ret
cmp eax, 0xd
jne 0x405de4
mov eax, dword [esp + 8]
mov cx, word [0x410020]
mov word [eax], cx
ret
cmp eax, 0xe
jne 0x405df7
mov edx, dword [esp + 8]
mov ax, word [0x41001c]
mov word [edx], ax
ret
cmp eax, 0xf
jne 0x405e0b
mov ecx, dword [esp + 8]
mov dx, word [0x410018]
mov word [ecx], dx
ret
cmp eax, 0x10
jne 0x405e1f
mov eax, dword [esp + 8]
mov cx, word [0x410014]
mov word [eax], cx
ret
cmp eax, 0x11
jne 0x405e32
mov edx, dword [esp + 8]
mov ax, word [0x410010]
mov word [edx], ax
ret
cmp eax, 0x12
jne 0x405e46
mov ecx, dword [esp + 8]
mov dx, word [0x41000c]
mov word [ecx], dx
ret
cmp eax, 0x13
jne 0x405e5a
mov eax, dword [esp + 8]
mov cx, word [0x410008]
mov word [eax], cx
ret
cmp eax, 0x14
jne 0x405e6d
mov edx, dword [esp + 8]
mov ax, word [0x410004]
mov word [edx], ax
ret
cmp eax, 0x15
jne 0x405e81
mov ecx, dword [esp + 8]
mov dx, word [0x410000]
mov word [ecx], dx
ret
cmp eax, 0x16
jne 0x405e95
mov eax, dword [esp + 8]
mov cx, word [0x40fffc]
mov word [eax], cx
ret
cmp eax, 0x17
jne 0x405ea8
mov edx, dword [esp + 8]
mov ax, word [0x40fff8]
mov word [edx], ax
ret
cmp eax, 0x18
jne 0x405ebc
mov ecx, dword [esp + 8]
mov dx, word [0x40fff4]
mov word [ecx], dx
ret
cmp eax, 0x19
jne 0x405ed0
mov eax, dword [esp + 8]
mov cx, word [0x40fff0]
mov word [eax], cx
ret
cmp eax, 0x1a
jne 0x405ee3
mov edx, dword [esp + 8]
mov ax, word [0x40ffec]
mov word [edx], ax
ret
cmp eax, 0x1b
jne 0x405ef7
mov ecx, dword [esp + 8]
mov dx, word [0x40ffe8]
mov word [ecx], dx
ret
cmp eax, 0x1c
jne 0x405f0b
mov eax, dword [esp + 8]
mov cx, word [0x40ffe4]
mov word [eax], cx
ret
cmp eax, 0x1d
jne 0x405f1e
mov edx, dword [esp + 8]
mov ax, word [0x40ffe0]
mov word [edx], ax
ret
cmp eax, 0x1e
jne 0x405f32
mov ecx, dword [esp + 8]
mov dx, word [0x40ffdc]
mov word [ecx], dx
ret
cmp eax, 0x1f
jne 0x405f46
mov eax, dword [esp + 8]
mov cx, word [0x40ffd8]
mov word [eax], cx
ret
cmp eax, 0x20
jne 0x405f59
mov edx, dword [esp + 8]
mov ax, word [0x40ffd4]
mov word [edx], ax
ret
cmp eax, 0x21
jne 0x405f6d
mov ecx, dword [esp + 8]
mov dx, word [0x40ffd0]
mov word [ecx], dx
ret
cmp eax, 0x22
jne 0x405f81
mov eax, dword [esp + 8]
mov cx, word [0x40ffcc]
mov word [eax], cx
ret
cmp eax, 0x23
jne 0x405f94
mov edx, dword [esp + 8]
mov ax, word [0x40ffc8]
mov word [edx], ax
ret
cmp eax, 0x24
jne 0x405fa8
mov ecx, dword [esp + 8]
mov dx, word [str.9876543210ZYXWVUTSRQPONMLKJIHGFEDCBA]
mov word [ecx], dx
ret
cmp eax, 0x25
jne 0x405fc3
mov eax, dword [esp + 8]
mov ecx, dword [str.0__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ffc0]
mov dword [eax + 4], edx
ret
cmp eax, 0x26
jne 0x405fde
mov eax, dword [esp + 8]
mov ecx, dword [str.1__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ffb8]
mov dword [eax + 4], edx
ret
cmp eax, 0x27
jne 0x405ff9
mov eax, dword [esp + 8]
mov ecx, dword [str.2__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ffb0]
mov dword [eax + 4], edx
ret
cmp eax, 0x28
jne 0x406014
mov eax, dword [esp + 8]
mov ecx, dword [str.3__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ffa8]
mov dword [eax + 4], edx
ret
cmp eax, 0x29
jne 0x40602f
mov eax, dword [esp + 8]
mov ecx, dword [str.4__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ffa0]
mov dword [eax + 4], edx
ret
cmp eax, 0x2a
jne 0x40604a
mov eax, dword [esp + 8]
mov ecx, dword [str.5__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ff98]
mov dword [eax + 4], edx
ret
cmp eax, 0x2b
jne 0x406065
mov eax, dword [esp + 8]
mov ecx, dword [str.6__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ff90]
mov dword [eax + 4], edx
ret
cmp eax, 0x2c
jne 0x406080
mov eax, dword [esp + 8]
mov ecx, dword [str.7__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ff88]
mov dword [eax + 4], edx
ret
cmp eax, 0x2d
jne 0x40609b
mov eax, dword [esp + 8]
mov ecx, dword [str.8__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ff80]
mov dword [eax + 4], edx
ret
cmp eax, 0x2e
jne 0x4060b6
mov eax, dword [esp + 8]
mov ecx, dword [str.9__Pad_]
mov dword [eax], ecx
mov edx, dword [0x40ff78]
mov dword [eax + 4], edx
ret
cmp eax, 0x2f
jne 0x4060d3
mov eax, dword [esp + 8]
mov cx, word [0x40ff70]
mov word [eax], cx
mov dl, byte [0x40ff72]
mov byte [eax + 2], dl
ret
cmp eax, 0x30
jne 0x4060f0
mov eax, dword [esp + 8]
mov cx, word [0x40ff6c]
mov word [eax], cx
mov dl, byte [0x40ff6e]
mov byte [eax + 2], dl
ret
cmp eax, 0x31
jne 0x40610d
mov eax, dword [esp + 8]
mov cx, word [0x40ff68]
mov word [eax], cx
mov dl, byte [0x40ff6a]
mov byte [eax + 2], dl
ret
cmp eax, 0x32
jne 0x40612a
mov eax, dword [esp + 8]
mov cx, word [0x40ff64]
mov word [eax], cx
mov dl, byte [0x40ff66]
mov byte [eax + 2], dl
ret
cmp eax, 0x33
jne 0x406147
mov eax, dword [esp + 8]
mov cx, word [0x40ff60]
mov word [eax], cx
mov dl, byte [0x40ff62]
mov byte [eax + 2], dl
ret
cmp eax, 0x34
jne 0x406164
mov eax, dword [esp + 8]
mov cx, word [0x40ff5c]
mov word [eax], cx
mov dl, byte [0x40ff5e]
mov byte [eax + 2], dl
ret
cmp eax, 0x35
jne 0x406181
mov eax, dword [esp + 8]
mov cx, word [0x40ff58]
mov word [eax], cx
mov dl, byte [0x40ff5a]
mov byte [eax + 2], dl
ret
cmp eax, 0x36
jne 0x40619e
mov eax, dword [esp + 8]
mov cx, word [0x40ff54]
mov word [eax], cx
mov dl, byte [0x40ff56]
mov byte [eax + 2], dl
ret
cmp eax, 0x37
jne 0x4061bb
mov eax, dword [esp + 8]
mov cx, word [0x40ff50]
mov word [eax], cx
mov dl, byte [0x40ff52]
mov byte [eax + 2], dl
ret
cmp eax, 0x38
jne 0x4061cd
mov eax, dword [esp + 8]
mov ecx, dword [0x40ff4c]
mov dword [eax], ecx
ret
cmp eax, 0x39
jne 0x4061de
mov edx, dword [esp + 8]
mov eax, dword [0x40ff48]
mov dword [edx], eax
ret
cmp eax, 0x3a
jne 0x4061f0
mov ecx, dword [esp + 8]
mov edx, dword [0x40ff44]
mov dword [ecx], edx
ret
cmp eax, 0x3b
jne 0x406202
mov eax, dword [esp + 8]
mov ecx, dword [0x40ff40]
mov dword [eax], ecx
ret
cmp eax, 0x3c
jne 0x406215
mov edx, dword [esp + 8]
mov ax, word [0x40ff3c]
mov word [edx], ax
ret
cmp eax, 0x3d
jne 0x406229
mov ecx, dword [esp + 8]
mov dx, word [0x40ff38]
mov word [ecx], dx
ret
cmp eax, 0x3e
jne 0x40623d
mov eax, dword [esp + 8]
mov cx, word [0x40ff34]
mov word [eax], cx
ret
cmp eax, 0x3f
jne 0x406261
mov edx, dword [esp + 8]
mov eax, dword [str.Backspace]
mov dword [edx], eax
mov ecx, dword [0x40ff2c]
mov dword [edx + 4], ecx
mov ax, word [0x40ff30]
mov word [edx + 8], ax
ret
cmp eax, 0x40
jne 0x406273
mov ecx, dword [esp + 8]
mov edx, dword [0x40ff24]
mov dword [ecx], edx
ret
cmp eax, 0x41
jne 0x406287
mov eax, dword [esp + 8]
mov cx, word [0x40fd74]
mov word [eax], cx
ret
cmp eax, 0x42
jne 0x40629a
mov edx, dword [esp + 8]
mov ax, word [0x40fd78]
mov word [edx], ax
ret
cmp eax, 0x43
jne 0x4062b6
mov ecx, dword [esp + 8]
mov edx, dword [0x40ff1c]
mov dword [ecx], edx
mov ax, word [0x40ff20]
mov word [ecx + 4], ax
ret
cmp eax, 0x44
jne 0x4062ca
mov ecx, dword [esp + 8]
mov dx, word [0x40ff18]
mov word [ecx], dx
ret
cmp eax, 0x45
jne 0x4062de
mov eax, dword [esp + 8]
mov cx, word [0x40ff14]
mov word [eax], cx
ret
cmp eax, 0x46
jne 0x4062f1
mov edx, dword [esp + 8]
mov ax, word [0x40ff10]
mov word [edx], ax
ret
cmp eax, 0x47
jne 0x406305
mov ecx, dword [esp + 8]
mov dx, word [0x40ff10]
mov word [ecx], dx
ret
cmp eax, 0x48
jne 0x406319
mov eax, dword [esp + 8]
mov cx, word [0x40ff0c]
mov word [eax], cx
ret
cmp eax, 0x49
jne 0x40632c
mov edx, dword [esp + 8]
mov ax, word [0x40ff08]
mov word [edx], ax
ret
cmp eax, 0x4a
jne 0x406340
mov ecx, dword [esp + 8]
mov dx, word [str._._:]
mov word [ecx], dx
ret
cmp eax, 0x4b
jne 0x40635d
mov eax, dword [esp + 8]
mov ecx, dword [str.Space]
mov dword [eax], ecx
mov dx, word [0x40ff00]
mov word [eax + 4], dx
ret
cmp eax, 0x4c
jne 0x406383
mov eax, dword [esp + 8]
mov ecx, dword [str.Insert]
mov dword [eax], ecx
mov dx, word [0x40fef8]
mov word [eax + 4], dx
mov cl, byte [0x40fefa]
mov byte [eax + 6], cl
ret
cmp eax, 0x4d
jne 0x4063a7
mov edx, dword [esp + 8]
mov eax, dword [str.Delete]
mov dword [edx], eax
mov cx, word [0x40fef0]
mov word [edx + 4], cx
mov al, byte [0x40fef2]
mov byte [edx + 6], al
ret
cmp eax, 0x4e
jne 0x4063c1
mov ecx, dword [esp + 8]
mov edx, dword [str.Home]
mov dword [ecx], edx
mov al, byte [0x40fee8]
mov byte [ecx + 4], al
ret
cmp eax, 0x4f
jne 0x4063d3
mov ecx, dword [esp + 8]
mov edx, dword [0x40fee0]
mov dword [ecx], edx
ret
cmp eax, 0x50
jne 0x4063ee
mov eax, dword [esp + 8]
mov ecx, dword [str.Page_Up]
mov dword [eax], ecx
mov edx, dword [0x40fedc]
mov dword [eax + 4], edx
ret
cmp eax, 0x51
jne 0x406414
mov eax, dword [esp + 8]
mov ecx, dword [str.Page_Down]
mov dword [eax], ecx
mov edx, dword [0x40fed0]
mov dword [eax + 4], edx
mov cx, word [0x40fed4]
mov word [eax + 8], cx
ret
cmp eax, 0x52
jne 0x406441
mov edx, dword [esp + 8]
mov eax, dword [str.Left_Arrow]
mov dword [edx], eax
mov ecx, dword [0x40fec4]
mov dword [edx + 4], ecx
mov ax, word [0x40fec8]
mov word [edx + 8], ax
mov cl, byte [0x40feca]
mov byte [edx + 0xa], cl
ret
cmp eax, 0x53
jne 0x406463
mov edx, dword [esp + 8]
mov eax, dword [str.Right_Arrow]
mov dword [edx], eax
mov ecx, dword [0x40feb8]
mov dword [edx + 4], ecx
mov eax, dword [0x40febc]
mov dword [edx + 8], eax
ret
cmp eax, 0x54
jne 0x406486
mov ecx, dword [esp + 8]
mov edx, dword [str.Up_Arrow]
mov dword [ecx], edx
mov eax, dword [0x40feac]
mov dword [ecx + 4], eax
mov dl, byte [0x40feb0]
mov byte [ecx + 8], dl
ret
cmp eax, 0x55
jne 0x4064b5
mov eax, dword [esp + 8]
mov ecx, dword [str.Down_Arrow]
mov dword [eax], ecx
mov edx, dword [0x40fea0]
mov dword [eax + 4], edx
mov cx, word [0x40fea4]
mov word [eax + 8], cx
mov dl, byte [0x40fea6]
mov byte [eax + 0xa], dl
ret
cmp eax, 0x56
jne 0x4064d0
mov eax, dword [esp + 8]
mov ecx, dword [str.___Pad_]
mov dword [eax], ecx
mov edx, dword [0x40fe98]
mov dword [eax + 4], edx
ret
cmp eax, 0x57
jne 0x4064e4
mov eax, dword [esp + 8]
mov cx, word [0x40fe90]
mov word [eax], cx
ret
cmp eax, 0x58
jne 0x4064ff
mov eax, dword [esp + 8]
mov edx, dword [0x40fe88]
mov dword [eax], edx
mov ecx, dword [0x40fe8c]
mov dword [eax + 4], ecx
ret
cmp eax, 0x59
jne 0x40651a
mov eax, dword [esp + 8]
mov edx, dword [str.__Pad_]
mov dword [eax], edx
mov ecx, dword [0x40fe84]
mov dword [eax + 4], ecx
ret
cmp eax, 0x5a
jne 0x406545
mov edx, dword [esp + 8]
mov eax, dword [str.Delete__Pad_]
mov dword [edx], eax
mov ecx, dword [0x40fe74]
mov dword [edx + 4], ecx
mov eax, dword [0x40fe78]
mov dword [edx + 8], eax
mov cl, byte [0x40fe7c]
mov byte [edx + 0xc], cl
ret
cmp eax, 0x5b
jne 0x406567
mov edx, dword [esp + 8]
mov eax, dword [str.Enter__Pad_]
mov dword [edx], eax
mov ecx, dword [0x40fe68]
mov dword [edx + 4], ecx
mov eax, dword [0x40fe6c]
mov dword [edx + 8], eax
ret
cmp eax, 0x5c
jne 0x406592
mov ecx, dword [esp + 8]
mov edx, dword [str.Print_Screen]
mov dword [ecx], edx
mov eax, dword [0x40fe58]
mov dword [ecx + 4], eax
mov edx, dword [0x40fe5c]
mov dword [ecx + 8], edx
mov al, byte [0x40fe60]
mov byte [ecx + 0xc], al
ret
cmp eax, 0x5d
jne 0x4065ae
mov ecx, dword [esp + 8]
mov edx, dword [str.Pause]
mov dword [ecx], edx
mov ax, word [0x40fe50]
mov word [ecx + 4], ax
ret
cmp eax, 0x5f
jne 0x4065c0
mov ecx, dword [esp + 8]
mov edx, dword [0x40fe48]
mov dword [ecx], edx
ret
cmp eax, 0x60
jne 0x4065db
mov eax, dword [esp + 8]
mov ecx, dword [str.Kana]
mov dword [eax], ecx
mov dl, byte [0x40fe44]
mov byte [eax + 4], dl
ret
cmp eax, 0x67
jne 0x40660a
mov eax, dword [esp + 8]
mov ecx, dword [str.Left_Shift]
mov dword [eax], ecx
mov edx, dword [0x40fe38]
mov dword [eax + 4], edx
mov cx, word [0x40fe3c]
mov word [eax + 8], cx
mov dl, byte [0x40fe3e]
mov byte [eax + 0xa], dl
ret
cmp eax, 0x68
jne 0x40662e
mov eax, dword [esp + 8]
mov ecx, dword [str.Right_Shift]
mov dword [eax], ecx
mov edx, dword [0x40fe2c]
mov dword [eax + 4], edx
mov ecx, dword [0x40fe30]
mov dword [eax + 8], ecx
ret
cmp eax, 0x69
jne 0x406659
mov edx, dword [esp + 8]
mov eax, dword [str.Left_Control]
mov dword [edx], eax
mov ecx, dword [0x40fe1c]
mov dword [edx + 4], ecx
mov eax, dword [0x40fe20]
mov dword [edx + 8], eax
mov cl, byte [0x40fe24]
mov byte [edx + 0xc], cl
ret
cmp eax, 0x6a
jne 0x406686
mov edx, dword [esp + 8]
mov eax, dword [str.Right_Control]
mov dword [edx], eax
mov ecx, dword [0x40fe0c]
mov dword [edx + 4], ecx
mov eax, dword [0x40fe10]
mov dword [edx + 8], eax
mov cx, word [0x40fe14]
mov word [edx + 0xc], cx
ret
cmp eax, 0x6b
jne 0x406697
mov edx, dword [esp + 8]
mov eax, dword [0x40fe04]
mov dword [edx], eax
ret
cmp eax, 0x6c
jne 0x4066bc
mov ecx, dword [esp + 8]
mov edx, dword [str.Alt_Gr]
mov dword [ecx], edx
mov ax, word [0x40fe00]
mov word [ecx + 4], ax
mov dl, byte [0x40fe02]
mov byte [ecx + 6], dl
ret
cmp eax, 0x6d
jne 0x4066e0
mov eax, dword [esp + 8]
mov ecx, dword [str.Left_Win]
mov dword [eax], ecx
mov edx, dword [0x40fdf4]
mov dword [eax + 4], edx
mov cl, byte [0x40fdf8]
mov byte [eax + 8], cl
ret
cmp eax, 0x6e
jne 0x406704
mov edx, dword [esp + 8]
mov eax, dword [str.Right_Win]
mov dword [edx], eax
mov ecx, dword [0x40fde8]
mov dword [edx + 4], ecx
mov ax, word [0x40fdec]
mov word [edx + 8], ax
ret
cmp eax, 0x6f
jne 0x40671e
mov ecx, dword [esp + 8]
mov edx, dword [str.Menu]
mov dword [ecx], edx
mov al, byte [0x40fde0]
mov byte [ecx + 4], al
ret
cmp eax, 0x70
jne 0x406741
mov ecx, dword [esp + 8]
mov edx, dword [str.Scroll_Lock]
mov dword [ecx], edx
mov eax, dword [0x40fdd4]
mov dword [ecx + 4], eax
mov edx, dword [0x40fdd8]
mov dword [ecx + 8], edx
ret
cmp eax, 0x71
jne 0x406765
mov eax, dword [esp + 8]
mov ecx, dword [str.Num_Lock]
mov dword [eax], ecx
mov edx, dword [0x40fdc8]
mov dword [eax + 4], edx
mov cl, byte [0x40fdcc]
mov byte [eax + 8], cl
ret
cmp eax, 0x72
jne 0x406789
mov edx, dword [esp + 8]
mov eax, dword [str.Caps_Lock]
mov dword [edx], eax
mov ecx, dword [0x40fdbc]
mov dword [edx + 4], ecx
mov ax, word [0x40fdc0]
mov word [edx + 8], ax
ret
mov ecx, dword [esp + 8]
mov edx, dword [str.undefined]
mov dword [ecx], edx
mov eax, dword [0x40fdb0]
mov dword [ecx + 4], eax
mov dx, word [0x40fdb4]
mov word [ecx + 8], dx
ret