Function at 0x44a3b0
Capabilities:
Parse pe header
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x7e48
call fcn.004a8420
mov eax, dword [0x4f4008]
xor eax, ebp
mov dword [ebp - 8], eax
movups xmm0, xmmword [str.keyboard]
movzx eax, word [0x4d5860]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov word [ebp - 0xc], ax
mov eax, dword [0x4d5bc0]
push 0x1f4
mov dword [ebp - 0x7e2c], eax
lea eax, [ebp - 0x7e28]
movups xmmword [ebp - 0x1c], xmm0
push 0
movq xmm0, qword [str.enter]
push eax
mov dword [ebp - 0x7e38], esi
mov dword [ebp - 0x658], str.LEFT
mov dword [ebp - 0x654], 0x4d5af4
mov dword [ebp - 0x650], str.RIGHT
mov dword [ebp - 0x64c], str.DOWN
mov dword [ebp - 0x648], str.SELECT
mov dword [ebp - 0x644], str.CANCEL
mov dword [ebp - 0x640], str.OPTION
mov dword [ebp - 0x63c], str.OPTION2
mov dword [ebp - 0x638], str.L_SWITCH
mov dword [ebp - 0x634], str.R_SWITCH
mov dword [ebp - 0x630], str.SYSTEM
mov dword [ebp - 0x62c], str.SKIP
mov dword [ebp - 0x628], str.FULLSCREEN
mov dword [ebp - 0x624], str.RESET
mov dword [ebp - 0x620], str.EXIT
movq qword [ebp - 0x7e34], xmm0
call fcn.0049a080
movzx eax, word [0x4d5bcc]
movq xmm0, qword [str.ctrl]
push 0x1f6
mov word [ebp - 0x7c24], ax
lea eax, [ebp - 0x7c22]
push 0
push eax
mov dword [ebp - 0x7c34], 0xd
mov dword [ebp - 0x7c30], 0x1c
movq qword [ebp - 0x7c2c], xmm0
call fcn.0049a080
mov eax, dword [0x4d5bd8]
movq xmm0, qword [str.space]
push 0x1f4
mov dword [ebp - 0x7a1c], eax
lea eax, [ebp - 0x7a18]
push 0
push eax
mov dword [ebp - 0x7a2c], 0x11
mov dword [ebp - 0x7a28], 0x1d
movq qword [ebp - 0x7a24], xmm0
call fcn.0049a080
push 0x1f8
lea eax, [ebp - 0x7814]
mov dword [ebp - 0x7824], 0x20
push 0
push eax
mov dword [ebp - 0x7820], 0x39
mov dword [ebp - 0x781c], 0x730065
mov dword [ebp - 0x7818], 0x63
call fcn.0049a080
movzx eax, word [0x4d5bec]
movq xmm0, qword [str.back]
push 0x1f6
mov word [ebp - 0x760c], ax
lea eax, [ebp - 0x760a]
push 0
push eax
mov dword [ebp - 0x761c], 0x1b
mov dword [ebp - 0x7618], 1
movq qword [ebp - 0x7614], xmm0
call fcn.0049a080
movq xmm0, qword [str.shift]
mov eax, dword [0x4d5bf8]
mov dword [ebp - 0x7414], 8
mov dword [ebp - 0x7410], 0xe
movq qword [ebp - 0x740c], xmm0
mov dword [ebp - 0x7404], eax
push 0x1f4
lea eax, [ebp - 0x7400]
push 0
push eax
call fcn.0049a080
movzx eax, word [0x4d5c04]
add esp, 0x48
movq xmm0, qword [str.left]
mov word [ebp - 0x71fc], ax
lea eax, [ebp - 0x71fa]
mov dword [ebp - 0x720c], 0x10
push 0x1f6
push 0
push eax
mov dword [ebp - 0x7208], 0x2a
movq qword [ebp - 0x7204], xmm0
call fcn.0049a080
mov eax, dword [0x4d5c08]
mov dword [ebp - 0x6ffc], eax
movzx eax, word [0x4d5c0c]
push 0x1fa
mov word [ebp - 0x6ff8], ax
lea eax, [ebp - 0x6ff6]
push 0
push eax
mov dword [ebp - 0x7004], 0x25
mov dword [ebp - 0x7000], 0xcb
call fcn.0049a080
mov eax, dword [0x4d5c18]
movq xmm0, qword [str.right]
push 0x1f4
mov dword [ebp - 0x6dec], eax
lea eax, [ebp - 0x6de8]
push 0
push eax
mov dword [ebp - 0x6dfc], 0x26
mov dword [ebp - 0x6df8], 0xc8
movq qword [ebp - 0x6df4], xmm0
call fcn.0049a080
movzx eax, word [0x4d5c24]
movq xmm0, qword [str.down]
push 0x1f6
mov word [ebp - 0x6be4], ax
lea eax, [ebp - 0x6be2]
push 0
push eax
mov dword [ebp - 0x6bf4], 0x27
mov dword [ebp - 0x6bf0], 0xcd
movq qword [ebp - 0x6bec], xmm0
call fcn.0049a080
mov eax, dword [0x4d5c30]
movq xmm0, qword [str.rclick]
mov dword [ebp - 0x69dc], eax
movzx eax, word [0x4d5c34]
push 0x1f2
mov word [ebp - 0x69d8], ax
lea eax, [ebp - 0x69d6]
push 0
push eax
mov dword [ebp - 0x69ec], 0x28
mov dword [ebp - 0x69e8], 0xd0
movq qword [ebp - 0x69e4], xmm0
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x67d8]
mov dword [ebp - 0x67e4], 1
push 0
push eax
mov dword [ebp - 0x67e0], 0x15b3
mov dword [ebp - 0x67dc], 0x31
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x65dc], 0x61
lea eax, [ebp - 0x65d0]
mov dword [ebp - 0x65d8], 0x4f
mov dword [ebp - 0x65d4], 0x32
push 0x1fc
push 0
push eax
call fcn.0049a080
mov dword [ebp - 0x63d4], 0x62
push 0x1fc
lea eax, [ebp - 0x63c8]
mov dword [ebp - 0x63d0], 0x50
push 0
push eax
mov dword [ebp - 0x63cc], 0x33
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x61c0]
mov dword [ebp - 0x61cc], 0x63
push 0
push eax
mov dword [ebp - 0x61c8], 0x51
mov dword [ebp - 0x61c4], 0x34
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x5fb8]
mov dword [ebp - 0x5fc4], 0x64
push 0
push eax
mov dword [ebp - 0x5fc0], 0x4b
mov dword [ebp - 0x5fbc], 0x35
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x5db0]
mov dword [ebp - 0x5dbc], 0x65
push 0
push eax
mov dword [ebp - 0x5db8], 0x4c
mov dword [ebp - 0x5db4], 0x36
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x5ba8]
mov dword [ebp - 0x5bb4], 0x66
push 0
push eax
mov dword [ebp - 0x5bb0], 0x4d
mov dword [ebp - 0x5bac], 0x37
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x59ac], 0x67
lea eax, [ebp - 0x59a0]
mov dword [ebp - 0x59a8], 0x47
mov dword [ebp - 0x59a4], 0x38
push 0x1fc
push 0
push eax
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x5798]
mov dword [ebp - 0x57a4], 0x68
push 0
push eax
mov dword [ebp - 0x57a0], 0x48
mov dword [ebp - 0x579c], 0x39
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x5590]
mov dword [ebp - 0x559c], 0x69
push 0
push eax
mov dword [ebp - 0x5598], 0x49
mov dword [ebp - 0x5594], 0x30
call fcn.0049a080
mov eax, dword [0x4d5c40]
mov dword [ebp - 0x538c], eax
movzx eax, word [0x4d5c44]
push 0x1fa
mov word [ebp - 0x5388], ax
lea eax, [ebp - 0x5386]
push 0
push eax
mov dword [ebp - 0x5394], 0x60
mov dword [ebp - 0x5390], 0x52
call fcn.0049a080
mov eax, dword [0x4d5c48]
mov dword [ebp - 0x5184], eax
movzx eax, word [0x4d5c4c]
mov dword [ebp - 0x518c], 0x70
mov dword [ebp - 0x5188], 0x3b
mov word [ebp - 0x5180], ax
push 0x1fa
lea eax, [ebp - 0x517e]
push 0
push eax
call fcn.0049a080
mov eax, dword [0x4d5c50]
mov dword [ebp - 0x4f7c], eax
movzx eax, word [0x4d5c54]
push 0x1fa
mov word [ebp - 0x4f78], ax
lea eax, [ebp - 0x4f76]
push 0
push eax
mov dword [ebp - 0x4f84], 0x71
mov dword [ebp - 0x4f80], 0x3c
call fcn.0049a080
mov eax, dword [0x4d5c58]
add esp, 0x48
mov dword [ebp - 0x4d74], eax
movzx eax, word [0x4d5c5c]
mov word [ebp - 0x4d70], ax
lea eax, [ebp - 0x4d6e]
push 0x1fa
push 0
push eax
mov dword [ebp - 0x4d7c], 0x72
mov dword [ebp - 0x4d78], 0x3d
call fcn.0049a080
mov eax, dword [0x4d5c60]
mov dword [ebp - 0x4b6c], eax
movzx eax, word [0x4d5c64]
push 0x1fa
mov word [ebp - 0x4b68], ax
lea eax, [ebp - 0x4b66]
push 0
push eax
mov dword [ebp - 0x4b74], 0x73
mov dword [ebp - 0x4b70], 0x3e
call fcn.0049a080
mov eax, dword [0x4d5c68]
mov dword [ebp - 0x4964], eax
movzx eax, word [0x4d5c6c]
push 0x1fa
mov word [ebp - 0x4960], ax
lea eax, [ebp - 0x495e]
push 0
push eax
mov dword [ebp - 0x496c], 0x74
mov dword [ebp - 0x4968], 0x3f
call fcn.0049a080
mov eax, dword [0x4d5c70]
mov dword [ebp - 0x475c], eax
movzx eax, word [0x4d5c74]
push 0x1fa
mov word [ebp - 0x4758], ax
lea eax, [ebp - 0x4756]
push 0
push eax
mov dword [ebp - 0x4764], 0x75
mov dword [ebp - 0x4760], 0x40
call fcn.0049a080
mov eax, dword [0x4d5c78]
mov dword [ebp - 0x4554], eax
movzx eax, word [0x4d5c7c]
push 0x1fa
mov word [ebp - 0x4550], ax
lea eax, [ebp - 0x454e]
push 0
push eax
mov dword [ebp - 0x455c], 0x76
mov dword [ebp - 0x4558], 0x41
call fcn.0049a080
mov eax, dword [0x4d5c80]
mov dword [ebp - 0x434c], eax
movzx eax, word [0x4d5c84]
push 0x1fa
mov word [ebp - 0x4348], ax
lea eax, [ebp - 0x4346]
mov dword [ebp - 0x4354], 0x77
mov dword [ebp - 0x4350], 0x42
push 0
push eax
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x414c], 0x78
lea eax, [ebp - 0x413c]
mov dword [ebp - 0x4148], 0x43
mov dword [ebp - 0x4144], 0x310066
mov dword [ebp - 0x4140], 0x30
push 0x1f8
push 0
push eax
call fcn.0049a080
push 0x1f8
lea eax, [ebp - 0x3f34]
mov dword [ebp - 0x3f44], 0x79
push 0
push eax
mov dword [ebp - 0x3f40], 0x44
mov dword [ebp - 0x3f3c], 0x310066
mov dword [ebp - 0x3f38], 0x31
call fcn.0049a080
push 0x1f8
lea eax, [ebp - 0x3d2c]
mov dword [ebp - 0x3d3c], 0x7a
push 0
push eax
mov dword [ebp - 0x3d38], 0x57
mov dword [ebp - 0x3d34], 0x310066
mov dword [ebp - 0x3d30], 0x32
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x3b28]
mov dword [ebp - 0x3b34], 0x7b
push 0
push eax
mov dword [ebp - 0x3b30], 0x58
mov dword [ebp - 0x3b2c], 0x71
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x3920]
mov dword [ebp - 0x392c], 0x51
push 0
push eax
mov dword [ebp - 0x3928], 0x10
mov dword [ebp - 0x3924], 0x77
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x3718]
mov dword [ebp - 0x3724], 0x57
push 0
push eax
mov dword [ebp - 0x3720], 0x11
mov dword [ebp - 0x371c], 0x65
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x351c], 0x45
lea eax, [ebp - 0x3510]
mov dword [ebp - 0x3518], 0x12
mov dword [ebp - 0x3514], 0x72
push 0x1fc
push 0
push eax
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x3308]
mov dword [ebp - 0x3314], 0x52
push 0
push eax
mov dword [ebp - 0x3310], 0x13
mov dword [ebp - 0x330c], 0x74
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x3100]
mov dword [ebp - 0x310c], 0x54
push 0
push eax
mov dword [ebp - 0x3108], 0x14
mov dword [ebp - 0x3104], 0x79
call fcn.0049a080
mov dword [ebp - 0x2f04], 0x59
mov dword [ebp - 0x2f00], 0x15
push 0x1fc
lea eax, [ebp - 0x2ef8]
mov dword [ebp - 0x2efc], 0x75
push 0
push eax
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x2cf0]
mov dword [ebp - 0x2cfc], 0x55
push 0
push eax
mov dword [ebp - 0x2cf8], 0x16
mov dword [ebp - 0x2cf4], 0x69
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x2ae8]
mov dword [ebp - 0x2af4], 0x49
push 0
push eax
mov dword [ebp - 0x2af0], 0x17
mov dword [ebp - 0x2aec], 0x6f
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x28ec], 0x49
lea eax, [ebp - 0x28e0]
mov dword [ebp - 0x28e8], 0x18
mov dword [ebp - 0x28e4], 0x70
push 0x1fc
push 0
push eax
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x26d8]
mov dword [ebp - 0x26e4], 0x50
push 0
push eax
mov dword [ebp - 0x26e0], 0x19
mov dword [ebp - 0x26dc], 0x61
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x24d0]
mov dword [ebp - 0x24dc], 0x41
push 0
push eax
mov dword [ebp - 0x24d8], 0x1e
mov dword [ebp - 0x24d4], 0x73
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x22c8]
mov dword [ebp - 0x22d4], 0x53
push 0
push eax
mov dword [ebp - 0x22d0], 0x1f
mov dword [ebp - 0x22cc], 0x64
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x20c0]
mov dword [ebp - 0x20cc], 0x44
push 0
push eax
mov dword [ebp - 0x20c8], 0x20
mov dword [ebp - 0x20c4], 0x66
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x1eb8]
mov dword [ebp - 0x1ec4], 0x46
push 0
push eax
mov dword [ebp - 0x1ec0], 0x21
mov dword [ebp - 0x1ebc], 0x67
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x1cbc], 0x47
lea eax, [ebp - 0x1cb0]
mov dword [ebp - 0x1cb8], 0x22
mov dword [ebp - 0x1cb4], 0x68
push 0x1fc
push 0
push eax
call fcn.0049a080
mov dword [ebp - 0x1ab4], 0x48
push 0x1fc
lea eax, [ebp - 0x1aa8]
mov dword [ebp - 0x1ab0], 0x23
push 0
push eax
mov dword [ebp - 0x1aac], 0x6a
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x18a0]
mov dword [ebp - 0x18ac], 0x4a
push 0
push eax
mov dword [ebp - 0x18a8], 0x24
mov dword [ebp - 0x18a4], 0x6b
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x1698]
mov dword [ebp - 0x16a4], 0x4b
push 0
push eax
mov dword [ebp - 0x16a0], 0x25
mov dword [ebp - 0x169c], 0x6c
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x1490]
mov dword [ebp - 0x149c], 0x4c
push 0
push eax
mov dword [ebp - 0x1498], 0x26
mov dword [ebp - 0x1494], 0x7a
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x1288]
mov dword [ebp - 0x1294], 0x5a
push 0
push eax
mov dword [ebp - 0x1290], 0x2c
mov dword [ebp - 0x128c], 0x78
call fcn.0049a080
add esp, 0x48
mov dword [ebp - 0x108c], 0x58
lea eax, [ebp - 0x1080]
mov dword [ebp - 0x1088], 0x2d
mov dword [ebp - 0x1084], 0x63
push 0x1fc
push 0
push eax
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0xe78]
mov dword [ebp - 0xe84], 0x43
push 0
push eax
mov dword [ebp - 0xe80], 0x2e
mov dword [ebp - 0xe7c], 0x76
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0xc70]
mov dword [ebp - 0xc7c], 0x56
push 0
push eax
mov dword [ebp - 0xc78], 0x2f
mov dword [ebp - 0xc74], 0x62
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0xa68]
mov dword [ebp - 0xa74], 0x42
push 0
push eax
mov dword [ebp - 0xa70], 0x30
mov dword [ebp - 0xa6c], 0x6e
call fcn.0049a080
push 0x1fc
lea eax, [ebp - 0x860]
mov dword [ebp - 0x86c], 0x4e
push 0
push eax
mov dword [ebp - 0x868], 0x31
mov dword [ebp - 0x864], 0x6d
call fcn.0049a080
add esp, 0x3c
mov dword [ebp - 0x664], 0x4d
xor ebx, ebx
mov dword [ebp - 0x660], 0x32
nop dword [eax + eax]
push esi
push 0x100
lea eax, [ebp - 0x61c]
push eax
push 0x4c44d4
push dword [ebp + ebx*4 - 0x658]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [ebp - 0x41c]
push eax
lea edx, [ebp - 0x21c]
lea ecx, [ebp - 0x61c]
call fcn.00449280
add esp, 4
mov dword [ebp - 0x7e44], 0
cmp word [ebp - 0x21c], 0
mov dword [ebp - 0x7e40], 0
mov dword [ebp - 0x7e48], 0
mov dword [ebp - 0x7e3c], 0
je 0x44b21a
xor esi, esi
lea edi, [ebp - 0x7e34]
lea eax, [ebp - 0x21c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x44b1f8
inc esi
add edi, 0x208
cmp esi, 0x3b
jl 0x44b1d8
jmp 0x44b21a
imul eax, esi, 0x208
movzx ecx, word [ebp + eax - 0x7c34]
movzx eax, word [ebp + eax - 0x7c30]
mov dword [ebp - 0x7e44], ecx
mov dword [ebp - 0x7e48], eax
cmp word [ebp - 0x41c], 0
je 0x44b24e
xor esi, esi
lea edi, [ebp - 0x7e34]
nop dword [eax]
lea eax, [ebp - 0x41c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x44b2b5
inc esi
add edi, 0x208
cmp esi, 0x3b
jl 0x44b230
mov ecx, dword [ebp - 0x7e40]
mov edx, dword [ebp - 0x7e3c]
mov eax, dword [ebp - 0x7e44]
test ax, ax
je 0x44b2e4
mov esi, dword [ebp - 0x7e48]
mov edi, 0x15b3
movzx ecx, cx
shl ecx, 0x10
movzx eax, ax
or ecx, eax
movzx eax, si
mov dword [ebx*4 + 0x509380], ecx
movzx ecx, dx
shl ecx, 0x10
or ecx, eax
mov dword [ebx*4 + 0x4fc080], ecx
cmp si, di
je 0x44b29e
cmp dx, di
jne 0x44b2fa
cmp ebx, 0xa
jne 0x44b2cd
mov esi, dword [ebp - 0x7e38]
mov dword [0x4fc034], ebx
inc ebx
jmp 0x44b160
imul eax, esi, 0x208
movzx ecx, word [ebp + eax - 0x7c34]
movzx edx, word [ebp + eax - 0x7c30]
jmp 0x44b25a
cmp ebx, 0xb
jne 0x44b2fa
mov esi, dword [ebp - 0x7e38]
mov dword [0x4fc034], ebx
inc ebx
jmp 0x44b160
mov dword [ebx*4 + 0x4fc080], 0
mov dword [ebx*4 + 0x509380], 0
mov esi, dword [ebp - 0x7e38]
inc ebx
cmp ebx, 0xf
jl 0x44b160
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00495852
mov esp, ebp
pop ebp
ret 4