Function at 0x432260
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x458903
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
mov eax, dword [0x476a54]
xor eax, dword [ebp + 4]
push ebx
push esi
push edi
mov esi, ecx
push fcn.00402090
push fcn.0040f780
push 0x138
mov dword [esp + 0x160], eax
xor edi, edi
lea eax, [esi + 0x348]
push 4
push eax
mov dword [esp + 0x60], esi
mov dword [esi], fcn.00431b20
mov byte [esi + 4], 0
mov byte [esi + 5], 0
mov byte [esi + 6], 0
mov dword [esi + 0x338], edi
mov dword [esi + 0x33c], edi
mov dword [esi + 0x340], edi
mov dword [esi + 0x344], edi
call fcn.0043c5a3
push str.Starting...
push str.UveInput::UveInput
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push str._s__:__s
mov dword [esp + 0x174], edi
mov byte [esi + 0x828], 0
mov dword [esi + 0x840], edi
mov dword [esi + 0x844], 0x3ff00000
mov dword [esi + 0x848], edi
mov dword [esi + 0x84c], edi
mov dword [esi + 0x850], edi
mov dword [esi + 0x854], edi
mov dword [esi + 0x858], edi
mov dword [esi + 0x85c], edi
mov dword [esi + 0x860], edi
mov dword [esi + 0x864], edi
mov dword [esi + 0x868], edi
mov dword [esi + 0x86c], edi
mov dword [esi + 0x870], edi
mov dword [esi + 0x874], edi
mov byte [esi + 0x878], 1
mov byte [esi + 0x879], 1
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f150
xor eax, eax
xor edx, edx
mov ecx, 0x4e
lea edi, [esi + 7]
rep stosd dword es:[edi], eax
mov ecx, 0x4e
lea edi, [esi + 0x13f]
rep stosd dword es:[edi], eax
lea eax, [esi + 0x278]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
xor ecx, ecx
lea edx, [esi + 0x288]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
add esp, 0x10
xor eax, eax
mov ecx, 0x14
lea edi, [esi + 0x2e8]
rep stosd dword es:[edi], eax
mov ecx, 0x14
lea edi, [esi + 0x298]
rep stosd dword es:[edi], eax
mov ecx, esi
mov byte [esi + 4], 1
call fcn.00431b20
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.._ChickenInvaders2.cfg
push 0x100
mov edi, eax
mov ecx, dword [edi]
lea eax, [esp + 0x58]
push eax
push 0x45a67d
push str.bTrackKeyboard
push ecx
call ebx
test eax, eax
jle 0x43241d
cmp byte [esp + 0x50], 0x59
sete dl
mov byte [esi + 4], dl
mov al, byte [esi + 4]
test al, al
mov eax, 0x4688e4
jne 0x43242e
mov eax, 0x4688e0
push str.._ChickenInvaders2.cfg
push eax
mov eax, dword [edi]
push str.bTrackKeyboard
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.._ChickenInvaders2.cfg
push 0x100
lea ecx, [esp + 0x58]
push ecx
push 0x45a67d
mov byte [esi + 5], 1
mov edx, dword [edi]
push str.bTrackMouse
push edx
call ebx
test eax, eax
jle 0x432473
cmp byte [esp + 0x50], 0x59
sete al
mov byte [esi + 5], al
mov al, byte [esi + 5]
test al, al
mov eax, 0x4688e4
jne 0x432484
mov eax, 0x4688e0
mov ecx, dword [edi]
push str.._ChickenInvaders2.cfg
push eax
push str.bTrackMouse
push ecx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push str.._ChickenInvaders2.cfg
push 0x100
lea edx, [esp + 0x58]
push edx
push 0x45a67d
mov byte [esi + 6], 1
mov eax, dword [edi]
push str.bTrackJoystick
push eax
call ebx
test eax, eax
jle 0x4324c9
cmp byte [esp + 0x50], 0x59
sete cl
mov byte [esi + 6], cl
mov al, byte [esi + 6]
test al, al
mov eax, 0x4688e4
jne 0x4324da
mov eax, 0x4688e0
mov edx, dword [edi]
push str.._ChickenInvaders2.cfg
push eax
push str.bTrackJoystick
push edx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, dword [edi]
push str.._ChickenInvaders2.cfg
push 0x100
lea eax, [esp + 0x58]
push eax
push 0x45a67d
push str.joystickDeadZone
push ecx
mov dword [esp + 0x30], 0x9999999a
mov dword [esp + 0x34], 0x3fc99999
call ebx
test eax, eax
jle 0x432547
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x54]
push 0x4688d0
push eax
call fcn.0043d185
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.00448d4a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea edx, [esp + 0x14]
push str._.8lf
push edx
mov byte [esp + 0x174], 1
call fcn.0041ac70
mov ebx, dword [esp + 0x1c]
mov eax, dword [edi]
add esp, 0x10
push str.._ChickenInvaders2.cfg
push ebx
push str.joystickDeadZone
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [ebx - 0x10]
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4325b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.004532f5
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x40]
push 0
lea edi, [esi + 0x338]
push edi
push 0x46b358
push 0x700
push eax
call sub.DINPUT.dll_DirectInputCreateEx
test eax, eax
jge 0x432659
mov edx, dword [0x477970]
push 0x2d
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.DirectInputCreateEx_FASTINSTANCE__DIRECTINPUT_VERSION__IID_IDirectInput7___LPVOID_dxInput__NULL_
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [edx + 0x10]
call fcn.0040f8c0
mov eax, dword [eax]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 2
call fcn.004022f0
mov ecx, dword [0x477970]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432659
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, byte [esi + 4]
test al, al
je 0x43281a
mov eax, dword [edi]
mov ecx, dword [eax]
push 0
lea ebx, [esi + 0x33c]
push ebx
push 0x46b348
push 0x46b298
push eax
call dword [ecx + 0x24]
test eax, eax
jge 0x4326fb
push 0x33
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.dxInput__CreateDeviceEx_GUID_SysKeyboard__IID_IDirectInputDevice7___LPVOID_keyboardDevice__NULL_
push eax
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x20]
push edx
call fcn.0040f8c0
mov ecx, dword [eax]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 3
call fcn.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 0x10]
push eax
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4326fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebx]
mov ecx, dword [eax]
push 0x46b3a8
push eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x432784
push 0x34
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.keyboardDevice__SetDataFormat_c_dfDIKeyboard_
push eax
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x20]
push edx
call fcn.0040f8c0
mov ecx, dword [eax]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 4
call fcn.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 0x10]
push eax
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432784
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.004532f5
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x1c]
mov ecx, dword [ebx]
mov edx, dword [ecx]
push 6
push eax
push ecx
call dword [edx + 0x34]
test eax, eax
jge 0x43281a
mov edx, dword [0x477970]
push 0x35
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.keyboardDevice__SetCooperativeLevel_FASTWINDOWHANDLE_DISCL_FOREGROUND__DISCL_NONEXCLUSIVE_
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [edx + 0x10]
call fcn.0040f8c0
mov eax, dword [eax]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 5
call fcn.004022f0
mov ecx, dword [0x477970]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43281a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, byte [esi + 5]
test al, al
je 0x4329ec
mov eax, dword [edi]
mov ecx, dword [eax]
push 0
lea ebx, [esi + 0x340]
push ebx
push 0x46b348
push 0x46b2a8
push eax
call dword [ecx + 0x24]
test eax, eax
jge 0x4328bc
push 0x3b
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.dxInput__CreateDeviceEx_GUID_SysMouse__IID_IDirectInputDevice7___LPVOID_mouseDevice__NULL_
push eax
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x20]
push edx
call fcn.0040f8c0
mov ecx, dword [eax]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 6
call fcn.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 0x10]
push eax
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4328bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebx]
mov ecx, dword [eax]
push 0x46b390
push eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x432945
push 0x3c
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.mouseDevice__SetDataFormat_c_dfDIMouse_
push eax
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x20]
push edx
call fcn.0040f8c0
mov ecx, dword [eax]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 7
call fcn.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 0x10]
push eax
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432945
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.004532f5
mov ecx, dword [ebx]
mov edi, dword [0x477970]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x1c]
mov edx, dword [ecx]
xor ebx, ebx
cmp byte [edi + 8], bl
sete bl
inc ebx
or ebx, 4
push ebx
push eax
push ecx
call dword [edx + 0x34]
test eax, eax
jge 0x4329ec
mov edx, dword [0x477970]
push 0x3f
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.mouseDevice__SetCooperativeLevel_FASTWINDOWHANDLE_DISCL_FOREGROUND___uve__bRelease_DISCL_EXCLUSIVE:DISCL_NONEXCLUSIVE__
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [edx + 0x10]
call fcn.0040f8c0
mov eax, dword [eax]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 8
call fcn.004022f0
mov ecx, dword [0x477970]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4329ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, byte [esi + 6]
test al, al
je 0x432e8d
mov eax, dword [esi + 0x338]
mov ecx, dword [eax]
mov ebx, 1
push ebx
push esi
push 0x432100
push 4
push eax
call dword [ecx + 0x10]
test eax, eax
jge 0x432a8d
push 0x45
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.dxInput__EnumDevices_DIDEVTYPE_JOYSTICK__UveInput::enumerateCallback__this__DIEDFL_ATTACHEDONLY_
push eax
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
lea edx, [esp + 0x20]
push edx
call fcn.0040f8c0
mov ecx, dword [eax]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 9
call fcn.004022f0
mov edx, dword [0x477970]
mov eax, dword [edx + 0x10]
push eax
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432a8d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x344]
test eax, eax
jne 0x432ac8
push str.Did_not_find_any_joysticks.
push str.UveInput::UveInput
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str._s__:__s
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041f150
add esp, 0x10
jmp 0x432e8d
mov edx, dword [eax]
push 0x46b378
push eax
call dword [edx + 0x2c]
test eax, eax
jge 0x432b4f
mov ecx, dword [0x477970]
mov ecx, dword [ecx + 0x10]
push 0x4c
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.joystickDevice__SetDataFormat_c_dfDIJoystick_
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040f8c0
mov edx, dword [eax]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 0xa
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x432b4f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.004532f5
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi + 0x344]
mov edx, dword [ecx]
push 6
push eax
push ecx
call dword [edx + 0x34]
test eax, eax
jge 0x432be9
mov edx, dword [0x477970]
push 0x4e
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.joystickDevice__SetCooperativeLevel_FASTWINDOWHANDLE__DISCL_FOREGROUND__DISCL_NONEXCLUSIVE_
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [edx + 0x10]
call fcn.0040f8c0
mov eax, dword [eax]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 0xb
call fcn.004022f0
mov ecx, dword [0x477970]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432be9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x344]
lea edx, [esp + 0x34]
push edx
mov edi, 0x10
push 4
mov dword [esp + 0x3c], 0x18
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], 0xfffffc18
mov dword [esp + 0x50], 0x3e8
mov dword [esp + 0x44], 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jge 0x432ca5
mov ecx, dword [0x477970]
mov ecx, dword [ecx + 0x10]
push 0x59
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.joystickDevice__SetProperty_DIPROP_RANGE__diprg.diph_
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040f8c0
mov edx, dword [eax]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 0xc
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x432ca5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x344]
lea edx, [esp + 0x34]
push edx
push 4
mov dword [esp + 0x44], 4
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jge 0x432d3c
mov ecx, dword [0x477970]
mov ecx, dword [ecx + 0x10]
push 0x5b
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.joystickDevice__SetProperty_DIPROP_RANGE__diprg.diph_
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040f8c0
mov edx, dword [eax]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 0xd
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x432d3c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
fld qword [esp + 0x18]
mov dword [esp + 0x20], 0x14
fmul qword [0x467cf0]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], ebx
call fcn.0043bf30
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x344]
push 5
mov dword [esp + 0x30], 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jge 0x432df6
mov ecx, dword [0x477970]
mov ecx, dword [ecx + 0x10]
push 0x65
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.joystickDevice__SetProperty_DIPROP_DEADZONE__dipdz.diph_
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040f8c0
mov edx, dword [eax]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 0xe
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x432df6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x344]
lea edx, [esp + 0x20]
push edx
push 5
mov dword [esp + 0x30], 4
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
test eax, eax
jge 0x432e8d
mov ecx, dword [0x477970]
mov ecx, dword [ecx + 0x10]
push 0x67
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.joystickDevice__SetProperty_DIPROP_DEADZONE__dipdz.diph_
push eax
lea eax, [esp + 0x20]
push eax
call fcn.0040f8c0
mov edx, dword [eax]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
mov byte [esp + 0x180], 0xf
call fcn.004022f0
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00413050
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x164], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x432e8d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [0x477970]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0xc]
fild dword [esp + 0xc]
cdq
push 0
push 0
sub eax, edx
sub esp, 0x10
sar eax, 1
mov dword [esp + 0x24], eax
fstp qword [esp + 8]
mov ecx, esi
fild dword [esp + 0x24]
fstp qword [esp]
call fcn.00431f00
mov ecx, dword [0x477970]
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
push ecx
push eax
push 0
push 0
lea edx, [esi + 0x82c]
push edx
call dword [sym.imp.USER32.dll_SetRect]
xor edi, edi
lea ebx, [esi + 0x348]
push edi
push str.DIK_unknown__d
push ebx
call fcn.0041ac70
add esp, 0xc
inc edi
add ebx, 4
cmp edi, 0x138
jl 0x432ef4
mov eax, str.DIK_
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x432f17
sub eax, edx
push eax
push str.DIK_
lea ecx, [esi + 0x348]
call fcn.004021a0
mov eax, str.DIK_ESCAPE
lea ecx, [esi + 0x34c]
lea edi, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432f40
sub eax, edi
push eax
push str.DIK_ESCAPE
call fcn.004021a0
mov eax, str.DIK_1
lea ecx, [esi + 0x350]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432f62
sub eax, edi
push eax
push str.DIK_1
call fcn.004021a0
mov eax, str.DIK_2
lea ecx, [esi + 0x354]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432f84
sub eax, edi
push eax
push str.DIK_2
call fcn.004021a0
mov eax, str.DIK_3
lea ecx, [esi + 0x358]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432fa6
sub eax, edi
push eax
push str.DIK_3
call fcn.004021a0
mov eax, str.DIK_4
lea ecx, [esi + 0x35c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432fc8
sub eax, edi
push eax
push str.DIK_4
call fcn.004021a0
mov eax, str.DIK_5
lea ecx, [esi + 0x360]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x432ff0
sub eax, edi
push eax
push str.DIK_5
call fcn.004021a0
mov eax, str.DIK_6
lea ecx, [esi + 0x364]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433012
sub eax, edi
push eax
push str.DIK_6
call fcn.004021a0
mov eax, str.DIK_7
lea ecx, [esi + 0x368]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433034
sub eax, edi
push eax
push str.DIK_7
call fcn.004021a0
mov eax, str.DIK_8
lea ecx, [esi + 0x36c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433056
sub eax, edi
push eax
push str.DIK_8
call fcn.004021a0
mov eax, str.DIK_9
lea ecx, [esi + 0x370]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433078
sub eax, edi
push eax
push str.DIK_9
call fcn.004021a0
mov eax, str.DIK_0
lea ecx, [esi + 0x374]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4330a0
sub eax, edi
push eax
push str.DIK_0
call fcn.004021a0
mov eax, str.DIK_MINUS
lea ecx, [esi + 0x378]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4330c2
sub eax, edi
push eax
push str.DIK_MINUS
call fcn.004021a0
mov eax, str.DIK_EQUALS
lea ecx, [esi + 0x37c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4330e4
sub eax, edi
push eax
push str.DIK_EQUALS
call fcn.004021a0
mov eax, str.DIK_BACK
lea ecx, [esi + 0x380]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433106
sub eax, edi
push eax
push str.DIK_BACK
call fcn.004021a0
mov eax, str.DIK_TAB
lea ecx, [esi + 0x384]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433128
sub eax, edi
push eax
push str.DIK_TAB
call fcn.004021a0
mov eax, str.DIK_Q
lea ecx, [esi + 0x388]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433150
sub eax, edi
push eax
push str.DIK_Q
call fcn.004021a0
mov eax, str.DIK_W
lea ecx, [esi + 0x38c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433172
sub eax, edi
push eax
push str.DIK_W
call fcn.004021a0
mov eax, str.DIK_E
lea ecx, [esi + 0x390]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433194
sub eax, edi
push eax
push str.DIK_E
call fcn.004021a0
mov eax, str.DIK_R
lea ecx, [esi + 0x394]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4331b6
sub eax, edi
push eax
push str.DIK_R
call fcn.004021a0
mov eax, str.DIK_T
lea ecx, [esi + 0x398]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4331d8
sub eax, edi
push eax
push str.DIK_T
call fcn.004021a0
mov eax, str.DIK_Y
lea ecx, [esi + 0x39c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433200
sub eax, edi
push eax
push str.DIK_Y
call fcn.004021a0
mov eax, str.DIK_U
lea ecx, [esi + 0x3a0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433222
sub eax, edi
push eax
push str.DIK_U
call fcn.004021a0
mov eax, str.DIK_I
lea ecx, [esi + 0x3a4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433244
sub eax, edi
push eax
push str.DIK_I
call fcn.004021a0
mov eax, str.DIK_O
lea ecx, [esi + 0x3a8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433266
sub eax, edi
push eax
push str.DIK_O
call fcn.004021a0
mov eax, str.DIK_P
lea ecx, [esi + 0x3ac]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433288
sub eax, edi
push eax
push str.DIK_P
call fcn.004021a0
mov eax, str.DIK_LBRACKET
lea ecx, [esi + 0x3b0]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4332b0
sub eax, edi
push eax
push str.DIK_LBRACKET
call fcn.004021a0
mov eax, str.DIK_RBRACKET
lea ecx, [esi + 0x3b4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4332d2
sub eax, edi
push eax
push str.DIK_RBRACKET
call fcn.004021a0
mov eax, str.DIK_RETURN
lea ecx, [esi + 0x3b8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4332f4
sub eax, edi
push eax
push str.DIK_RETURN
call fcn.004021a0
mov eax, str.DIK_LCONTROL
lea ecx, [esi + 0x3bc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433316
sub eax, edi
push eax
push str.DIK_LCONTROL
call fcn.004021a0
mov eax, str.DIK_A
lea ecx, [esi + 0x3c0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433338
sub eax, edi
push eax
push str.DIK_A
call fcn.004021a0
mov eax, str.DIK_S
lea ecx, [esi + 0x3c4]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433360
sub eax, edi
push eax
push str.DIK_S
call fcn.004021a0
mov eax, str.DIK_D
lea ecx, [esi + 0x3c8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433382
sub eax, edi
push eax
push str.DIK_D
call fcn.004021a0
mov eax, str.DIK_F
lea ecx, [esi + 0x3cc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4333a4
sub eax, edi
push eax
push str.DIK_F
call fcn.004021a0
mov eax, str.DIK_G
lea ecx, [esi + 0x3d0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4333c6
sub eax, edi
push eax
push str.DIK_G
call fcn.004021a0
mov eax, str.DIK_H
lea ecx, [esi + 0x3d4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4333e8
sub eax, edi
push eax
push str.DIK_H
call fcn.004021a0
mov eax, str.DIK_J
lea ecx, [esi + 0x3d8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433410
sub eax, edi
push eax
push str.DIK_J
call fcn.004021a0
mov eax, str.DIK_K
lea ecx, [esi + 0x3dc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433432
sub eax, edi
push eax
push str.DIK_K
call fcn.004021a0
mov eax, str.DIK_L
lea ecx, [esi + 0x3e0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433454
sub eax, edi
push eax
push str.DIK_L
call fcn.004021a0
mov eax, str.DIK_SEMICOLON
lea ecx, [esi + 0x3e4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433476
sub eax, edi
push eax
push str.DIK_SEMICOLON
call fcn.004021a0
mov eax, str.DIK_APOSTROPHE
lea ecx, [esi + 0x3e8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433498
sub eax, edi
push eax
push str.DIK_APOSTROPHE
call fcn.004021a0
mov eax, str.DIK_GRAVE
lea ecx, [esi + 0x3ec]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4334c0
sub eax, edi
push eax
push str.DIK_GRAVE
call fcn.004021a0
mov eax, str.DIK_LSHIFT
lea ecx, [esi + 0x3f0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4334e2
sub eax, edi
push eax
push str.DIK_LSHIFT
call fcn.004021a0
mov eax, str.DIK_BACKSLASH
lea ecx, [esi + 0x3f4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433504
sub eax, edi
push eax
push str.DIK_BACKSLASH
call fcn.004021a0
mov eax, str.DIK_Z
lea ecx, [esi + 0x3f8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433526
sub eax, edi
push eax
push str.DIK_Z
call fcn.004021a0
mov eax, str.DIK_X
lea ecx, [esi + 0x3fc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433548
sub eax, edi
push eax
push str.DIK_X
call fcn.004021a0
mov eax, str.DIK_C
lea ecx, [esi + 0x400]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433570
sub eax, edi
push eax
push str.DIK_C
call fcn.004021a0
mov eax, str.DIK_V
lea ecx, [esi + 0x404]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433592
sub eax, edi
push eax
push str.DIK_V
call fcn.004021a0
mov eax, str.DIK_B
lea ecx, [esi + 0x408]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4335b4
sub eax, edi
push eax
push str.DIK_B
call fcn.004021a0
mov eax, str.DIK_N
lea ecx, [esi + 0x40c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4335d6
sub eax, edi
push eax
push str.DIK_N
call fcn.004021a0
mov eax, str.DIK_M
lea ecx, [esi + 0x410]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4335f8
sub eax, edi
push eax
push str.DIK_M
call fcn.004021a0
mov eax, str.DIK_COMMA
lea ecx, [esi + 0x414]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433620
sub eax, edi
push eax
push str.DIK_COMMA
call fcn.004021a0
mov eax, str.DIK_PERIOD
lea ecx, [esi + 0x418]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433642
sub eax, edi
push eax
push str.DIK_PERIOD
call fcn.004021a0
mov eax, str.DIK_SLASH
lea ecx, [esi + 0x41c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433664
sub eax, edi
push eax
push str.DIK_SLASH
call fcn.004021a0
mov eax, str.DIK_RSHIFT
lea ecx, [esi + 0x420]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433686
sub eax, edi
push eax
push str.DIK_RSHIFT
call fcn.004021a0
mov eax, str.DIK_MULTIPLY
lea ecx, [esi + 0x424]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4336a8
sub eax, edi
push eax
push str.DIK_MULTIPLY
call fcn.004021a0
mov eax, str.DIK_LMENU
lea ecx, [esi + 0x428]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4336d0
sub eax, edi
push eax
push str.DIK_LMENU
call fcn.004021a0
mov eax, str.DIK_SPACE
lea ecx, [esi + 0x42c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4336f2
sub eax, edi
push eax
push str.DIK_SPACE
call fcn.004021a0
mov eax, str.DIK_CAPITAL
lea ecx, [esi + 0x430]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433714
sub eax, edi
push eax
push str.DIK_CAPITAL
call fcn.004021a0
mov eax, str.DIK_F1
lea ecx, [esi + 0x434]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433736
sub eax, edi
push eax
push str.DIK_F1
call fcn.004021a0
mov eax, str.DIK_F2
lea ecx, [esi + 0x438]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433758
sub eax, edi
push eax
push str.DIK_F2
call fcn.004021a0
mov eax, str.DIK_F3
lea ecx, [esi + 0x43c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433780
sub eax, edi
push eax
push str.DIK_F3
call fcn.004021a0
mov eax, str.DIK_F4
lea ecx, [esi + 0x440]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4337a2
sub eax, edi
push eax
push str.DIK_F4
call fcn.004021a0
mov eax, str.DIK_F5
lea ecx, [esi + 0x444]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4337c4
sub eax, edi
push eax
push str.DIK_F5
call fcn.004021a0
mov eax, str.DIK_F6
lea ecx, [esi + 0x448]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4337e6
sub eax, edi
push eax
push str.DIK_F6
call fcn.004021a0
mov eax, str.DIK_F7
lea ecx, [esi + 0x44c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433808
sub eax, edi
push eax
push str.DIK_F7
call fcn.004021a0
mov eax, str.DIK_F8
lea ecx, [esi + 0x450]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433830
sub eax, edi
push eax
push str.DIK_F8
call fcn.004021a0
mov eax, str.DIK_F9
lea ecx, [esi + 0x454]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433852
sub eax, edi
push eax
push str.DIK_F9
call fcn.004021a0
mov eax, str.DIK_F10
lea ecx, [esi + 0x458]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433874
sub eax, edi
push eax
push str.DIK_F10
call fcn.004021a0
mov eax, str.DIK_NUMLOCK
lea ecx, [esi + 0x45c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433896
sub eax, edi
push eax
push str.DIK_NUMLOCK
call fcn.004021a0
mov eax, str.DIK_SCROLL
lea ecx, [esi + 0x460]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4338b8
sub eax, edi
push eax
push str.DIK_SCROLL
call fcn.004021a0
mov eax, str.DIK_NUMPAD7
lea ecx, [esi + 0x464]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4338e0
sub eax, edi
push eax
push str.DIK_NUMPAD7
call fcn.004021a0
mov eax, str.DIK_NUMPAD8
lea ecx, [esi + 0x468]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433902
sub eax, edi
push eax
push str.DIK_NUMPAD8
call fcn.004021a0
mov eax, str.DIK_NUMPAD9
lea ecx, [esi + 0x46c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433924
sub eax, edi
push eax
push str.DIK_NUMPAD9
call fcn.004021a0
mov eax, str.DIK_SUBTRACT
lea ecx, [esi + 0x470]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433946
sub eax, edi
push eax
push str.DIK_SUBTRACT
call fcn.004021a0
mov eax, str.DIK_NUMPAD4
lea ecx, [esi + 0x474]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433968
sub eax, edi
push eax
push str.DIK_NUMPAD4
call fcn.004021a0
mov eax, str.DIK_NUMPAD5
lea ecx, [esi + 0x478]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433990
sub eax, edi
push eax
push str.DIK_NUMPAD5
call fcn.004021a0
mov eax, str.DIK_NUMPAD6
lea ecx, [esi + 0x47c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4339b2
sub eax, edi
push eax
push str.DIK_NUMPAD6
call fcn.004021a0
mov eax, str.DIK_ADD
lea ecx, [esi + 0x480]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4339d4
sub eax, edi
push eax
push str.DIK_ADD
call fcn.004021a0
mov eax, str.DIK_NUMPAD1
lea ecx, [esi + 0x484]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4339f6
sub eax, edi
push eax
push str.DIK_NUMPAD1
call fcn.004021a0
mov eax, str.DIK_NUMPAD2
lea ecx, [esi + 0x488]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433a18
sub eax, edi
push eax
push str.DIK_NUMPAD2
call fcn.004021a0
mov eax, str.DIK_NUMPAD3
lea ecx, [esi + 0x48c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433a40
sub eax, edi
push eax
push str.DIK_NUMPAD3
call fcn.004021a0
mov eax, str.DIK_NUMPAD0
lea ecx, [esi + 0x490]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433a62
sub eax, edi
push eax
push str.DIK_NUMPAD0
call fcn.004021a0
mov eax, str.DIK_DECIMAL
lea ecx, [esi + 0x494]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433a84
sub eax, edi
push eax
push str.DIK_DECIMAL
call fcn.004021a0
mov eax, str.DIK_OEM_102
lea ecx, [esi + 0x4a0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433aa6
sub eax, edi
push eax
push str.DIK_OEM_102
call fcn.004021a0
mov eax, str.DIK_F11
lea ecx, [esi + 0x4a4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433ac8
sub eax, edi
push eax
push str.DIK_F11
call fcn.004021a0
mov eax, str.DIK_F12
lea ecx, [esi + 0x4a8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433af0
sub eax, edi
push eax
push str.DIK_F12
call fcn.004021a0
mov eax, str.DIK_F13
lea ecx, [esi + 0x4d8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433b12
sub eax, edi
push eax
push str.DIK_F13
call fcn.004021a0
mov eax, str.DIK_F14
lea ecx, [esi + 0x4dc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433b34
sub eax, edi
push eax
push str.DIK_F14
call fcn.004021a0
mov eax, str.DIK_F15
lea ecx, [esi + 0x4e0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433b56
sub eax, edi
push eax
push str.DIK_F15
call fcn.004021a0
mov eax, str.DIK_KANA
lea ecx, [esi + 0x508]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433b78
sub eax, edi
push eax
push str.DIK_KANA
call fcn.004021a0
mov eax, str.DIK_ABNT_C1
lea ecx, [esi + 0x514]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433ba0
sub eax, edi
push eax
push str.DIK_ABNT_C1
call fcn.004021a0
mov eax, str.DIK_CONVERT
lea ecx, [esi + 0x52c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433bc2
sub eax, edi
push eax
push str.DIK_CONVERT
call fcn.004021a0
mov eax, str.DIK_NOCONVERT
lea ecx, [esi + 0x534]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433be4
sub eax, edi
push eax
push str.DIK_NOCONVERT
call fcn.004021a0
mov eax, str.DIK_YEN
lea ecx, [esi + 0x53c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433c06
sub eax, edi
push eax
push str.DIK_YEN
call fcn.004021a0
mov eax, str.DIK_ABNT_C2
lea ecx, [esi + 0x540]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433c28
sub eax, edi
push eax
push str.DIK_ABNT_C2
call fcn.004021a0
mov eax, str.DIK_NUMPADEQUALS
lea ecx, [esi + 0x57c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433c50
sub eax, edi
push eax
push str.DIK_NUMPADEQUALS
call fcn.004021a0
mov eax, str.DIK_PREVTRACK
lea ecx, [esi + 0x588]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433c72
sub eax, edi
push eax
push str.DIK_PREVTRACK
call fcn.004021a0
mov eax, str.DIK_AT
lea ecx, [esi + 0x58c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433c94
sub eax, edi
push eax
push str.DIK_AT
call fcn.004021a0
mov eax, str.DIK_COLON
lea ecx, [esi + 0x590]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433cb6
sub eax, edi
push eax
push str.DIK_COLON
call fcn.004021a0
mov eax, str.DIK_UNDERLINE
lea ecx, [esi + 0x594]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433cd8
sub eax, edi
push eax
push str.DIK_UNDERLINE
call fcn.004021a0
mov eax, str.DIK_KANJI
lea ecx, [esi + 0x598]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433d00
sub eax, edi
push eax
push str.DIK_KANJI
call fcn.004021a0
mov eax, str.DIK_STOP
lea ecx, [esi + 0x59c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433d22
sub eax, edi
push eax
push str.DIK_STOP
call fcn.004021a0
mov eax, str.DIK_AX
lea ecx, [esi + 0x5a0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433d44
sub eax, edi
push eax
push str.DIK_AX
call fcn.004021a0
mov eax, str.DIK_UNLABELED
lea ecx, [esi + 0x5a4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433d66
sub eax, edi
push eax
push str.DIK_UNLABELED
call fcn.004021a0
mov eax, str.DIK_NEXTTRACK
lea ecx, [esi + 0x5ac]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433d88
sub eax, edi
push eax
push str.DIK_NEXTTRACK
call fcn.004021a0
mov eax, str.DIK_NUMPADENTER
lea ecx, [esi + 0x5b8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433db0
sub eax, edi
push eax
push str.DIK_NUMPADENTER
call fcn.004021a0
mov eax, str.DIK_RCONTROL
lea ecx, [esi + 0x5bc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433dd2
sub eax, edi
push eax
push str.DIK_RCONTROL
call fcn.004021a0
mov eax, str.DIK_MUTE
lea ecx, [esi + 0x5c8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433df4
sub eax, edi
push eax
push str.DIK_MUTE
call fcn.004021a0
mov eax, str.DIK_CALCULATOR
lea ecx, [esi + 0x5cc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433e16
sub eax, edi
push eax
push str.DIK_CALCULATOR
call fcn.004021a0
mov eax, str.DIK_PLAYPAUSE
lea ecx, [esi + 0x5d0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433e38
sub eax, edi
push eax
push str.DIK_PLAYPAUSE
call fcn.004021a0
mov eax, str.DIK_MEDIASTOP
lea ecx, [esi + 0x5d8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433e60
sub eax, edi
push eax
push str.DIK_MEDIASTOP
call fcn.004021a0
mov eax, str.DIK_VOLUMEDOWN
lea ecx, [esi + 0x600]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433e82
sub eax, edi
push eax
push str.DIK_VOLUMEDOWN
call fcn.004021a0
mov eax, str.DIK_VOLUMEUP
lea ecx, [esi + 0x608]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433ea4
sub eax, edi
push eax
push str.DIK_VOLUMEUP
call fcn.004021a0
mov eax, str.DIK_WEBHOME
lea ecx, [esi + 0x610]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433ec6
sub eax, edi
push eax
push str.DIK_WEBHOME
call fcn.004021a0
mov eax, str.DIK_NUMPADCOMMA
lea ecx, [esi + 0x614]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x433ee8