Function at 0x435010
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45c0be
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
mov eax, dword [0x47b258]
xor eax, dword [ebp + 4]
push ebx
push esi
push edi
mov esi, ecx
push fcn.00402030
push fcn.0040abd0
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.004348d0
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.0043f522
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 byte [esi + 0x829], 0
mov dword [esi + 0x840], edi
mov dword [esi + 0x844], 0x3fe80000
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.00402330
mov eax, dword [0x47c170]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041fde0
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
mov ecx, 0x14
xor eax, eax
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.004348d0
mov ebx, dword [sym.imp.kernel32.dll_GetPrivateProfileStringA]
push str.._ChickenInvaders2Xmas.cfg
push 0x100
mov edi, eax
mov ecx, dword [edi]
lea eax, [esp + 0x58]
push eax
push 0x45d66d
push str.bTrackKeyboard
push ecx
call ebx
test eax, eax
jle 0x4351d4
cmp byte [esp + 0x50], 0x59
sete dl
mov byte [esi + 4], dl
mov al, byte [esi + 4]
test al, al
mov eax, 0x468f0c
jne 0x4351e5
mov eax, 0x468f08
push str.._ChickenInvaders2Xmas.cfg
push eax
mov eax, dword [edi]
push str.bTrackKeyboard
push eax
call dword [sym.imp.kernel32.dll_WritePrivateProfileStringA]
push str.._ChickenInvaders2Xmas.cfg
push 0x100
lea ecx, [esp + 0x58]
push ecx
push 0x45d66d
mov byte [esi + 5], 1
mov edx, dword [edi]
push str.bTrackMouse
push edx
call ebx
test eax, eax
jle 0x43522a
cmp byte [esp + 0x50], 0x59
sete al
mov byte [esi + 5], al
mov al, byte [esi + 5]
test al, al
mov eax, 0x468f0c
jne 0x43523b
mov eax, 0x468f08
mov ecx, dword [edi]
push str.._ChickenInvaders2Xmas.cfg
push eax
push str.bTrackMouse
push ecx
call dword [sym.imp.kernel32.dll_WritePrivateProfileStringA]
push str.._ChickenInvaders2Xmas.cfg
push 0x100
lea edx, [esp + 0x58]
push edx
push 0x45d66d
mov dword [esi + 0x840], 0
mov dword [esi + 0x844], 0x3fe80000
mov eax, dword [edi]
push str.mouseSensitivity
push eax
call ebx
test eax, eax
jle 0x4352b0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x54]
push 0x46cb58
push edx
call fcn.0044021e
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov dword [esi + 0x840], eax
mov dword [esi + 0x844], ecx
call fcn.0044bd3a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x844]
mov ecx, dword [esi + 0x840]
push eax
push ecx
lea edx, [esp + 0x14]
push str._.8lf
push edx
mov byte [esp + 0x174], 1
call fcn.0041af90
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
add esp, 0x10
push str.._ChickenInvaders2Xmas.cfg
push eax
push str.mouseSensitivity
push ecx
call dword [sym.imp.kernel32.dll_WritePrivateProfileStringA]
mov eax, dword [esp + 0xc]
add eax, 0xfffffff0
mov byte [esp + 0x164], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x435329
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push str.._ChickenInvaders2Xmas.cfg
push 0x100
lea eax, [esp + 0x58]
push eax
push 0x45d66d
mov byte [esi + 0x828], 0
mov ecx, dword [edi]
push str.bClassicMouseControl
push ecx
call ebx
test eax, eax
jle 0x435360
cmp byte [esp + 0x50], 0x59
sete dl
mov byte [esi + 0x828], dl
mov al, byte [esi + 0x828]
test al, al
mov eax, 0x468f0c
jne 0x435374
mov eax, 0x468f08
push str.._ChickenInvaders2Xmas.cfg
push eax
mov eax, dword [edi]
push str.bClassicMouseControl
push eax
call dword [sym.imp.kernel32.dll_WritePrivateProfileStringA]
push str.._ChickenInvaders2Xmas.cfg
push 0x100
lea ecx, [esp + 0x58]
push ecx
push 0x45d66d
mov byte [esi + 6], 1
mov edx, dword [edi]
push str.bTrackJoystick
push edx
call ebx
test eax, eax
jle 0x4353b9
cmp byte [esp + 0x50], 0x59
sete al
mov byte [esi + 6], al
mov al, byte [esi + 6]
test al, al
mov eax, 0x468f0c
jne 0x4353ca
mov eax, 0x468f08
mov ecx, dword [edi]
push str.._ChickenInvaders2Xmas.cfg
push eax
push str.bTrackJoystick
push ecx
call dword [sym.imp.kernel32.dll_WritePrivateProfileStringA]
mov eax, dword [edi]
push str.._ChickenInvaders2Xmas.cfg
push 0x100
lea edx, [esp + 0x58]
push edx
push 0x45d66d
push str.joystickDeadZone
push eax
mov dword [esp + 0x30], 0x9999999a
mov dword [esp + 0x34], 0x3fc99999
call ebx
test eax, eax
jle 0x435437
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x54]
push 0x46cb58
push edx
call fcn.0044021e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
call fcn.0044bd3a
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], 2
call fcn.0041af90
mov ebx, dword [esp + 0x1c]
mov eax, dword [edi]
add esp, 0x10
push str.._ChickenInvaders2Xmas.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 0x4354a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0045673c
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x40]
push 0
lea edi, [esi + 0x338]
push edi
push 0x46f308
push 0x700
push eax
call sub.dinput.dll_DirectInputCreateEx
test eax, eax
jge 0x435549
mov edx, dword [0x47c170]
push 0x31
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], 3
call fcn.00402330
mov ecx, dword [0x47c170]
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 0x435549
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, byte [esi + 4]
test al, al
je 0x43570a
mov eax, dword [edi]
mov ecx, dword [eax]
push 0
lea ebx, [esi + 0x33c]
push ebx
push 0x46f2f8
push 0x46f248
push eax
call dword [ecx + 0x24]
test eax, eax
jge 0x4355eb
push 0x37
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.dxInput__CreateDeviceEx_GUID_SysKeyboard__IID_IDirectInputDevice7___LPVOID_keyboardDevice__NULL_
push eax
mov eax, dword [0x47c170]
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.00402330
mov edx, dword [0x47c170]
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 0x4355eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebx]
mov ecx, dword [eax]
push 0x46f358
push eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x435674
push 0x38
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.keyboardDevice__SetDataFormat_c_dfDIKeyboard_
push eax
mov eax, dword [0x47c170]
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], 5
call fcn.00402330
mov edx, dword [0x47c170]
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 0x435674
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0045673c
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 0x43570a
mov edx, dword [0x47c170]
push 0x39
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], 6
call fcn.00402330
mov ecx, dword [0x47c170]
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 0x43570a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, byte [esi + 5]
test al, al
je 0x4358dc
mov eax, dword [edi]
mov ecx, dword [eax]
push 0
lea ebx, [esi + 0x340]
push ebx
push 0x46f2f8
push 0x46f258
push eax
call dword [ecx + 0x24]
test eax, eax
jge 0x4357ac
push 0x3f
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.dxInput__CreateDeviceEx_GUID_SysMouse__IID_IDirectInputDevice7___LPVOID_mouseDevice__NULL_
push eax
mov eax, dword [0x47c170]
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.00402330
mov edx, dword [0x47c170]
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 0x4357ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebx]
mov ecx, dword [eax]
push 0x46f340
push eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x435835
push 0x40
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.mouseDevice__SetDataFormat_c_dfDIMouse_
push eax
mov eax, dword [0x47c170]
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], 8
call fcn.00402330
mov edx, dword [0x47c170]
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 0x435835
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0045673c
mov ecx, dword [ebx]
mov edi, dword [0x47c170]
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 0x4358dc
mov edx, dword [0x47c170]
push 0x43
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], 9
call fcn.00402330
mov ecx, dword [0x47c170]
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 0x4358dc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, byte [esi + 6]
test al, al
je 0x435d7c
mov eax, dword [esi + 0x338]
mov ecx, dword [eax]
mov edi, 1
push edi
push esi
push 0x434eb0
push 4
push eax
call dword [ecx + 0x10]
test eax, eax
jge 0x43597d
push 0x49
push str.engineUveInput.cpp
push str.UveInput::UveInput
push str.dxInput__EnumDevices_DIDEVTYPE_JOYSTICK__UveInput::enumerateCallback__this__DIEDFL_ATTACHEDONLY_
push eax
mov eax, dword [0x47c170]
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], 0xa
call fcn.00402330
mov edx, dword [0x47c170]
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 0x43597d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi + 0x344]
test eax, eax
jne 0x4359b8
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.00402330
mov eax, dword [0x47c170]
mov ecx, dword [eax + 4]
push ecx
call fcn.0041fde0
add esp, 0x10
jmp 0x435d7c
mov edx, dword [eax]
push 0x46f328
push eax
call dword [edx + 0x2c]
test eax, eax
jge 0x435a3f
mov ecx, dword [0x47c170]
mov ecx, dword [ecx + 0x10]
push 0x50
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], 0xb
call fcn.00402330
mov eax, dword [0x47c170]
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 0x435a3f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
call fcn.0045673c
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 0x435ad9
mov edx, dword [0x47c170]
push 0x52
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], 0xc
call fcn.00402330
mov ecx, dword [0x47c170]
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 0x435ad9
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 ebx, 0x10
push 4
mov dword [esp + 0x3c], 0x18
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], edi
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 0x435b95
mov ecx, dword [0x47c170]
mov ecx, dword [ecx + 0x10]
push 0x5d
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.00402330
mov eax, dword [0x47c170]
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 0x435b95
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 0x435c2c
mov ecx, dword [0x47c170]
mov ecx, dword [ecx + 0x10]
push 0x5f
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], 0xe
call fcn.00402330
mov eax, dword [0x47c170]
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 0x435c2c
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 [0x46bf78]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edi
call fcn.0043ee08
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 0x435ce6
mov ecx, dword [0x47c170]
mov ecx, dword [ecx + 0x10]
push 0x69
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.00402330
mov eax, dword [0x47c170]
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 0x435ce6
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 0x435d7c
mov ecx, dword [0x47c170]
mov ecx, dword [ecx + 0x10]
push 0x6b
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], bl
call fcn.00402330
mov eax, dword [0x47c170]
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 0x435d7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [0x47c170]
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.00434cb0
mov ecx, dword [0x47c170]
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.UNKNOWN__d
push ebx
call fcn.0041af90
add esp, 0xc
inc edi
add ebx, 4
cmp edi, 0x138
jl 0x435de3
mov eax, 0x45d66d
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435e06
sub eax, edx
push eax
push 0x45d66d
lea ecx, [esi + 0x348]
call fcn.004021e0
mov eax, 0x46e544
lea ecx, [esi + 0x34c]
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435e30
sub eax, edi
push eax
push 0x46e544
call fcn.004021e0
mov eax, 0x46e540
lea ecx, [esi + 0x350]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435e52
sub eax, edi
push eax
push 0x46e540
call fcn.004021e0
mov eax, 0x46e53c
lea ecx, [esi + 0x354]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435e74
sub eax, edi
push eax
push 0x46e53c
call fcn.004021e0
mov eax, 0x46e538
lea ecx, [esi + 0x358]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435e96
sub eax, edi
push eax
push 0x46e538
call fcn.004021e0
mov eax, 0x46e534
lea ecx, [esi + 0x35c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435eb8
sub eax, edi
push eax
push 0x46e534
call fcn.004021e0
mov eax, 0x46e530
lea ecx, [esi + 0x360]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435ee0
sub eax, edi
push eax
push 0x46e530
call fcn.004021e0
mov eax, 0x46e52c
lea ecx, [esi + 0x364]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435f02
sub eax, edi
push eax
push 0x46e52c
call fcn.004021e0
mov eax, 0x46e528
lea ecx, [esi + 0x368]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435f24
sub eax, edi
push eax
push 0x46e528
call fcn.004021e0
mov eax, 0x46e524
lea ecx, [esi + 0x36c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435f46
sub eax, edi
push eax
push 0x46e524
call fcn.004021e0
mov eax, 0x46e520
lea ecx, [esi + 0x370]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435f68
sub eax, edi
push eax
push 0x46e520
call fcn.004021e0
mov eax, str.0987654321
lea ecx, [esi + 0x374]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435f90
sub eax, edi
push eax
push str.0987654321
call fcn.004021e0
mov eax, str.MINUS
lea ecx, [esi + 0x378]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435fb2
sub eax, edi
push eax
push str.MINUS
call fcn.004021e0
mov eax, str.EQUALS
lea ecx, [esi + 0x37c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435fd4
sub eax, edi
push eax
push str.EQUALS
call fcn.004021e0
mov eax, str.BACKSPACE
lea ecx, [esi + 0x380]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x435ff6
sub eax, edi
push eax
push str.BACKSPACE
call fcn.004021e0
mov eax, 0x46e4fc
lea ecx, [esi + 0x384]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436018
sub eax, edi
push eax
push 0x46e4fc
call fcn.004021e0
mov eax, 0x46e4f8
lea ecx, [esi + 0x388]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436040
sub eax, edi
push eax
push 0x46e4f8
call fcn.004021e0
mov eax, 0x46e4f4
lea ecx, [esi + 0x38c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436062
sub eax, edi
push eax
push 0x46e4f4
call fcn.004021e0
mov eax, 0x46e4f0
lea ecx, [esi + 0x390]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436084
sub eax, edi
push eax
push 0x46e4f0
call fcn.004021e0
mov eax, 0x46e4ec
lea ecx, [esi + 0x394]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4360a6
sub eax, edi
push eax
push 0x46e4ec
call fcn.004021e0
mov eax, 0x46e4e8
lea ecx, [esi + 0x398]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4360c8
sub eax, edi
push eax
push 0x46e4e8
call fcn.004021e0
mov eax, 0x46e4e4
lea ecx, [esi + 0x39c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4360f0
sub eax, edi
push eax
push 0x46e4e4
call fcn.004021e0
mov eax, 0x46e4e0
lea ecx, [esi + 0x3a0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436112
sub eax, edi
push eax
push 0x46e4e0
call fcn.004021e0
mov eax, 0x46e4dc
lea ecx, [esi + 0x3a4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436134
sub eax, edi
push eax
push 0x46e4dc
call fcn.004021e0
mov eax, 0x46e4d8
lea ecx, [esi + 0x3a8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436156
sub eax, edi
push eax
push 0x46e4d8
call fcn.004021e0
mov eax, str.POIUYTREWQ
lea ecx, [esi + 0x3ac]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436178
sub eax, edi
push eax
push str.POIUYTREWQ
call fcn.004021e0
mov eax, str.LBRACKET
lea ecx, [esi + 0x3b0]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4361a0
sub eax, edi
push eax
push str.LBRACKET
call fcn.004021e0
mov eax, str.RBRACKET
lea ecx, [esi + 0x3b4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4361c2
sub eax, edi
push eax
push str.RBRACKET
call fcn.004021e0
mov eax, str.RETURN
lea ecx, [esi + 0x3b8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4361e4
sub eax, edi
push eax
push str.RETURN
call fcn.004021e0
mov eax, 0x46e4a8
lea ecx, [esi + 0x3bc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436206
sub eax, edi
push eax
push 0x46e4a8
call fcn.004021e0
mov eax, 0x46e4a4
lea ecx, [esi + 0x3c0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436228
sub eax, edi
push eax
push 0x46e4a4
call fcn.004021e0
mov eax, 0x46e4a0
lea ecx, [esi + 0x3c4]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436250
sub eax, edi
push eax
push 0x46e4a0
call fcn.004021e0
mov eax, 0x46e49c
lea ecx, [esi + 0x3c8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436272
sub eax, edi
push eax
push 0x46e49c
call fcn.004021e0
mov eax, 0x46e498
lea ecx, [esi + 0x3cc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436294
sub eax, edi
push eax
push 0x46e498
call fcn.004021e0
mov eax, 0x46e494
lea ecx, [esi + 0x3d0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4362b6
sub eax, edi
push eax
push 0x46e494
call fcn.004021e0
mov eax, 0x46e490
lea ecx, [esi + 0x3d4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4362d8
sub eax, edi
push eax
push 0x46e490
call fcn.004021e0
mov eax, 0x46e48c
lea ecx, [esi + 0x3d8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436300
sub eax, edi
push eax
push 0x46e48c
call fcn.004021e0
mov eax, 0x46e488
lea ecx, [esi + 0x3dc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436322
sub eax, edi
push eax
push 0x46e488
call fcn.004021e0
mov eax, str.LKJHGFDSA
lea ecx, [esi + 0x3e0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436344
sub eax, edi
push eax
push str.LKJHGFDSA
call fcn.004021e0
mov eax, str.SEMICOLON
lea ecx, [esi + 0x3e4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436366
sub eax, edi
push eax
push str.SEMICOLON
call fcn.004021e0
mov eax, str.APOSTROPHE
lea ecx, [esi + 0x3e8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436388
sub eax, edi
push eax
push str.APOSTROPHE
call fcn.004021e0
mov eax, str.GRAVE
lea ecx, [esi + 0x3ec]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4363b0
sub eax, edi
push eax
push str.GRAVE
call fcn.004021e0
mov eax, str.LSHIFT
lea ecx, [esi + 0x3f0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4363d2
sub eax, edi
push eax
push str.LSHIFT
call fcn.004021e0
mov eax, 0x46e450
lea ecx, [esi + 0x3f4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4363f4
sub eax, edi
push eax
push 0x46e450
call fcn.004021e0
mov eax, 0x46e44c
lea ecx, [esi + 0x3f8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436416
sub eax, edi
push eax
push 0x46e44c
call fcn.004021e0
mov eax, 0x46e448
lea ecx, [esi + 0x3fc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436438
sub eax, edi
push eax
push 0x46e448
call fcn.004021e0
mov eax, 0x46e444
lea ecx, [esi + 0x400]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436460
sub eax, edi
push eax
push 0x46e444
call fcn.004021e0
mov eax, 0x46e440
lea ecx, [esi + 0x404]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436482
sub eax, edi
push eax
push 0x46e440
call fcn.004021e0
mov eax, 0x46e43c
lea ecx, [esi + 0x408]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4364a4
sub eax, edi
push eax
push 0x46e43c
call fcn.004021e0
mov eax, 0x46e438
lea ecx, [esi + 0x40c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4364c6
sub eax, edi
push eax
push 0x46e438
call fcn.004021e0
mov eax, str.MNBVCXZ
lea ecx, [esi + 0x410]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4364e8
sub eax, edi
push eax
push str.MNBVCXZ
call fcn.004021e0
mov eax, str.COMMA
lea ecx, [esi + 0x414]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436510
sub eax, edi
push eax
push str.COMMA
call fcn.004021e0
mov eax, str.PERIOD
lea ecx, [esi + 0x418]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436532
sub eax, edi
push eax
push str.PERIOD
call fcn.004021e0
mov eax, 0x46e41c
lea ecx, [esi + 0x41c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436554
sub eax, edi
push eax
push 0x46e41c
call fcn.004021e0
mov eax, str.RSHIFT
lea ecx, [esi + 0x420]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436576
sub eax, edi
push eax
push str.RSHIFT
call fcn.004021e0
mov eax, str.MULTIPLY
lea ecx, [esi + 0x424]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436598
sub eax, edi
push eax
push str.MULTIPLY
call fcn.004021e0
mov eax, str.LALT
lea ecx, [esi + 0x428]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4365c0
sub eax, edi
push eax
push str.LALT
call fcn.004021e0
mov eax, str.SPACE
lea ecx, [esi + 0x42c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4365e2
sub eax, edi
push eax
push str.SPACE
call fcn.004021e0
mov eax, str.CAPITAL
lea ecx, [esi + 0x430]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436604
sub eax, edi
push eax
push str.CAPITAL
call fcn.004021e0
mov eax, 0x46e3ec
lea ecx, [esi + 0x434]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436626
sub eax, edi
push eax
push 0x46e3ec
call fcn.004021e0
mov eax, 0x46e3e8
lea ecx, [esi + 0x438]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436648
sub eax, edi
push eax
push 0x46e3e8
call fcn.004021e0
mov eax, 0x46e3e4
lea ecx, [esi + 0x43c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436670
sub eax, edi
push eax
push 0x46e3e4
call fcn.004021e0
mov eax, 0x46e3e0
lea ecx, [esi + 0x440]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436692
sub eax, edi
push eax
push 0x46e3e0
call fcn.004021e0
mov eax, 0x46e3dc
lea ecx, [esi + 0x444]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4366b4
sub eax, edi
push eax
push 0x46e3dc
call fcn.004021e0
mov eax, 0x46e3d8
lea ecx, [esi + 0x448]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4366d6
sub eax, edi
push eax
push 0x46e3d8
call fcn.004021e0
mov eax, 0x46e3d4
lea ecx, [esi + 0x44c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4366f8
sub eax, edi
push eax
push 0x46e3d4
call fcn.004021e0
mov eax, 0x46e3d0
lea ecx, [esi + 0x450]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436720
sub eax, edi
push eax
push 0x46e3d0
call fcn.004021e0
mov eax, 0x46e3cc
lea ecx, [esi + 0x454]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436742
sub eax, edi
push eax
push 0x46e3cc
call fcn.004021e0
mov eax, 0x46e3c8
lea ecx, [esi + 0x458]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436764
sub eax, edi
push eax
push 0x46e3c8
call fcn.004021e0
mov eax, str.NUMLOCK
lea ecx, [esi + 0x45c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436786
sub eax, edi
push eax
push str.NUMLOCK
call fcn.004021e0
mov eax, str.SCROLL
lea ecx, [esi + 0x460]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4367a8
sub eax, edi
push eax
push str.SCROLL
call fcn.004021e0
mov eax, str.NUMPAD7
lea ecx, [esi + 0x464]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4367d0
sub eax, edi
push eax
push str.NUMPAD7
call fcn.004021e0
mov eax, str.NUMPAD8
lea ecx, [esi + 0x468]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4367f2
sub eax, edi
push eax
push str.NUMPAD8
call fcn.004021e0
mov eax, str.NUMPAD9
lea ecx, [esi + 0x46c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436814
sub eax, edi
push eax
push str.NUMPAD9
call fcn.004021e0
mov eax, str.SUBTRACT
lea ecx, [esi + 0x470]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436836
sub eax, edi
push eax
push str.SUBTRACT
call fcn.004021e0
mov eax, str.NUMPAD4
lea ecx, [esi + 0x474]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436858
sub eax, edi
push eax
push str.NUMPAD4
call fcn.004021e0
mov eax, str.NUMPAD5
lea ecx, [esi + 0x478]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436880
sub eax, edi
push eax
push str.NUMPAD5
call fcn.004021e0
mov eax, str.NUMPAD6
lea ecx, [esi + 0x47c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4368a2
sub eax, edi
push eax
push str.NUMPAD6
call fcn.004021e0
mov eax, 0x46e378
lea ecx, [esi + 0x480]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4368c4
sub eax, edi
push eax
push 0x46e378
call fcn.004021e0
mov eax, str.NUMPAD1
lea ecx, [esi + 0x484]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4368e6
sub eax, edi
push eax
push str.NUMPAD1
call fcn.004021e0
mov eax, str.NUMPAD2
lea ecx, [esi + 0x488]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436908
sub eax, edi
push eax
push str.NUMPAD2
call fcn.004021e0
mov eax, str.NUMPAD3
lea ecx, [esi + 0x48c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436930
sub eax, edi
push eax
push str.NUMPAD3
call fcn.004021e0
mov eax, str.NUMPAD0
lea ecx, [esi + 0x490]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436952
sub eax, edi
push eax
push str.NUMPAD0
call fcn.004021e0
mov eax, str.DECIMAL
lea ecx, [esi + 0x494]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436974
sub eax, edi
push eax
push str.DECIMAL
call fcn.004021e0
mov eax, str.OEM_102
lea ecx, [esi + 0x4a0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436996
sub eax, edi
push eax
push str.OEM_102
call fcn.004021e0
mov eax, 0x46e344
lea ecx, [esi + 0x4a4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4369b8
sub eax, edi
push eax
push 0x46e344
call fcn.004021e0
mov eax, 0x46e340
lea ecx, [esi + 0x4a8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4369e0
sub eax, edi
push eax
push 0x46e340
call fcn.004021e0
mov eax, 0x46e33c
lea ecx, [esi + 0x4d8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436a02
sub eax, edi
push eax
push 0x46e33c
call fcn.004021e0
mov eax, 0x46e338
lea ecx, [esi + 0x4dc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436a24
sub eax, edi
push eax
push 0x46e338
call fcn.004021e0
mov eax, 0x46e334
lea ecx, [esi + 0x4e0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436a46
sub eax, edi
push eax
push 0x46e334
call fcn.004021e0
mov eax, str.KANA
lea ecx, [esi + 0x508]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436a68
sub eax, edi
push eax
push str.KANA
call fcn.004021e0
mov eax, str.ABNT_C1
lea ecx, [esi + 0x514]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436a90
sub eax, edi
push eax
push str.ABNT_C1
call fcn.004021e0
mov eax, str.CONVERT
lea ecx, [esi + 0x52c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436ab2
sub eax, edi
push eax
push str.CONVERT
call fcn.004021e0
mov eax, str.NOCONVERT
lea ecx, [esi + 0x534]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436ad4
sub eax, edi
push eax
push str.NOCONVERT
call fcn.004021e0
mov eax, 0x46e30c
lea ecx, [esi + 0x53c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436af6
sub eax, edi
push eax
push 0x46e30c
call fcn.004021e0
mov eax, str.ABNT_C2
lea ecx, [esi + 0x540]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436b18
sub eax, edi
push eax
push str.ABNT_C2
call fcn.004021e0
mov eax, str.NUMPADEQUALS
lea ecx, [esi + 0x57c]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436b40
sub eax, edi
push eax
push str.NUMPADEQUALS
call fcn.004021e0
mov eax, str.PREVTRACK
lea ecx, [esi + 0x588]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436b62
sub eax, edi
push eax
push str.PREVTRACK
call fcn.004021e0
mov eax, 0x46bac4
lea ecx, [esi + 0x58c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436b84
sub eax, edi
push eax
push 0x46bac4
call fcn.004021e0
mov eax, str.COLON
lea ecx, [esi + 0x590]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436ba6
sub eax, edi
push eax
push str.COLON
call fcn.004021e0
mov eax, str.UNDERLINE
lea ecx, [esi + 0x594]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436bc8
sub eax, edi
push eax
push str.UNDERLINE
call fcn.004021e0
mov eax, str.KANJI
lea ecx, [esi + 0x598]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436bf0
sub eax, edi
push eax
push str.KANJI
call fcn.004021e0
mov eax, str.STOP
lea ecx, [esi + 0x59c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436c12
sub eax, edi
push eax
push str.STOP
call fcn.004021e0
mov eax, 0x46e2c0
lea ecx, [esi + 0x5a0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436c34
sub eax, edi
push eax
push 0x46e2c0
call fcn.004021e0
mov eax, str.UNLABELED
lea ecx, [esi + 0x5a4]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436c56
sub eax, edi
push eax
push str.UNLABELED
call fcn.004021e0
mov eax, str.NEXTTRACK
lea ecx, [esi + 0x5ac]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436c78
sub eax, edi
push eax
push str.NEXTTRACK
call fcn.004021e0
mov eax, str.NUMPADENTER
lea ecx, [esi + 0x5b8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436ca0
sub eax, edi
push eax
push str.NUMPADENTER
call fcn.004021e0
mov eax, str.RCONTROL
lea ecx, [esi + 0x5bc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436cc2
sub eax, edi
push eax
push str.RCONTROL
call fcn.004021e0
mov eax, str.MUTE
lea ecx, [esi + 0x5c8]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436ce4
sub eax, edi
push eax
push str.MUTE
call fcn.004021e0
mov eax, str.CALCULATOR
lea ecx, [esi + 0x5cc]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436d06
sub eax, edi
push eax
push str.CALCULATOR
call fcn.004021e0
mov eax, str.PLAYPAUSE
lea ecx, [esi + 0x5d0]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436d28
sub eax, edi
push eax
push str.PLAYPAUSE
call fcn.004021e0
mov eax, str.MEDIASTOP
lea ecx, [esi + 0x5d8]
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x436d50