Function at 0x420384
Capabilities:
Execute command
Read file on windows
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x288
push ebx
push esi
push edi
lea edi, [ebp - 0x288]
mov ecx, 0xa2
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [0x430044]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, 0x43501a
call fcn.004112c1
mov esi, esp
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xc], eax
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________CP2112_bq40z50_55_READER_n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__Calibrate
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.DesCap__DesVolt__CHGVolt__CHGCurrent__ChemID_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________________________________________________________n
call fcn.00411050
add esp, 4
cmp dword [0x430a7c], 1
jne 0x41f39a
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._________DEVICE_in_BOOT_ROM_mod_n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____Please_EXIT_from_BOOT_ROM_mod_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.________________________________________n
call fcn.00411050
add esp, 4
jmp 0x421618
call fcn.00411460
cmp dword [0x430a8c], 2
je 0x41f3f1
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._Must_be........_UNSEALED__FullAccess_n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._______________________________________n
call fcn.00411050
add esp, 4
jmp 0x421618
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0x220], ecx
cmp dword [ebp - 0x220], 0x63
jae 0x41f40a
jmp 0x41f40f
call fcn.004111c2
mov edx, dword [ebp - 0x220]
mov byte [edx + 0x430a18], 0
mov eax, 1
shl eax, 0
mov byte [eax + 0x430a18], 1
mov eax, 1
shl eax, 1
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0x63
jae 0x41f443
jmp 0x41f448
call fcn.004111c2
mov ecx, dword [ebp - 0x22c]
mov byte [ecx + 0x430a18], 0
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x23
mov byte [0x4301eb], 1
mov dword [0x4301ec], 3
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 1
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
shl edx, 0
movzx eax, byte [edx + 0x430188]
add ecx, eax
mov dword [0x430ac0], ecx
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0x63
jae 0x41f4e9
jmp 0x41f4ee
call fcn.004111c2
mov edx, dword [ebp - 0x238]
mov byte [edx + 0x430a18], 0
mov eax, 1
shl eax, 0
mov byte [eax + 0x430a18], 2
mov eax, 1
shl eax, 1
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0x63
jae 0x41f522
jmp 0x41f527
call fcn.004111c2
mov ecx, dword [ebp - 0x244]
mov byte [ecx + 0x430a18], 0
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x23
mov byte [0x4301eb], 1
mov dword [0x4301ec], 5
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
imul ecx, eax, 3
movzx edx, byte [ecx + 0x430188]
shl edx, 8
and edx, 0xff00
mov eax, 1
shl eax, 2
movzx ecx, byte [eax + 0x430188]
add edx, ecx
mov dword [0x432b00], edx
cmp dword [0x430ac0], 0x4555
jne 0x41f680
cmp dword [0x432b00], 0x108
jne 0x41f680
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____________Chip_in_device:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430ac0]
and eax, 0xfff
push eax
push str.bq40z_03x
call fcn.00411050
add esp, 8
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__FW:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x432b00]
push eax
push str._04X
call fcn.00411050
add esp, 8
push 0x42af74
call fcn.00411050
add esp, 4
jmp 0x41f77f
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._Device_Type:_0x0001_:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430ac0]
push eax
push str.__04X_n_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._Firmware_Version_0x0002_:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x432b00]
push eax
push str._04X_Hex_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._________________UNSUPPORTED_DEVICE_____n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________________________________________________________n
call fcn.00411050
add esp, 4
jmp 0x421618
mov dword [0x430af8], 0
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x18
mov byte [0x4301eb], 1
mov dword [0x4301ec], 2
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 0
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
imul eax, edx, 0
movzx edx, byte [eax + 0x430188]
add ecx, edx
mov dword [0x430a94], ecx
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._OLD
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Design_Capacity__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push 0x42c460
call fcn.00411050
add esp, 8
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push str._04X_n_n
call fcn.00411050
add esp, 8
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
cmp eax, 0xa
je 0x41f8dc
jmp 0x41f8c6
call fcn.0041126c
mov dword [0x430af8], eax
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n_NEW
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Design_Capacity__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430af8]
push eax
push str._04u
call fcn.00411050
add esp, 8
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430af8]
push eax
push str._04X_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov eax, dword [0x430af8]
mov dword [0x430af4], eax
mov dword [0x430af0], 0
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x19
mov byte [0x4301eb], 1
mov dword [0x4301ec], 2
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 0
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
imul eax, edx, 0
movzx edx, byte [eax + 0x430188]
add ecx, edx
mov dword [0x430a94], ecx
mov eax, dword [0x430a94]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x3840
jge 0x41fa64
mov eax, dword [ebp - 0x18]
cdq
mov ecx, 3
idiv ecx
mov dword [0x430a94], eax
mov dword [0x430030], 3
jmp 0x41fa7f
mov eax, dword [ebp - 0x18]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x430a94], eax
mov dword [0x430030], 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._OLD
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Design_Voltage_Cell__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push 0x42c460
call fcn.00411050
add esp, 8
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push str._04X_n_n
call fcn.00411050
add esp, 8
call fcn.0041126c
mov dword [0x430af0], eax
mov eax, dword [0x430af0]
imul eax, dword [0x430030]
mov dword [0x430aec], eax
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n_NEW
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Design_Voltage_Cell__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430af0]
push eax
push str._04u
call fcn.00411050
add esp, 8
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430af0]
push eax
push str._04X_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov dword [0x430ae4], 0
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x15
mov byte [0x4301eb], 1
mov dword [0x4301ec], 2
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 0
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
imul eax, edx, 0
movzx edx, byte [eax + 0x430188]
add ecx, edx
mov dword [0x430a94], ecx
cmp dword [0x430a94], 0x41a0
jge 0x41fcb7
mov eax, dword [0x430a94]
cdq
mov ecx, 3
idiv ecx
mov dword [0x430a94], eax
jmp 0x41fcca
mov eax, dword [0x430a94]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x430a94], eax
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._OLD
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Charging_Voltage_Cell__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push 0x42c460
call fcn.00411050
add esp, 8
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push str._04X_n_n
call fcn.00411050
add esp, 8
call fcn.0041126c
mov dword [0x430ae4], eax
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n_NEW
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Charging_Voltage_Cell__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430ae4]
push eax
push str._04u
call fcn.00411050
add esp, 8
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430ae4]
push eax
push str._04X_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov dword [0x430ae0], 0
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x14
mov byte [0x4301eb], 1
mov dword [0x4301ec], 2
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 0
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
imul eax, edx, 0
movzx edx, byte [eax + 0x430188]
add ecx, edx
mov dword [0x430a94], ecx
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._OLD
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Charging_Current__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push 0x42c460
call fcn.00411050
add esp, 8
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push str._04X_n_n
call fcn.00411050
add esp, 8
call fcn.0041126c
mov dword [0x430ae0], eax
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n_NEW
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Charging_Current__DEC__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430ae0]
push eax
push str._04u
call fcn.00411050
add esp, 8
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____HEX__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430ae0]
push eax
push str._04X_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0x250], ecx
cmp dword [ebp - 0x250], 0x63
jae 0x420082
jmp 0x420087
call fcn.004111c2
mov edx, dword [ebp - 0x250]
mov byte [edx + 0x430a18], 0
mov eax, 1
shl eax, 0
mov byte [eax + 0x430a18], 6
mov eax, 1
shl eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0x63
jae 0x4200bb
jmp 0x4200c0
call fcn.004111c2
mov ecx, dword [ebp - 0x25c]
mov byte [ecx + 0x430a18], 0
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x23
mov byte [0x4301eb], 1
mov dword [0x4301ec], 3
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 1
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
shl edx, 0
movzx eax, byte [edx + 0x430188]
add ecx, eax
mov dword [0x430a94], ecx
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.____________________OLD_Chemistry_ID_:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
push eax
push str._04X_Hex_n_n
call fcn.00411050
add esp, 8
call fcn.00411375
mov dword [0x430afc], eax
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n____________________NEW_Chemistry_ID_:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430afc]
push eax
push str._04x_Hex_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov dword [ebp - 0x24], 0
push 0x62
push 0
lea eax, [ebp - 0x90]
push eax
call fcn.0041113b
add esp, 0xc
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.____NAME_of_file_to_save_Eeprom_data__flash:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._EEPROM_BACKUP.bin_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0x42c664
push str.EEPROM_BACKUP.bin
call dword [sym.imp.ucrtbased.dll_fopen]
add esp, 8
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jne 0x42039c
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.______Error_opening_file_EEPROM_BACKUP.bin..._n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d1fc
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d240
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Y_Yes_N_No:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
mov dword [0x430a80], eax
mov eax, dword [0x430a80]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
sub ecx, 0x4e
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 0x2b
ja case.0x420376.1
mov edx, dword [ebp - 0x288]
movzx eax, byte [edx + 0x42169c]
jmp dword [eax*4 + 0x421688]
jmp 0x420266
jmp 0x420266
jmp 0x421618
jmp 0x421618
jmp 0x4202d9
mov dword [ebp - 0xa8], 0
jmp 0x4203b7
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x100
jge 0x420539
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0x268], ecx
cmp dword [ebp - 0x268], 0x63
jae 0x4203e0
jmp 0x4203e5
call fcn.004111c2
mov edx, dword [ebp - 0x268]
mov byte [edx + 0x430a18], 0
mov eax, dword [ebp - 0xa8]
and eax, 0xff
mov ecx, 1
shl ecx, 0
mov byte [ecx + 0x430a18], al
mov eax, 1
shl eax, 1
mov byte [eax + 0x430a18], 1
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0x2f
mov byte [0x4301eb], 1
mov dword [0x4301ec], 0x21
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov esi, esp
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xb4], 0
jmp 0x420492
mov eax, dword [ebp - 0xb4]
add eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x20
jge 0x4204d9
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
mov dl, byte [ecx + 0x430189]
mov byte [ebp + eax - 0x90], dl
mov eax, dword [ebp - 0xa8]
shl eax, 5
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb4]
mov dl, byte [ebp + edx - 0x90]
mov byte [eax + ecx + 0x430b00], dl
jmp 0x420483
mov esi, esp
mov eax, dword [ebp - 0x9c]
push eax
push 1
push 0x20
lea ecx, [ebp - 0x90]
push ecx
call dword [sym.imp.ucrtbased.dll_fwrite]
add esp, 0x10
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c6a4
mov esi, esp
push 2
call dword [sym.imp.ucrtbased.dll___acrt_iob_func]
add esp, 4
cmp esi, esp
call fcn.004112d0
push eax
call fcn.00411230
add esp, 8
jmp 0x4203a8
push 0x42af74
call fcn.00411050
add esp, 4
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____Reading_EEPROM_to_EEPROM_BACKUP.bin__Done__n
call fcn.00411050
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x9c]
push eax
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
cmp esi, esp
call fcn.004112d0
cmp dword [0x430ac0], 0x4555
jne 0x4205c0
cmp dword [0x432b00], 0x108
jne 0x4205c0
call fcn.004110fa
mov dword [ebp - 0xc0], 0
mov esi, esp
push 0x42c664
push str.EEPROM_DATA.bin
call dword [sym.imp.ucrtbased.dll_fopen]
add esp, 8
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jne 0x42073a
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____________Error_opening_file_EEPROM_DATA.bin_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d308
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d354
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Y_Yes_N_No:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
cmp dword [ebp - 0xc0], 0
jle 0x4206bf
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
cmp eax, 0xa
je 0x4206b5
jmp 0x42069f
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
sub ecx, 0x4e
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 0x2b
ja case.0x420714.1
mov edx, dword [ebp - 0x288]
movzx eax, byte [edx + 0x4216dc]
jmp dword [eax*4 + 0x4216c8]
jmp 0x4205ca
jmp 0x4205ca
jmp 0x421618
jmp 0x421618
jmp 0x42063d
mov esi, esp
mov eax, dword [ebp - 0x9c]
push eax
push 1
push 0x2000
push 0x430b00
call dword [sym.imp.ucrtbased.dll_fwrite]
add esp, 0x10
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.004112d0
mov esi, esp
mov eax, dword [ebp - 0x9c]
push eax
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d380
call fcn.00411050
add esp, 4
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d3bc
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Y_Yes_N_No:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
cmp dword [ebp - 0xc0], 0
jle 0x42084f
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
cmp eax, 0xa
je 0x420845
jmp 0x42082f
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
sub ecx, 0x4e
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 0x2b
ja case.0x4208a4.1
mov edx, dword [ebp - 0x288]
movzx eax, byte [edx + 0x42171c]
jmp dword [eax*4 + 0x421708]
jmp 0x4208c8
jmp 0x4208c8
jmp 0x421618
jmp 0x421618
jmp 0x4207ab
xor eax, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov word [ebp - 0xf0], ax
mov byte [ebp - 0xee], al
xor eax, eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov word [ebp - 0x11c], ax
mov byte [ebp - 0x11a], al
mov esi, esp
push 0x42c86c
push str.EEPROM_DATA.bin
call dword [sym.imp.ucrtbased.dll_fopen]
add esp, 8
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0x148], eax
cmp dword [ebp - 0x148], 0
jne 0x420b1c
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________n_n
call fcn.00411050
add esp, 4
push str._________Error_opening_file
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.EEPROM_DATA.bin_n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d3bc
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Y_Yes_N_No:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
cmp dword [ebp - 0xc0], 0
jle 0x420aa1
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
cmp eax, 0xa
je 0x420a97
jmp 0x420a81
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
sub ecx, 0x4e
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 0x2b
ja case.0x420af6.1
mov edx, dword [ebp - 0x288]
movzx eax, byte [edx + 0x42175c]
jmp dword [eax*4 + 0x421748]
jmp 0x420946
jmp 0x420946
jmp 0x421618
jmp 0x421618
jmp 0x4209fd
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.________Opening_present_file
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._EEPROM_DATA.bin_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
mov esi, esp
push 2
push 0
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_fseek]
add esp, 0xc
cmp esi, esp
call fcn.004112d0
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_ftell]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xd8], eax
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_rewind]
add esp, 4
cmp esi, esp
call fcn.004112d0
cmp dword [ebp - 0xd8], 0x2000
je 0x420c45
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d428
call fcn.00411050
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
cmp esi, esp
call fcn.004112d0
jmp 0x421618
mov eax, 1
imul ecx, eax, 0
mov dword [ebp - 0x274], ecx
cmp dword [ebp - 0x274], 0x63
jae 0x420c5e
jmp 0x420c63
call fcn.004111c2
mov edx, dword [ebp - 0x274]
mov byte [edx + 0x430a18], 0
mov dword [ebp - 0x280], 1
cmp dword [ebp - 0x280], 0x63
jae 0x420c85
jmp 0x420c8a
call fcn.004111c2
mov eax, dword [ebp - 0x280]
mov byte [eax + 0x430a18], 0
mov eax, 1
shl eax, 1
mov byte [eax + 0x430a18], 0xf
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov dword [0x430a7c], 1
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0xd
mov byte [0x4301eb], 1
mov dword [0x4301ec], 2
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov eax, 1
shl eax, 0
movzx ecx, byte [eax + 0x430188]
shl ecx, 8
and ecx, 0xff00
mov edx, 1
imul eax, edx, 0
movzx edx, byte [eax + 0x430188]
add ecx, edx
mov dword [0x430a94], ecx
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.____________Device___in_BootRom_mode_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [0x430a94]
and eax, 0xff
push eax
mov ecx, dword [0x430a94]
sar ecx, 8
and ecx, 0xff
push ecx
push str.____________TI_Boot_ROM_version__02X._02X_n
call fcn.00411050
add esp, 0xc
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._____Flashing_EEPROM_data__flash_in_BOOT_mod_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.____Erasing_eeprom_data__flash
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Pause..._n
call fcn.00411050
add esp, 4
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x430a18], 0x11
mov eax, 1
shl eax, 0
mov byte [eax + 0x430a18], 0xde
mov eax, 1
shl eax, 1
mov byte [eax + 0x430a18], 0x83
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov esi, esp
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________Erasing_EEPROM_data____Done_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________Flashing_EEPROM_data__flash_n
call fcn.00411050
add esp, 4
mov dword [ebp - 0xd8], 0
jmp 0x420eea
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x100
jae 0x42100e
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
push 1
push 0x20
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.ucrtbased.dll_fread]
add esp, 0x10
cmp esi, esp
call fcn.004112d0
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x430a18], 0xf
mov eax, 1
shl eax, 0
mov byte [eax + 0x430a18], 0x22
mov eax, dword [ebp - 0xd8]
shl eax, 5
add eax, 0x4000
and eax, 0xff
mov ecx, 1
shl ecx, 1
mov byte [ecx + 0x430a18], al
mov eax, dword [ebp - 0xd8]
shl eax, 5
add eax, 0x4000
shr eax, 8
and eax, 0xff
mov ecx, 1
imul edx, ecx, 3
mov byte [edx + 0x430a18], al
mov dword [ebp - 0xe4], 0
jmp 0x420f9b
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x21
jae 0x420fbf
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe4]
mov dl, byte [ebp + ecx - 0x110]
mov byte [eax + 0x430a1c], dl
jmp 0x420f8c
mov byte [0x430001], 0x24
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.004112d0
push 0x42c6a4
call fcn.00411050
add esp, 4
jmp 0x420edb
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n__________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._______Flashing_EEPROM_data__flash__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Done__n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.___________RUN_Verifying_Eeprom_data__n
call fcn.00411050
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_rewind]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xd8], 0
jmp 0x4210ec
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x100
jae 0x421417
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
push 1
push 0x20
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.ucrtbased.dll_fread]
add esp, 0x10
cmp esi, esp
call fcn.004112d0
mov eax, dword [ebp - 0xd8]
shl eax, 5
add eax, 0x4000
mov dword [ebp - 0x24], eax
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x430a18], 9
mov eax, dword [ebp - 0x24]
and eax, 0xff
mov ecx, 1
shl ecx, 0
mov byte [ecx + 0x430a18], al
mov eax, dword [ebp - 0x24]
shr eax, 8
and eax, 0xff
mov ecx, 1
shl ecx, 1
mov byte [ecx + 0x430a18], al
mov byte [0x430001], 3
movzx eax, byte [0x430001]
push eax
call fcn.004112c6
add esp, 4
mov esi, esp
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.004112d0
mov eax, 1
imul ecx, eax, 0
mov byte [ecx + 0x4301f0], 0xc
mov byte [0x4301eb], 1
mov dword [0x4301ec], 0x21
mov eax, dword [0x4301ec]
push eax
movzx ecx, byte [0x4301eb]
push ecx
call fcn.00411078
add esp, 8
mov esi, esp
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0xe4], 0
jmp 0x4211f8
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x20
jae 0x42121c
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe4]
mov dl, byte [ecx + 0x430189]
mov byte [ebp + eax - 0x13c], dl
jmp 0x4211e9
mov dword [ebp - 0xe4], 0
jmp 0x421237
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x20
jae 0x4213f0
mov eax, dword [ebp - 0xe4]
movzx ecx, byte [ebp + eax - 0x13c]
mov edx, dword [ebp - 0xe4]
movzx eax, byte [ebp + edx - 0x110]
sub ecx, eax
je 0x4213eb
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._n__________________________________________________n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov eax, dword [ebp - 0xd8]
push eax
push str._________Block_verify_fail._Block__d_n
call fcn.00411050
add esp, 8
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________n_n
call fcn.00411050
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xb
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d4c8
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Y_Yes_N_No:
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
cmp dword [ebp - 0xc0], 0
jle 0x421370
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
cmp eax, 0xa
je 0x421366
jmp 0x421350
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov esi, esp
call dword [sym.imp.ucrtbased.dll_getchar]
cmp esi, esp
call fcn.004112d0
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
sub ecx, 0x4e
mov dword [ebp - 0x288], ecx
cmp dword [ebp - 0x288], 0x2b
ja case.0x4213c5.1
mov edx, dword [ebp - 0x288]
movzx eax, byte [edx + 0x42179c]
jmp dword [eax*4 + 0x421788]
jmp 0x4208c8
jmp 0x4208c8
jmp 0x421618
jmp 0x421618
jmp 0x4212ee
jmp 0x421228
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c6a4
call fcn.00411050
add esp, 4
jmp 0x4210dd
push 0x42af74
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.______Verifying_Flashing_eeprom_data__
call fcn.00411050
add esp, 4
mov esi, esp
push 0xa
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str._OK__n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________n_n
call fcn.00411050
add esp, 4
mov esi, esp
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.ucrtbased.dll_fclose]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
mov esi, esp
push str.pause
call dword [sym.imp.ucrtbased.dll_system]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0x42d4ec
call dword [sym.imp.ucrtbased.dll_system]
add esp, 4
cmp esi, esp
call fcn.004112d0
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.__________________________________________________n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d4f0
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d518
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.BOOT_rom
call fcn.00411050
add esp, 4
mov esi, esp
push 0xf
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d53c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xe
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push str.Read_EEPROM_n_n
call fcn.00411050
add esp, 4
mov esi, esp
push 0xc
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42d55c
call fcn.00411050
add esp, 4
mov esi, esp
push 0xd
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
cmp esi, esp
call fcn.004112d0
push 0x42c72c
call fcn.00411050
add esp, 4
push edx
mov ecx, ebp
push eax
lea edx, [0x421648]
call fcn.004112f8
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00411276
add esp, 0x288
cmp ebp, esp
call fcn.004112d0
mov esp, ebp
pop ebp
ret