Function at 0x552700
Capabilities:
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x6462a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
mov al, byte [0x16c78d8]
xor ebx, ebx
test al, 1
mov dword [esp + 0x1c], ebx
mov esi, 0x16c78c0
jne 0x55278d
mov edx, dword [0x16c78d8]
xor eax, eax
or edx, 1
mov dword [0x16c78d8], edx
mov ecx, eax
mov edx, eax
mov dword [0x16c78c0], eax
mov dword [0x16c78cc], eax
mov al, byte [esp + 0xb]
mov dword [0x16c78c4], ecx
mov dword [0x16c78c8], edx
push 0x652270
mov byte [0x16c78c0], bl
mov dword [0x16c78c4], ebx
mov dword [0x16c78c8], esi
mov dword [0x16c78cc], esi
mov dword [0x16c78d0], ebx
mov byte [0x16c78d4], al
call fcn.00612386
add esp, 4
cmp dword [0x16c78d0], ebx
jne 0x552ddb
push str.VK_BACK
mov ecx, esi
call fcn.00550a50
push str.VK_TAB
mov ecx, esi
mov dword [eax], 8
call fcn.00550a50
push str.VK_RETURN
mov ecx, esi
mov dword [eax], 9
call fcn.00550a50
push str.VK_SHIFT
mov ecx, esi
mov dword [eax], 0xd
call fcn.00550a50
push str.VK_CONTROL
mov ecx, esi
mov dword [eax], 0x10
call fcn.00550a50
push str.VK_MENU
mov ecx, esi
mov dword [eax], 0x11
call fcn.00550a50
push str.VK_PAUSE
mov ecx, esi
mov dword [eax], 0x12
call fcn.00550a50
push str.VK_CAPITAL
mov ecx, esi
mov dword [eax], 0x13
call fcn.00550a50
push str.VK_ESCAPE
mov ecx, esi
mov dword [eax], 0x14
call fcn.00550a50
push str.VK_SPACE
mov ecx, esi
mov dword [eax], 0x1b
call fcn.00550a50
push str.VK_PRIOR
mov ecx, esi
mov dword [eax], 0x20
call fcn.00550a50
push str.VK_NEXT
mov ecx, esi
mov dword [eax], 0x21
call fcn.00550a50
push str.VK_END
mov ecx, esi
mov dword [eax], 0x22
call fcn.00550a50
push str.VK_HOME
mov ecx, esi
mov dword [eax], 0x23
call fcn.00550a50
push str.VK_LEFT
mov ecx, esi
mov dword [eax], 0x24
call fcn.00550a50
push str.VK_UP
mov ecx, esi
mov dword [eax], 0x25
call fcn.00550a50
push str.VK_RIGHT
mov ecx, esi
mov dword [eax], 0x26
call fcn.00550a50
push str.VK_DOWN
mov ecx, esi
mov dword [eax], 0x27
call fcn.00550a50
push str.VK_INSERT
mov ecx, esi
mov dword [eax], 0x28
call fcn.00550a50
push str.VK_DELETE
mov ecx, esi
mov dword [eax], 0x2d
call fcn.00550a50
mov dword [eax], 0x2e
push str.VK_LWIN
mov ecx, esi
call fcn.00550a50
push str.VK_RWIN
mov ecx, esi
mov dword [eax], 0x5b
call fcn.00550a50
push str.VK_APPS
mov ecx, esi
mov dword [eax], 0x5c
call fcn.00550a50
push str.VK_0
mov ecx, esi
mov dword [eax], 0x5d
call fcn.00550a50
push str.VK_1
mov ecx, esi
mov dword [eax], 0x30
call fcn.00550a50
push str.VK_2
mov ecx, esi
mov dword [eax], 0x31
call fcn.00550a50
push str.VK_3
mov ecx, esi
mov dword [eax], 0x32
call fcn.00550a50
push str.VK_4
mov ecx, esi
mov dword [eax], 0x33
call fcn.00550a50
push str.VK_5
mov ecx, esi
mov dword [eax], 0x34
call fcn.00550a50
push str.VK_6
mov ecx, esi
mov dword [eax], 0x35
call fcn.00550a50
push str.VK_7
mov ecx, esi
mov dword [eax], 0x36
call fcn.00550a50
push str.VK_8
mov ecx, esi
mov dword [eax], 0x37
call fcn.00550a50
push str.VK_9
mov ecx, esi
mov dword [eax], 0x38
call fcn.00550a50
push str.VK_A
mov ecx, esi
mov dword [eax], 0x39
call fcn.00550a50
push str.VK_B
mov ecx, esi
mov dword [eax], 0x41
call fcn.00550a50
push str.VK_C
mov ecx, esi
mov dword [eax], 0x42
call fcn.00550a50
push str.VK_D
mov ecx, esi
mov dword [eax], 0x43
call fcn.00550a50
push str.VK_E
mov ecx, esi
mov dword [eax], 0x44
call fcn.00550a50
push str.VK_F
mov ecx, esi
mov dword [eax], 0x45
call fcn.00550a50
push str.VK_G
mov ecx, esi
mov dword [eax], 0x46
call fcn.00550a50
mov dword [eax], 0x47
push str.VK_H
mov ecx, esi
call fcn.00550a50
push str.VK_I
mov ecx, esi
mov dword [eax], 0x48
call fcn.00550a50
push str.VK_J
mov ecx, esi
mov dword [eax], 0x49
call fcn.00550a50
push str.VK_K
mov ecx, esi
mov dword [eax], 0x4a
call fcn.00550a50
push str.VK_L
mov ecx, esi
mov dword [eax], 0x4b
call fcn.00550a50
push str.VK_M
mov ecx, esi
mov dword [eax], 0x4c
call fcn.00550a50
push str.VK_N
mov ecx, esi
mov dword [eax], 0x4d
call fcn.00550a50
push str.VK_O
mov ecx, esi
mov dword [eax], 0x4e
call fcn.00550a50
push str.VK_P
mov ecx, esi
mov dword [eax], 0x4f
call fcn.00550a50
push str.VK_Q
mov ecx, esi
mov dword [eax], 0x50
call fcn.00550a50
push str.VK_R
mov ecx, esi
mov dword [eax], 0x51
call fcn.00550a50
push str.VK_S
mov ecx, esi
mov dword [eax], 0x52
call fcn.00550a50
push str.VK_T
mov ecx, esi
mov dword [eax], 0x53
call fcn.00550a50
push str.VK_U
mov ecx, esi
mov dword [eax], 0x54
call fcn.00550a50
push str.VK_V
mov ecx, esi
mov dword [eax], 0x55
call fcn.00550a50
push str.VK_W
mov ecx, esi
mov dword [eax], 0x56
call fcn.00550a50
push str.VK_X
mov ecx, esi
mov dword [eax], 0x57
call fcn.00550a50
push str.VK_Y
mov ecx, esi
mov dword [eax], 0x58
call fcn.00550a50
push str.VK_Z
mov ecx, esi
mov dword [eax], 0x59
call fcn.00550a50
push str.VK_NUMPAD0
mov ecx, esi
mov dword [eax], 0x5a
call fcn.00550a50
push str.VK_NUMPAD1
mov ecx, esi
mov dword [eax], 0x60
call fcn.00550a50
push str.VK_NUMPAD2
mov ecx, esi
mov dword [eax], 0x61
call fcn.00550a50
push str.VK_NUMPAD3
mov ecx, esi
mov dword [eax], 0x62
call fcn.00550a50
push str.VK_NUMPAD4
mov ecx, esi
mov dword [eax], 0x63
call fcn.00550a50
push str.VK_NUMPAD5
mov ecx, esi
mov dword [eax], 0x64
call fcn.00550a50
push str.VK_NUMPAD6
mov ecx, esi
mov dword [eax], 0x65
call fcn.00550a50
push str.VK_NUMPAD7
mov ecx, esi
mov dword [eax], 0x66
call fcn.00550a50
push str.VK_NUMPAD8
mov ecx, esi
mov dword [eax], 0x67
call fcn.00550a50
push str.VK_NUMPAD9
mov ecx, esi
mov dword [eax], 0x68
call fcn.00550a50
push str.VK_MULTIPLY
mov ecx, esi
mov dword [eax], 0x69
call fcn.004ab820
push str.VK_ADD
mov ecx, esi
mov dword [eax], 0x6a
call fcn.00550a50
push str.VK_SEPARATOR
mov ecx, esi
mov dword [eax], 0x6b
call fcn.004ab820
push str.VK_SUBTRACT
mov ecx, esi
mov dword [eax], 0x6c
call fcn.004ab820
push str.VK_DECIMAL
mov ecx, esi
mov dword [eax], 0x6d
call fcn.00550a50
push str.VK_DIVIDE
mov ecx, esi
mov dword [eax], 0x6e
call fcn.00550a50
push str.VK_F1
mov ecx, esi
mov dword [eax], 0x6f
call fcn.00550a50
push str.VK_F2
mov ecx, esi
mov dword [eax], 0x70
call fcn.00550a50
push str.VK_F3
mov ecx, esi
mov dword [eax], 0x71
call fcn.00550a50
push str.VK_F4
mov ecx, esi
mov dword [eax], 0x72
call fcn.00550a50
push str.VK_F5
mov ecx, esi
mov dword [eax], 0x73
call fcn.00550a50
push str.VK_F6
mov ecx, esi
mov dword [eax], 0x74
call fcn.00550a50
mov dword [eax], 0x75
push str.VK_F7
mov ecx, esi
call fcn.00550a50
push str.VK_F8
mov ecx, esi
mov dword [eax], 0x76
call fcn.00550a50
push str.VK_F9
mov ecx, esi
mov dword [eax], 0x77
call fcn.00550a50
push str.VK_F10
mov ecx, esi
mov dword [eax], 0x78
call fcn.00550a50
push str.VK_F11
mov ecx, esi
mov dword [eax], 0x79
call fcn.00550a50
push str.VK_F12
mov ecx, esi
mov dword [eax], 0x7a
call fcn.00550a50
push str.VK_NUMLOCK
mov ecx, esi
mov dword [eax], 0x7b
call fcn.00550a50
push str.VK_SCROLL
mov ecx, esi
mov dword [eax], 0x90
call fcn.00550a50
mov dword [eax], 0x91
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00448db0
cmp eax, esi
jne 0x552e33
push 0x7d
push str.c:work_fishdom_aqua_gameKeyListeningControl.h
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x2c], esp
lea edx, [esp + 0x2b]
push edx
push str.map.find_image____map.end__
call fcn.00403db0
sub esp, 0x18
mov ecx, esp
mov dword [esp + 0x48], esp
lea eax, [esp + 0x43]
push eax
push str.Assertion_failed
mov byte [esp + 0x5c], 1
call fcn.00403db0
mov byte [esp + 0x54], bl
call fcn.00405c50
add esp, 0x38
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0053fca0
mov esi, dword [eax]
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x34]
cmp eax, edx
mov dword [esp + 0x1c], 0xffffffff
je 0x552e8c
mov ecx, dword [esp + 0x24]
cmp ecx, ebx
je 0x552e8c
sub eax, ecx
cmp eax, 0x80
jbe 0x552e82
push ecx
call fcn.00611869
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop esi
pop ebx
add esp, 0x18
ret
push eax
push ecx
call fcn.005d6970
add esp, 8
mov ecx, dword [esp + 0x14]
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x18
ret