Function at 0x410bf0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4776b8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x4b34c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, ecx
mov ecx, dword [eax + 0x88]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x54]
push edx
call eax
xor esi, esi
push str.btnStartKeystrokeTest
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], esi
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410c8d
mov ecx, dword [ebx + 0x24c]
cmp dword [ecx], esi
jne 0x410c6e
call fcn.00416320
test eax, eax
je 0x410c6e
mov esi, str.Connect_device_failed.
mov edi, ebx
call fcn.00411940
jmp 0x410e33
lea edi, [ebx + 0x260]
call fcn.004112d0
push ebx
push esi
push 0x411750
call fcn.004223a0
add esp, 0xc
jmp 0x410e28
push str.btnClearKeystrokeTest
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410cae
lea edi, [ebx + 0x260]
call fcn.004112d0
jmp 0x410e28
push str.btnStopKeystrokeTest
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410cf0
cmp dword [ebx + 0x258], 1
jne 0x410ce5
push 1
mov dword [ebx + 0x250], 2
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edi, [ebx + 0x260]
call fcn.004112d0
mov dword [ebx + 0x258], esi
jmp 0x410e28
push str.btnStartCalibration
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410d90
mov eax, ebx
call fcn.004119e0
test al, al
je 0x410e33
lea edi, [ebx + 0x270]
call fcn.004112d0
lea ecx, [ebp - 0x55]
push ecx
mov ecx, dword [ebx + 0x24c]
mov byte [ebp - 0x55], 0
call fcn.00416d60
test eax, eax
je 0x410d57
mov esi, str.Communication_fail__please_reconnect_device.
mov edi, ebx
call fcn.00411940
push 0
push 0x2712
push 0x10
mov ecx, ebx
call sym.PB20Configurator.exe_public:_long_int___thiscall_DuiLib::CWindowWnd::PostMessageA_unsigned_int__unsigned_int__long_int_
jmp 0x410e33
cmp byte [ebp - 0x55], 1
jne 0x410d7c
mov edx, dword [ebx + 4]
push 4
push str.Tips
push str.Calibration_is_complete._Would_you_like_to_recalibrate__n_Select__Yes__to_recalibrate__or__No__to_exit_directly.
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
je 0x410e33
push ebx
push esi
push 0x4118a0
call fcn.004223a0
add esp, 0xc
jmp 0x410e28
push str.btnRestoreCalibration
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410dbf
mov eax, ebx
call fcn.004119e0
test al, al
je 0x410e33
mov eax, dword [ebx + 0x24c]
push 1
call fcn.004178d0
jmp 0x410e28
push str.btnClearKeyInput
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410de8
mov ecx, dword [ebx + 0x238]
cmp ecx, esi
je 0x410e28
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
push 0x485602
call edx
jmp 0x410e28
push str.btnRedLedTest
lea ecx, [ebp - 0x54]
call sym.PB20Configurator.exe_public:_int___thiscall_DuiLib::CDuiString::Compare_char_const__const
test eax, eax
jne 0x410e28
mov eax, ebx
call fcn.004119e0
test al, al
je 0x410e33
cmp byte [0x4bc468], 0
mov dword [ebx + 0x258], 2
sete al
mov byte [0x4bc468], al
mov eax, dword [ebx + 0x24c]
call fcn.00417920
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, ebx
call sym.PB20Configurator.exe_protected_virtual:_void___thiscall_DuiLib::WindowImplBase::OnClick_struct_DuiLib::tagTNotifyUI__
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call sym.PB20Configurator.exe_public:_void___thiscall_DuiLib::CDuiString::destructor_void_
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042097b
mov esp, ebp
pop ebp
ret 4