Function at 0x46d260
Capabilities:
Check for time delay via gettickcount
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x4bb868
mov eax, dword fs:[0]
push eax
sub esp, 0x248
mov eax, dword [0x4e3f80]
xor eax, esp
mov dword [esp + 0x240], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4e3f80]
xor eax, esp
push eax
lea eax, [esp + 0x25c]
mov dword fs:[0], eax
mov edi, dword [esp + 0x26c]
mov esi, edx
mov ebx, ecx
push esi
push str.CURRENTLANGUAGE
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
call fcn.0049de7f
add esp, 8
xor ebp, ebp
test eax, eax
jne 0x46d3ae
mov dword [ebx + 0x50], ebp
mov ecx, 0x4cb854
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d2fa
cmp dx, bp
je 0x46d2f6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d2fa
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d2d4
xor eax, eax
jmp 0x46d2ff
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d30a
mov edi, str.e0010412
jmp 0x46d345
mov ecx, 0x4cb84c
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d337
cmp dx, bp
je 0x46d333
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d337
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d311
xor eax, eax
jmp 0x46d33c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d393
mov edi, str.e0010804
call fcn.0046b510
push reloc.WS2_32.dll_accept
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegFlushKey]
cmp esi, ebp
je 0x46d393
push str.OS_DESKTOP
call fcn.0046ccd0
mov esi, eax
cmp esi, ebp
je 0x46d383
push esi
call fcn.0049e31d
add esp, 4
push esi
mov edi, eax
call fcn.0049081d
add esp, 4
cmp edi, ebp
jne 0x46d393
push ebp
mov eax, str.RESET_SCREEN
mov ebx, 0xd
call fcn.0040dea0
mov ecx, dword [0x4ee74c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x64]
push 1
push 0x4c3af8
push 0x1f
call edx
jmp 0x46e57a
push str.VIEWWIDTH
push esi
call fcn.0049de7f
add esp, 8
test eax, eax
je 0x46e510
push str.VIEWDELAY
push esi
call fcn.0049de7f
add esp, 8
test eax, eax
je 0x46e510
push 9
push str.CLOCKSET_
push esi
call fcn.0049ed39
add esp, 0xc
test eax, eax
jne 0x46d483
mov eax, dword [0x4ee74c]
cmp dword [eax + 0x270], ebp
je 0x46d473
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov eax, str.CLOCKSET_YEAR
call fcn.0046cca0
add eax, 0x7d0
mov word [esp + 0x38], ax
mov eax, str.CLOCKSET_DAY
call fcn.0046cca0
mov word [esp + 0x3e], ax
mov eax, str.CLOCKSET_MONTH
call fcn.0046cca0
mov word [esp + 0x3a], ax
mov eax, str.CLOCKSET_HOUR
call fcn.0046cca0
mov word [esp + 0x40], ax
mov eax, str.CLOCKSET_MINUTE
call fcn.0046cca0
lea edx, [esp + 0x38]
xor ecx, ecx
push edx
mov word [esp + 0x46], ax
mov word [esp + 0x48], cx
call dword [sym.imp.KERNEL32.dll_SetLocalTime]
mov eax, dword [0x4ee74c]
mov dword [eax + 0x270], ebp
jmp 0x46e57a
push esi
push str.CURRENTMULTITAP
call fcn.0049de7f
add esp, 8
test eax, eax
jne 0x46d49f
call fcn.0040e8c0
jmp 0x46e57a
mov ecx, str.VOLUME
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d4cc
cmp dx, bp
je 0x46d4c8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d4cc
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d4a6
xor eax, eax
jmp 0x46d4d1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d4f8
push edi
call fcn.0049e31d
imul eax, eax, 0x28f
mov ecx, eax
shl ecx, 0x10
add esp, 4
or ecx, eax
push ecx
push ebp
call dword [sym.imp.WINMM.dll_waveOutSetVolume]
jmp 0x46e57a
mov ecx, str.INKTYPE
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d526
cmp dx, bp
je 0x46d522
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d526
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d500
xor eax, eax
jmp 0x46d52b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d575
cmp edi, ebp
jne 0x46e57a
push 0xf1
mov esi, ebx
push str.SPITTIME
mov ecx, esi
call fcn.0046c980
push 0xf1
push str.TICKLETIME
mov ecx, esi
call fcn.0046c980
push 0x4c3af6
lea ecx, [esp + 0x18]
call fcn.00408080
mov dword [esp + 0x264], ebp
jmp 0x46d604
mov ecx, str.PRINTHEAD
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d5a6
cmp dx, bp
je 0x46d5a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d5a6
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d580
xor eax, eax
jmp 0x46d5ab
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d62a
push edi
call fcn.0049e31d
add esp, 4
cmp eax, 2
je 0x46e57a
push ebp
mov esi, ebx
push str.OPENOFFSET
mov ecx, esi
call fcn.0046c980
push ebp
push str.CLOSEOFFSET
mov ecx, esi
call fcn.0046c980
push 9
push str.OPENTIME
mov ecx, esi
call fcn.0046c980
push 0x4c3af6
lea ecx, [esp + 0x18]
call fcn.00408080
mov dword [esp + 0x264], 1
mov eax, dword [eax]
push ebp
mov ebx, 0x12
call fcn.0040dea0
lea ecx, [esp + 0x14]
mov dword [esp + 0x264], 0xffffffff
call fcn.00401a70
jmp 0x46e57a
mov ecx, str.CUSTOMDATE1_FIELDS
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d657
cmp dx, bp
je 0x46d653
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d657
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d631
xor eax, eax
jmp 0x46d65c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d66a
call fcn.004524b0
jmp 0x46e57a
mov ecx, 0x4c5830
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d697
cmp dx, bp
je 0x46d693
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d697
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d671
xor eax, eax
jmp 0x46d69c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d6ac
mov esi, ebx
call fcn.0046ce80
jmp 0x46e57a
mov ecx, str.CALENDAR_TYPE
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d6d9
cmp dx, bp
je 0x46d6d5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d6d9
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d6b3
xor eax, eax
jmp 0x46d6de
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d725
call fcn.004524b0
mov eax, str.COUNTER_VALUE
call fcn.0046cca0
push edi
mov esi, eax
call fcn.0049e31d
add esp, 4
cmp esi, eax
je 0x46e57a
mov esi, dword [ebx + 0x10]
cmp esi, ebp
je 0x46d710
call fcn.00460060
mov esi, dword [ebx + 0x14]
cmp esi, ebp
je 0x46e57a
call fcn.00460060
jmp 0x46e57a
mov ecx, str.PAGESIZE
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d756
cmp dx, bp
je 0x46d752
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d756
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d730
xor eax, eax
jmp 0x46d75b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d7c1
push str.messageScreen
lea ecx, [esp + 0x18]
call fcn.004019b0
push 1
lea edx, [esp + 0x18]
mov dword [esp + 0x268], 2
mov ecx, dword [0x4ee74c]
push edx
call fcn.0043de40
lea ecx, [esp + 0x14]
mov esi, eax
mov dword [esp + 0x264], 0xffffffff
call fcn.00401a70
cmp esi, ebp
je 0x46e57a
mov eax, dword [esi]
mov edx, dword [eax + 0x64]
push ebp
push 0x4c3af8
push 0xd1
mov ecx, esi
call edx
jmp 0x46e57a
mov ecx, str.COUNTER_VALUE
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d7ee
cmp dx, bp
je 0x46d7ea
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d7ee
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d7c8
xor eax, eax
jmp 0x46d7f3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46d946
push str.COUNTER_VALUE
call fcn.0046ccd0
push eax
mov dword [esp + 0x18], eax
call fcn.0049e31d
mov esi, eax
add esp, 4
mov eax, str.COUNTER_INITAL_VALUE
call fcn.0046cca0
mov edi, eax
mov eax, 0x4c4fd8
call fcn.0046cca0
push 0x4c4fd8
mov ebx, eax
call fcn.0046ccd0
mov dword [esp + 0x18], eax
mov eax, str.COUNTER_TYPE
call fcn.0046cca0
xor ebp, ebp
mov dword [esp + 0x20], 1
cmp esi, edi
jae 0x46d856
test eax, eax
je 0x46d870
cmp esi, ebx
jbe 0x46d85e
test eax, eax
je 0x46d870
cmp esi, edi
jbe 0x46d867
cmp eax, 1
je 0x46d870
cmp esi, ebx
jae 0x46d874
cmp eax, 1
jne 0x46d874
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
jmp 0x46d880
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46d880
sub eax, edx
sar eax, 1
je 0x46d896
mov ebp, 1
mov eax, str.VALID_COUNTER
call fcn.0046cca0
mov edi, eax
mov eax, str.VALID_ROLLOVER
call fcn.0046cca0
test ebp, ebp
je 0x46d8be
cmp dword [esp + 0x20], 0
je 0x46d8be
mov esi, 1
jmp 0x46d8c0
xor esi, esi
cmp edi, esi
jne 0x46d8c8
cmp eax, esi
je 0x46d925
mov ecx, dword [0x4ee750]
push esi
push str.VALID_COUNTER
call fcn.0046c980
mov ecx, dword [0x4ee750]
push esi
push str.VALID_ROLLOVER
call fcn.0046c980
push 0x4c3af6
lea ecx, [esp + 0x28]
call fcn.00408080
mov dword [esp + 0x264], 3
mov eax, dword [eax]
push 0
mov ebx, 0x12
call fcn.0040dea0
lea ecx, [esp + 0x24]
mov dword [esp + 0x264], 0xffffffff
call fcn.00401a70
mov eax, dword [esp + 0x18]
push eax
call fcn.0049081d
mov ecx, dword [esp + 0x18]
add esp, 4
push ecx
call fcn.0049081d
add esp, 4
xor ebp, ebp
jmp 0x46e57a
mov ecx, str.COUNTER_INITAL_VALUE
mov eax, esi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d976
cmp dx, bp
je 0x46d972
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d976
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d950
xor eax, eax
jmp 0x46d97b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46e1bf
mov ecx, 0x4c4fd8
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d9b6
cmp dx, bp
je 0x46d9b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d9b6
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d990
xor eax, eax
jmp 0x46d9bb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46e1bf
mov ecx, str.COUNTER_TYPE
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46d9f6
cmp dx, bp
je 0x46d9f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46d9f6
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46d9d0
xor eax, eax
jmp 0x46d9fb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46e1bf
mov ecx, str.SHOWNFIELD_TEXT
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46da36
cmp dx, bp
je 0x46da32
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46da36
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46da10
xor eax, eax
jmp 0x46da3b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46dae1
push str.SHOWNFIELD_TEXT
call fcn.0046ccd0
mov ebp, eax
mov eax, str.FIELD_NUMCHAR
call fcn.0046cca0
mov esi, eax
mov eax, str.VALIDFIELDPROMPT_TEXT
call fcn.0046cca0
mov ecx, ebp
lea edi, [ecx + 2]
lea ebx, [ebx]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x46da70
sub ecx, edi
sar ecx, 1
cmp esi, ecx
jb 0x46daa8
mov ecx, ebp
lea esi, [ecx + 2]
jmp 0x46da90
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x46da90
sub ecx, esi
sar ecx, 1
je 0x46daa8
mov ecx, 1
jmp 0x46daaa
xor ecx, ecx
cmp ecx, eax
je 0x46e1af
push ecx
mov ecx, dword [0x4ee750]
push str.VALIDFIELDPROMPT_TEXT
call fcn.0046c980
push 0x4c3af6
lea ecx, [esp + 0x1c]
call fcn.00408080
mov dword [esp + 0x264], 5
jmp 0x46e18d
mov ecx, str.FIELD_NUMCHAR
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46db0e
cmp dx, bp
je 0x46db0a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46db0e
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46dae8
xor eax, eax
jmp 0x46db13
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46e021
mov ecx, str.FIELD_TEXT
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46db48
cmp dx, bp
je 0x46db44
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46db48
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46db22
xor eax, eax
jmp 0x46db4d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46e021
mov ecx, str.FIELD_PRINTPROMPT
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46db86
cmp dx, bp
je 0x46db82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46db86
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46db60
xor eax, eax
jmp 0x46db8b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46e021
mov ecx, str.BARCODE_EXAMPLE
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46dbc6
cmp dx, bp
je 0x46dbc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46dbc6
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46dba0
xor eax, eax
jmp 0x46dbcb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46df96
mov ecx, str.BARCODE_NUMCHAR
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46dc06
cmp dx, bp
je 0x46dc02
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46dc06
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46dbe0
xor eax, eax
jmp 0x46dc0b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46df96
mov ecx, str.UPGRADING_FIRMWARE
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46dc46
cmp dx, bp
je 0x46dc42
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46dc46
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46dc20
xor eax, eax
jmp 0x46dc4b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46dce4
push edi
call fcn.0049e31d
add esp, 4
cmp eax, 1
jne 0x46e57a
mov ecx, dword [0x4ee750]
push 0x64
push str.UPGRADEFIRMWARE_PERCENT
call fcn.0046c980
mov ecx, dword [0x4ee750]
push ebp
push str.UPGRADEFIRMWARE_RESULTS
call fcn.0046c980
push ebp
mov eax, 0x4c3af8
mov ebx, 0x12
call fcn.0040dea0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x7c]
cmp eax, ebp
je 0x46dcac
push eax
call fcn.0049081d
add esp, 4
push 0x20008
call fcn.004907ee
add esp, 4
cmp eax, ebp
je 0x46dccb
mov dword [eax + 0x20000], ebp
mov dword [eax + 0x20004], ebp
jmp 0x46dccd
xor eax, eax
mov dword [esi + 0x7c], eax
cmp eax, ebp
je 0x46e57a
mov esi, eax
call fcn.00478dc0
jmp 0x46e57a
mov ecx, str.BRIGHTNESS
mov eax, esi
jmp 0x46dcf0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46dd16
cmp dx, bp
je 0x46dd12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46dd16
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46dcf0
xor eax, eax
jmp 0x46dd1b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x46dde6
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
push ebp
push 0xf003f
push ebp
push ebp
push ebp
push str.ControlPanelBacklight
push reloc.WS2_32.dll_accept
mov dword [esp + 0x4c], ebp
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x46e57a
push edi
call fcn.0049e31d
mov ecx, eax
shl ecx, 8
mov eax, 0x51eb851f
mul ecx
shr edx, 5
add esp, 4
mov dword [esp + 0x20], edx
cmp edx, 0xff
jbe 0x46dd7e
mov dword [esp + 0x20], 0xff
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 4
lea edx, [esp + 0x24]
push edx
push 4
push ebp
push str.BattBacklightLevel
push eax
call esi
mov edx, dword [esp + 0x28]
push 4
lea ecx, [esp + 0x24]
push ecx
push 4
push ebp
push str.ACBacklightLevel
push edx
call esi
mov eax, dword [esp + 0x28]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.BackLightLevelChangeEvent
push ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
cmp esi, ebp
je 0x46e57a
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x46e57a
mov ecx, str.PARITY
mov eax, esi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46de16
cmp dx, bp
je 0x46de12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46de16
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46ddf0
xor eax, eax
jmp 0x46de1b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46df73
mov ecx, str.STOPBITS
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46de56
cmp dx, bp
je 0x46de52
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46de56
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46de30
xor eax, eax
jmp 0x46de5b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46df73
mov ecx, str.DATABITS
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46de96
cmp dx, bp
je 0x46de92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46de96
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46de70
xor eax, eax
jmp 0x46de9b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46df73
mov ecx, str.BAUDRATE
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46ded6
cmp dx, bp
je 0x46ded2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46ded6
add eax, 4
add ecx, 4
cmp dx, bp
jne 0x46deb0
xor eax, eax
jmp 0x46dedb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x46df73
push esi
push str.ENCODER
call fcn.0049de7f
add esp, 8
test eax, eax
jne 0x46df50
push edi
call fcn.0049e31d
add esp, 4
cmp eax, 1
jne 0x46e57a
mov eax, str.VIEWWIDTH
call fcn.0046cca0
cmp eax, 0x3e7
jbe 0x46e57a
mov ecx, dword [0x4ee750]
push 0x3e7
push str.VIEWWIDTH
call fcn.0046c980
mov eax, str.VIEWDELAY
call fcn.0046cca0
mov dword [ebx + 0x6c], eax
mov eax, str.VIEWWIDTH
call fcn.0046cca0
mov dword [ebx + 0x70], eax
jmp 0x46e56e
push esi
push str.VIEWBARCODEMATCH
call fcn.0049de7f
add esp, 8
test eax, eax
jne 0x46e57a
mov eax, dword [ebx + 0x10]
call fcn.00467a30
jmp 0x46e57a
push str.handleComsUpdated
push ebp
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x46e57a
mov eax, str.BARCODE_NUMCHAR
call fcn.0046cca0
mov esi, eax
mov eax, str.BARCODE_PROMPT_VALID
call fcn.0046cca0
mov ecx, edi
lea edi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bp
jne 0x46dfb1
sub ecx, edi
sar ecx, 1
xor edx, edx
cmp ecx, esi
sete dl
mov ecx, edx
cmp ecx, eax
je 0x46e57a
push ecx
mov ecx, dword [0x4ee750]
push str.BARCODE_PROMPT_VALID
call fcn.0046c980
push str.BARCODE_PROMPT_VALID
lea ecx, [esp + 0x1c]
call fcn.004019b0
mov dword [esp + 0x264], 7
mov eax, dword [eax]
push ebp
mov ebx, 0x12
call fcn.0040dea0
lea ecx, [esp + 0x18]
mov dword [esp + 0x264], 0xffffffff
call fcn.00401a70
jmp 0x46e57a
push str.FIELD_TEXT
call fcn.0046ccd0
mov dword [esp + 0x24], eax
mov eax, str.FIELD_NUMCHAR
call fcn.0046cca0
mov eax, 0x4c5910
call fcn.0046cca0
test eax, eax
je 0x46e129
mov eax, str.BARCODE_CHARSLEFT
call fcn.0046cca0
mov dword [esp + 0x18], eax
mov eax, str.BARCODE_MINCHARS
call fcn.0046cca0
mov eax, str.FIELD_NUMCHAR
call fcn.0046cca0
mov ebx, eax
mov eax, str.FIELD_PRINTPROMPT
xor ebp, ebp
call fcn.0046cca0
test eax, eax
je 0x46e11b
push str.FIELD_TEXT
call fcn.0046ccd0
mov edi, eax
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e092
sub eax, edx
sar eax, 1
add ebx, eax
mov eax, str.FIELD_TYPE
call fcn.0046cca0
sub eax, 0
je 0x46e0e4
sub eax, 1
je 0x46e0d0
sub eax, 1
jne 0x46e112
mov eax, edi
lea ecx, [esp + 0x38]
call fcn.0046f560
push 0x2d
push str.0123456789:__.____ABCDEFGHIJKLMNOPQRSTUVWXYZ
jmp 0x46e0f6
mov eax, edi
lea ecx, [esp + 0x38]
call fcn.0046f560
push 0x1a
push 0x4cdb50
jmp 0x46e0f6
mov eax, edi
lea ecx, [esp + 0x38]
call fcn.0046f560
push 0xa
push str.0123456789
lea eax, [esp + 0x40]
call fcn.0046f5d0
cmp eax, 0xffffffff
je 0x46e109
mov ebp, 1
lea esi, [esp + 0x38]
call fcn.0046f5a0
push edi
call fcn.0049081d
add esp, 4
cmp ebx, dword [esp + 0x18]
jg 0x46e125
test ebp, ebp
je 0x46e129
xor edi, edi
jmp 0x46e12e
mov edi, 1
mov eax, str.VALIDFIELD_TEXT
call fcn.0046cca0
mov ebp, dword [esp + 0x24]
mov ecx, ebp
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x46e141
sub ecx, esi
sar ecx, 1
je 0x46e15d
test edi, edi
je 0x46e15d
mov ecx, 1
jmp 0x46e15f
xor ecx, ecx
cmp ecx, eax
je 0x46e1af
push ecx
mov ecx, dword [0x4ee750]
push str.VALIDFIELD_TEXT
call fcn.0046c980
push str.VALIDFIELD_TEXT
lea ecx, [esp + 0x1c]
call fcn.004019b0
mov dword [esp + 0x264], 6
mov eax, dword [eax]
push 0
mov ebx, 0x12
call fcn.0040dea0
lea ecx, [esp + 0x18]
mov dword [esp + 0x264], 0xffffffff
call fcn.00401a70
push ebp
call fcn.0049081d
add esp, 4
xor ebp, ebp
jmp 0x46e57a
push str.COUNTER_INITAL_VALUE
call fcn.0046ccd0
mov ebp, eax
push ebp
call fcn.0049e31d
mov edi, eax
add esp, 4
mov eax, 0x4c4fd8
call fcn.0046cca0
push 0x4c4fd8
mov ebx, eax
call fcn.0046ccd0
mov dword [esp + 0x14], eax
mov eax, str.COUNTER_TYPE
call fcn.0046cca0
mov esi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], 0
mov ecx, str.COUNTER_INITAL_VALUE
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x46e236
test dx, dx
je 0x46e232
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x46e236
add eax, 4
add ecx, 4
test dx, dx
jne 0x46e210
xor eax, eax
jmp 0x46e23b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46e3d1
mov eax, dword [0x4ee74c]
mov eax, dword [eax + 0x288]
add eax, 0x124
push str.editCounter_popup
push eax
call fcn.00411640
add esp, 8
test al, al
je 0x46e3d1
test esi, esi
jne 0x46e306
cmp ebx, edi
jb 0x46e2ab
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e280
sub eax, edx
mov ecx, ebp
sar eax, 1
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x46e294
sub ecx, esi
sar ecx, 1
cmp eax, ecx
jbe 0x46e3d1
mov eax, ebp
xor edx, edx
xor esi, esi
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e2b4
sub eax, edi
sar eax, 1
je 0x46e2e5
lea ecx, [edx + edx*4]
mov eax, ebp
lea edx, [ecx + ecx + 9]
inc esi
lea edi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e2d2
sub eax, edi
sar eax, 1
cmp esi, eax
jb 0x46e2c5
mov ecx, dword [esp + 0x1c]
push edx
push 0x4c4fd8
call fcn.0046c980
mov edx, dword [esp + 0x14]
push edx
call fcn.0049081d
add esp, 4
jmp 0x46e3c3
cmp esi, 1
jne 0x46e3d1
cmp ebx, edi
ja 0x46e34b
mov eax, dword [esp + 0x14]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e320
sub eax, edx
mov ecx, ebp
sar eax, 1
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x46e334
sub ecx, esi
sar ecx, 1
cmp eax, ecx
jae 0x46e3d1
xor eax, eax
mov word [esp + 0x54], ax
mov eax, ebp
xor ecx, ecx
lea esi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x46e360
sub eax, esi
sar eax, 1
je 0x46e3a3
xor eax, eax
mov word [esp + ecx*2 + 0x56], ax
mov edx, 0x30
mov eax, ebp
mov word [esp + ecx*2 + 0x54], dx
inc ecx
lea esi, [eax + 2]
jmp 0x46e390
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x46e390
sub eax, esi
sar eax, 1
cmp ecx, eax
jb 0x46e371
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0049081d
mov ecx, dword [esp + 0x20]
add esp, 4
lea edx, [esp + 0x54]
push edx
push 0x4c4fd8
call fcn.0046cab0
push 0x4c4fd8
call fcn.0046ccd0
mov dword [esp + 0x14], eax
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e3d6
sub eax, edx
sar eax, 1
mov ebx, 1
jne 0x46e3f0
mov ebx, dword [esp + 0x18]
mov eax, dword [0x4ee74c]
mov eax, dword [eax + 0x288]
add eax, 0x124
push str.editCounter_popup
push eax
call fcn.00408510
add esp, 8
test al, al
je 0x46e44d
mov eax, str.MAX_COUNTERSIZE
call fcn.0046cca0
mov ecx, ebp
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x46e421
sub ecx, esi
sar ecx, 1
cmp ecx, eax
jbe 0x46e461
mov eax, ebp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e440
jmp 0x46e45d
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x46e452
sub eax, edx
sar eax, 1
mov ecx, dword [0x4ee750]
push eax
push str.MAX_COUNTERSIZE
call fcn.0046c980
mov eax, str.VALID_COUNTER
call fcn.0046cca0
mov edi, eax
mov eax, str.VALID_ROLLOVER
call fcn.0046cca0
xor ecx, ecx
test ebx, ebx
setne cl
mov esi, ecx
cmp edi, esi
jne 0x46e499
cmp eax, esi
je 0x46e4f6
mov ecx, dword [0x4ee750]
push esi
push str.VALID_COUNTER
call fcn.0046c980
mov ecx, dword [0x4ee750]
push esi
push str.VALID_ROLLOVER
call fcn.0046c980
push 0x4c3af6
lea ecx, [esp + 0x1c]
call fcn.00408080
mov dword [esp + 0x264], 4
mov eax, dword [eax]
push 0
mov ebx, 0x12
call fcn.0040dea0
lea ecx, [esp + 0x18]
mov dword [esp + 0x264], 0xffffffff
call fcn.00401a70
mov edx, dword [esp + 0x14]
push edx
call fcn.0049081d
add esp, 4
push ebp
call fcn.0049081d
add esp, 4
xor ebp, ebp
jmp 0x46e57a
cmp dword [0x4ee750], ebp
je 0x46e5be
push str.VIEWDELAY
xor esi, esi
call fcn.0046ccd0
mov edi, eax
cmp edi, ebp
je 0x46e542
push edi
call fcn.0049e31d
add esp, 4
push edi
mov esi, eax
call fcn.0049081d
add esp, 4
push str.VIEWWIDTH
mov dword [ebx + 0x6c], esi
xor edi, edi
call fcn.0046ccd0
mov esi, eax
cmp esi, ebp
je 0x46e56b
push esi
call fcn.0049e31d
add esp, 4
push esi
mov edi, eax
call fcn.0049081d
add esp, 4
mov dword [ebx + 0x70], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x64
mov dword [ebx + 0x74], eax
cmp dword [0x4ee750], ebp
je 0x46e5be
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x1c]
cmp eax, ebp
je 0x46e5be
mov ecx, dword [eax + 0x5c]
push ecx
push eax
call fcn.004823b0
test eax, eax
je 0x46e5be
mov edx, dword [0x4ee750]
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax + 0x5c]
push ebp
push ecx
push eax
call fcn.004823b0
mov edi, dword [esp + 0x34]
mov ebx, eax
mov eax, dword [esp + 0x38]
call fcn.00480a70
mov ecx, dword [esp + 0x25c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x240]
xor ecx, esp
call fcn.0049dc2a
add esp, 0x254
ret 4