Function at 0x424070
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x467e67
mov eax, dword fs:[0]
push eax
mov eax, 0x8290
call fcn.004528d0
mov eax, dword [0x4c6af0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x8110]
call fcn.004023c0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x8100]
call fcn.004023c0
mov byte [ebp - 4], 1
mov eax, dword [0x5164bc]
mov dword [ebp - 0x8108], eax
mov dword [ebp - 0xf8], 0x10
cmp dword [ebp - 0x8108], 0
jne 0x424134
push 0x4b138c
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00451db8
add esp, 8
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jne 0x424134
mov dword [ebp - 0x81e4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8100]
call fcn.00402480
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8110]
call fcn.00402480
mov eax, dword [ebp - 0x81e4]
jmp 0x425430
push 0x4b1390
mov ecx, 0x517534
call fcn.0042cf90
cmp dword [0x4ca89c], 0
je 0x42415b
push str._r_n___Silence_Script
mov ecx, 0x517534
call fcn.0042cf90
mov edx, 1
test edx, edx
je 0x4253d8
cmp dword [ebp - 0x8108], 0
je 0x42420b
mov dword [ebp - 0x8114], 0
jmp 0x424190
mov eax, dword [ebp - 0x8114]
add eax, 1
mov dword [ebp - 0x8114], eax
cmp dword [ebp - 0x8114], 0xc8
jge 0x4241f9
mov ecx, dword [ebp - 0xf8]
mov dl, byte [ecx + str.DiES_SCR:0x00CA_INSTALL_TestISP.bin_r_nDELAY_100_r_nFILL_CDB_06f6AD_r_nSEND_0_r_nDELAY_100_r_nFILL_CDB_06F60101_r_nGET_64_r_nSHOW_DATA_16_r_nEXIT_r_n_End]
mov byte [ebp - 0x8115], dl
mov eax, dword [ebp - 0xf8]
add eax, 1
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0x8114]
mov dl, byte [ebp - 0x8115]
mov byte [ebp + ecx - 0xf4], dl
movzx eax, byte [ebp - 0x8115]
test eax, eax
je 0x4241e7
movzx ecx, byte [ebp - 0x8115]
cmp ecx, 0xa
jne 0x4241f7
mov edx, dword [ebp - 0x8114]
mov byte [ebp + edx - 0xf4], 0
jmp 0x4241f9
jmp 0x424181
movsx eax, byte [ebp - 0xf4]
test eax, eax
jne 0x424209
jmp 0x4253d8
jmp 0x42423e
mov ecx, dword [ebp - 0xfc]
push ecx
push 0xc8
lea edx, [ebp - 0xf4]
push edx
call fcn.00452b13
add esp, 0xc
mov eax, dword [ebp - 0xfc]
push eax
call fcn.00452adf
add esp, 4
test eax, eax
je 0x42423e
jmp 0x4253d8
push ecx
mov ecx, esp
mov dword [ebp - 0x81e8], esp
push 0x4b13d0
call fcn.00402400
mov dword [ebp - 0x8244], eax
call fcn.00424010
add esp, 4
push ecx
mov ecx, esp
mov dword [ebp - 0x81ec], esp
lea edx, [ebp - 0xf4]
push edx
call fcn.00402400
mov dword [ebp - 0x8248], eax
call fcn.00424010
add esp, 4
movsx eax, byte [ebp - 0xf4]
cmp eax, 0x3b
je 0x42429a
movsx ecx, byte [ebp - 0xf4]
cmp ecx, 0x2f
jne 0x42429f
jmp 0x4253d3
push 7
push str.INSTALL
lea edx, [ebp - 0xf4]
push edx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x424377
mov eax, dword [ebp - 0x8108]
neg eax
sbb eax, eax
and eax, 2
mov byte [ebp - 0x8116], al
movzx ecx, byte [ebp - 0x8116]
push ecx
lea edx, [ebp - 0xed]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00414630
add esp, 0xc
test eax, eax
je 0x424351
push ecx
mov ecx, esp
mov dword [ebp - 0x81f0], esp
push 0x4b13dc
call fcn.00402400
mov dword [ebp - 0x824c], eax
call fcn.00424010
add esp, 4
mov byte [0x5165cc], 0x32
mov byte [0x5165cd], 0x30
mov byte [0x5165ce], 0x31
mov byte [0x5165cf], 0x37
mov byte [0x5165d0], 0x30
mov byte [0x5165d1], 0x36
mov byte [0x5165d2], 0x32
mov byte [0x5165d3], 0x39
mov byte [0x5165d4], 0
jmp 0x424372
push ecx
mov ecx, esp
mov dword [ebp - 0x81f4], esp
push 0x4b13ec
call fcn.00402400
mov dword [ebp - 0x8250], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 8
push str.POWER_ON
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x4243e0
push ecx
mov ecx, esp
mov dword [ebp - 0x81f8], esp
push str._r_n______Flash_Power_ON
call fcn.00402400
mov dword [ebp - 0x8254], eax
call fcn.00424010
add esp, 4
movsx edx, byte [0x4c7fe2]
test edx, edx
je 0x4243cd
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.0042f6f0
add esp, 8
jmp 0x4243db
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042f6f0
add esp, 8
jmp 0x4253d3
push 9
push str.POWER_OFF
lea edx, [ebp - 0xf4]
push edx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x424449
push ecx
mov ecx, esp
mov dword [ebp - 0x81fc], esp
push str._r_n______Flash_Power_OFF
call fcn.00402400
mov dword [ebp - 0x8258], eax
call fcn.00424010
add esp, 4
movsx eax, byte [0x4c7fe2]
test eax, eax
je 0x424436
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0042f6f0
add esp, 8
jmp 0x424444
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.0042f6f0
add esp, 8
jmp 0x4253d3
push 9
push str.LOAD_DATA
lea eax, [ebp - 0xf4]
push eax
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x4249f0
cmp dword [ebp - 0x8108], 0
je 0x4247bf
mov byte [ebp - 0x8117], 0
mov dword [ebp - 0x8128], 9
jmp 0x424496
mov ecx, dword [ebp - 0x8128]
add ecx, 1
mov dword [ebp - 0x8128], ecx
cmp dword [ebp - 0x8128], 0x14
jge 0x4244f1
mov edx, dword [ebp - 0x8128]
movsx eax, byte [ebp + edx - 0xf4]
cmp eax, 0x30
jl 0x4244da
mov ecx, dword [ebp - 0x8128]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 0x39
jg 0x4244da
mov eax, dword [ebp - 0x8128]
mov cl, byte [ebp + eax - 0xf4]
mov byte [ebp - 0x8117], cl
jmp 0x4244f1
mov edx, dword [ebp - 0x8128]
movsx eax, byte [ebp + edx - 0xf4]
cmp eax, 0x2e
jne 0x4244ef
jmp 0x4244f1
jmp 0x424487
mov dword [ebp - 0x811c], 0x2400
movsx ecx, byte [ebp - 0x8117]
mov dword [ebp - 0x825c], ecx
cmp dword [ebp - 0x825c], 0x36
ja case.0x424522.1
mov edx, dword [ebp - 0x825c]
movzx eax, byte [edx + 0x42546c]
jmp dword [eax*4 + 0x42544c]
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x42454e
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge 0x424583
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x49e950]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x42453f
jmp case.0x424522.1
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x4245ad
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge 0x4245e2
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x4a0d50]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x42459e
jmp case.0x424522.1
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x42460c
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge 0x424641
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x4a3150]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x4245fd
jmp case.0x424522.1
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x42466b
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge 0x4246a0
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x4a5550]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x42465c
jmp case.0x424522.1
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x4246ca
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge 0x4246ff
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x4a7950]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x4246bb
jmp case.0x424522.1
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x424729
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge 0x42475e
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x4a9d50]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x42471a
jmp case.0x424522.1
mov dword [ebp - 0x811c], 0x23f0
mov dword [ebp - 0x8120], 0
jmp 0x424785
mov ecx, dword [ebp - 0x8120]
add ecx, 1
mov dword [ebp - 0x8120], ecx
mov edx, dword [ebp - 0x8120]
cmp edx, dword [ebp - 0x811c]
jge case.0x424522.1
mov eax, dword [ebp - 0x8120]
mov cl, byte [eax + 0x4ac150]
mov byte [ebp - 0x8121], cl
mov edx, dword [ebp - 0x8120]
mov al, byte [ebp - 0x8121]
mov byte [ebp + edx - 0x80fc], al
jmp 0x424776
jmp 0x4249eb
mov dword [ebp - 0x8130], 9
mov ecx, dword [ebp - 0x8130]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 0x20
je 0x4247ef
mov eax, dword [ebp - 0x8130]
movsx ecx, byte [ebp + eax - 0xf4]
cmp ecx, 9
jne 0x424800
mov edx, dword [ebp - 0x8130]
add edx, 1
mov dword [ebp - 0x8130], edx
jmp 0x4247c9
mov eax, dword [ebp - 0x8130]
mov dword [ebp - 0x812c], eax
mov ecx, dword [ebp - 0x812c]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 0x20
jl 0x424843
mov eax, dword [ebp - 0x812c]
movsx ecx, byte [ebp + eax - 0xf4]
cmp ecx, 0x7a
jg 0x424843
mov edx, dword [ebp - 0x812c]
add edx, 1
mov dword [ebp - 0x812c], edx
jmp 0x42480c
mov eax, dword [ebp - 0x812c]
mov byte [ebp + eax - 0xf4], 0
mov ecx, dword [ebp - 0x8130]
lea edx, [ebp + ecx - 0xf4]
push edx
call fcn.0044f870
add esp, 4
test eax, eax
je 0x4249eb
push 0x4b1450
mov eax, dword [ebp - 0x8130]
lea ecx, [ebp + eax - 0xf4]
push ecx
call fcn.00451db8
add esp, 8
mov dword [ebp - 0x810c], eax
cmp dword [ebp - 0x810c], 0
je 0x4249ca
mov edx, dword [ebp - 0x810c]
push edx
call fcn.004526bb
add esp, 4
push eax
call fcn.004525bc
add esp, 4
mov dword [ebp - 0x8104], eax
mov eax, dword [ebp - 0x8104]
push eax
mov ecx, dword [ebp - 0x8130]
lea edx, [ebp + ecx - 0xf4]
push edx
push 0x4b1454
lea eax, [ebp - 0x8110]
push eax
call fcn.00402f60
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x8200], esp
lea edx, [ebp - 0x8110]
push edx
call fcn.004023e0
mov dword [ebp - 0x8260], eax
call fcn.00424010
add esp, 4
cmp dword [ebp - 0x810c], 0
je 0x424998
cmp dword [ebp - 0x8104], 0
jle 0x424998
cmp dword [ebp - 0x8104], 0x8000
jge 0x424998
mov eax, dword [ebp - 0x810c]
push eax
mov ecx, dword [ebp - 0x8104]
push ecx
push 1
lea edx, [ebp - 0x80fc]
push edx
call fcn.0045259f
add esp, 0x10
movzx eax, byte [ebp - 0x80fb]
push eax
movzx ecx, byte [ebp - 0x80fc]
push ecx
mov edx, dword [ebp - 0x8104]
push edx
push str._r_n______Data__d__02X__02X_...
lea eax, [ebp - 0x8110]
push eax
call fcn.00402f60
add esp, 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x8204], esp
lea edx, [ebp - 0x8110]
push edx
call fcn.004023e0
mov dword [ebp - 0x8264], eax
call fcn.00424010
add esp, 4
jmp 0x4249b9
push ecx
mov ecx, esp
mov dword [ebp - 0x8208], esp
push 0x4b1490
call fcn.00402400
mov dword [ebp - 0x8268], eax
call fcn.00424010
add esp, 4
mov eax, dword [ebp - 0x810c]
push eax
call fcn.00451b5c
add esp, 4
jmp 0x4249eb
push ecx
mov ecx, esp
mov dword [ebp - 0x820c], esp
push str._r_n_File_Not_Found_
call fcn.00402400
mov dword [ebp - 0x826c], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 9
push str.SAVE_DATA
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x424c07
mov dword [ebp - 0x8138], 9
mov edx, dword [ebp - 0x8138]
movsx eax, byte [ebp + edx - 0xf4]
cmp eax, 0x20
je 0x424a3e
mov ecx, dword [ebp - 0x8138]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 9
jne 0x424a4f
mov eax, dword [ebp - 0x8138]
add eax, 1
mov dword [ebp - 0x8138], eax
jmp 0x424a18
mov ecx, dword [ebp - 0x8104]
push ecx
mov edx, dword [ebp - 0x8138]
lea eax, [ebp + edx - 0xf4]
push eax
push str._r_n______File:_s__len_d_
lea ecx, [ebp - 0x8110]
push ecx
call fcn.00402f60
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x8210], esp
lea edx, [ebp - 0x8110]
push edx
call fcn.004023e0
mov dword [ebp - 0x8270], eax
call fcn.00424010
add esp, 4
mov eax, dword [ebp - 0x8138]
mov dword [ebp - 0x8134], eax
mov ecx, dword [ebp - 0x8134]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 0x20
jl 0x424ade
mov eax, dword [ebp - 0x8134]
movsx ecx, byte [ebp + eax - 0xf4]
cmp ecx, 0x7a
jg 0x424ade
mov edx, dword [ebp - 0x8134]
add edx, 1
mov dword [ebp - 0x8134], edx
jmp 0x424aa7
mov eax, dword [ebp - 0x8134]
mov byte [ebp + eax - 0xf4], 0
mov ecx, dword [ebp - 0x8138]
lea edx, [ebp + ecx - 0xf4]
push edx
call fcn.0044f870
add esp, 4
test eax, eax
je 0x424c02
push 0x4b14e4
mov eax, dword [ebp - 0x8138]
lea ecx, [ebp + eax - 0xf4]
push ecx
call fcn.00451db8
add esp, 8
mov dword [ebp - 0x810c], eax
cmp dword [ebp - 0x810c], 0
je 0x424bc9
cmp dword [ebp - 0x8104], 0
jle 0x424bc9
cmp dword [ebp - 0x8104], 0x8000
jge 0x424bc9
mov edx, dword [ebp - 0x810c]
push edx
mov eax, dword [ebp - 0x8104]
push eax
push 1
lea ecx, [ebp - 0x80fc]
push ecx
call fcn.00452a5d
add esp, 0x10
movzx edx, byte [ebp - 0x80f9]
push edx
movzx eax, byte [ebp - 0x80fa]
push eax
movzx ecx, byte [ebp - 0x80fb]
push ecx
movzx edx, byte [ebp - 0x80fc]
push edx
push str._r_n______Save__02X__02X_...
lea eax, [ebp - 0x8110]
push eax
call fcn.00402f60
add esp, 0x18
push ecx
mov ecx, esp
mov dword [ebp - 0x8214], esp
lea edx, [ebp - 0x8110]
push edx
call fcn.004023e0
mov dword [ebp - 0x8274], eax
call fcn.00424010
add esp, 4
jmp 0x424bea
push ecx
mov ecx, esp
mov dword [ebp - 0x8218], esp
push str._r_n_Fail_
call fcn.00402400
mov dword [ebp - 0x8278], eax
call fcn.00424010
add esp, 4
cmp dword [ebp - 0x810c], 0
je 0x424c02
mov eax, dword [ebp - 0x810c]
push eax
call fcn.00451b5c
add esp, 4
jmp 0x4253d3
push 9
push str.SHOW_DATA
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x424d21
push 0x46dfcd
lea ecx, [ebp - 0x8110]
call fcn.004024c0
lea edx, [ebp - 0x8104]
push edx
push 0x4b1520
lea eax, [ebp - 0xeb]
push eax
call fcn.00451ee5
add esp, 0xc
mov dword [ebp - 0x813c], 0
jmp 0x424c6b
mov ecx, dword [ebp - 0x813c]
add ecx, 1
mov dword [ebp - 0x813c], ecx
mov edx, dword [ebp - 0x813c]
cmp edx, dword [ebp - 0x8104]
jge 0x424cea
mov eax, dword [ebp - 0x813c]
and eax, 0x8000000f
jns 0x424c8b
dec eax
or eax, 0xfffffff0
inc eax
test eax, eax
jne 0x424cb0
lea ecx, [ebp - 0x8110]
push ecx
mov ecx, 0x517534
call fcn.0042cf70
push str._r_n
lea ecx, [ebp - 0x8110]
call fcn.004024c0
mov edx, dword [ebp - 0x813c]
movzx eax, byte [ebp + edx - 0x80fc]
push eax
push 0x4b152c
lea ecx, [ebp - 0x8100]
push ecx
call fcn.00402f60
add esp, 0xc
lea edx, [ebp - 0x8100]
push edx
lea ecx, [ebp - 0x8110]
call fcn.0042cf70
jmp 0x424c5c
lea ecx, [ebp - 0x8110]
call fcn.004024e0
test eax, eax
je 0x424d1c
push ecx
mov ecx, esp
mov dword [ebp - 0x821c], esp
lea eax, [ebp - 0x8110]
push eax
call fcn.004023e0
mov dword [ebp - 0x827c], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 8
push str.FILL_CDB
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x424e8c
mov dword [ebp - 0x8140], 8
mov edx, dword [ebp - 0x8140]
movsx eax, byte [ebp + edx - 0xf4]
cmp eax, 0x20
je 0x424d6f
mov ecx, dword [ebp - 0x8140]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 9
jne 0x424d80
mov eax, dword [ebp - 0x8140]
add eax, 1
mov dword [ebp - 0x8140], eax
jmp 0x424d49
push 0x10
push 0
lea ecx, [ebp - 0x24]
push ecx
call fcn.0044fbf0
add esp, 0xc
mov dword [ebp - 0x8148], 0
jmp 0x424dab
mov edx, dword [ebp - 0x8148]
add edx, 1
mov dword [ebp - 0x8148], edx
cmp dword [ebp - 0x8148], 0x10
jge 0x424e41
mov eax, dword [ebp - 0x8148]
mov ecx, dword [ebp - 0x8140]
lea edx, [ecx + eax*2]
mov al, byte [ebp + edx - 0xf4]
mov byte [ebp - 0x814c], al
movsx ecx, byte [ebp - 0x814c]
test ecx, ecx
jne 0x424de1
jmp 0x424e41
mov edx, dword [ebp - 0x8148]
mov eax, dword [ebp - 0x8140]
lea ecx, [eax + edx*2]
mov dl, byte [ebp + ecx - 0xf3]
mov byte [ebp - 0x814b], dl
movsx eax, byte [ebp - 0x814b]
test eax, eax
jne 0x424e0a
jmp 0x424e41
mov byte [ebp - 0x814a], 0
lea ecx, [ebp - 0x8144]
push ecx
push 0x4b1540
lea edx, [ebp - 0x814c]
push edx
call fcn.00451ee5
add esp, 0xc
mov eax, dword [ebp - 0x8148]
mov cl, byte [ebp - 0x8144]
mov byte [ebp + eax - 0x24], cl
jmp 0x424d9c
movzx edx, byte [ebp - 0x22]
push edx
movzx eax, byte [ebp - 0x23]
push eax
movzx ecx, byte [ebp - 0x24]
push ecx
push str._r_n______cdb___02X__02X__02X...
lea edx, [ebp - 0x8110]
push edx
call fcn.00402f60
add esp, 0x14
push ecx
mov ecx, esp
mov dword [ebp - 0x8220], esp
lea eax, [ebp - 0x8110]
push eax
call fcn.004023e0
mov dword [ebp - 0x8280], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 4
push str.SEND
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x424f5f
lea edx, [ebp - 0x8104]
push edx
push 0x4b156c
lea eax, [ebp - 0xf0]
push eax
call fcn.00451ee5
add esp, 0xc
cmp dword [ebp - 0x8104], 0
jne 0x424eeb
push 0x1e
push 0
push 0
push 0
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042da00
add esp, 0x18
mov dword [ebp - 0x10], eax
jmp 0x424f10
push 0x1e
mov eax, dword [ebp - 0x8104]
push eax
lea ecx, [ebp - 0x80fc]
push ecx
push 0
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042da00
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x424f39
push ecx
mov ecx, esp
mov dword [ebp - 0x8224], esp
push 0x4b1570
call fcn.00402400
mov dword [ebp - 0x8284], eax
call fcn.00424010
add esp, 4
jmp 0x424f5a
push ecx
mov ecx, esp
mov dword [ebp - 0x8228], esp
push 0x4b1580
call fcn.00402400
mov dword [ebp - 0x8288], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 3
push 0x4b1598
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x425032
lea edx, [ebp - 0x8104]
push edx
push 0x4b159c
lea eax, [ebp - 0xf1]
push eax
call fcn.00451ee5
add esp, 0xc
cmp dword [ebp - 0x8104], 0
jne 0x424fbe
push 0x1e
push 0
push 0
push 0
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0042da00
add esp, 0x18
mov dword [ebp - 0x10], eax
jmp 0x424fe3
push 0x1e
mov eax, dword [ebp - 0x8104]
push eax
lea ecx, [ebp - 0x80fc]
push ecx
push 1
lea edx, [ebp - 0x24]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0042da00
add esp, 0x18
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x42500c
push ecx
mov ecx, esp
mov dword [ebp - 0x822c], esp
push str._r_n______Pass
call fcn.00402400
mov dword [ebp - 0x828c], eax
call fcn.00424010
add esp, 4
jmp 0x42502d
push ecx
mov ecx, esp
mov dword [ebp - 0x8230], esp
push str._r_n_SCSI_CMD_Fail_
call fcn.00402400
mov dword [ebp - 0x8290], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 5
push str.DELAY_MS
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x4250c1
mov dword [ebp - 0x8150], 0
lea edx, [ebp - 0x8150]
push edx
push 0x4b15d4
lea eax, [ebp - 0xef]
push eax
call fcn.00451ee5
add esp, 0xc
mov ecx, dword [ebp - 0x8150]
push ecx
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x8150]
push edx
push str._r_n______Delay__d_ms
lea eax, [ebp - 0x8110]
push eax
call fcn.00402f60
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x8234], esp
lea edx, [ebp - 0x8110]
push edx
call fcn.004023e0
mov dword [ebp - 0x8294], eax
call fcn.00424010
add esp, 4
jmp 0x4253d3
push 0xd
push str.COMP_EQU_EXIT
lea eax, [ebp - 0xf4]
push eax
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x425254
mov dword [ebp - 0x8174], 0xd
mov dword [ebp - 0x8198], 0
jmp 0x425104
mov ecx, dword [ebp - 0x8198]
add ecx, 1
mov dword [ebp - 0x8198], ecx
cmp dword [ebp - 0x8198], 0xf
jae 0x425157
mov edx, dword [ebp - 0x8198]
movzx eax, byte [ebp + edx - 0x80fc]
sar eax, 4
mov ecx, dword [ebp - 0x8198]
mov dl, byte [eax + 0x4b31f0]
mov byte [ebp + ecx*2 - 0x8170], dl
mov eax, dword [ebp - 0x8198]
movzx ecx, byte [ebp + eax - 0x80fc]
and ecx, 0xf
mov edx, dword [ebp - 0x8198]
mov al, byte [ecx + 0x4b31f0]
mov byte [ebp + edx*2 - 0x816f], al
jmp 0x4250f5
mov ecx, dword [ebp - 0x8174]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 0x20
je 0x42517d
mov eax, dword [ebp - 0x8174]
movsx ecx, byte [ebp + eax - 0xf4]
cmp ecx, 9
jne 0x42518e
mov edx, dword [ebp - 0x8174]
add edx, 1
mov dword [ebp - 0x8174], edx
jmp 0x425157
lea eax, [ebp - 0x8188]
push eax
lea ecx, [ebp - 0x8194]
push ecx
push 0x4b15fc
mov edx, dword [ebp - 0x8174]
lea eax, [ebp + edx - 0xf4]
push eax
call fcn.00451ee5
add esp, 0x10
lea ecx, [ebp - 0x8188]
push ecx
call fcn.0044f870
add esp, 4
mov dword [ebp - 0x8174], eax
mov edx, dword [ebp - 0x8174]
push edx
lea eax, [ebp - 0x8170]
push eax
lea ecx, [ebp - 0x8188]
push ecx
call fcn.00451f07
add esp, 0xc
test eax, eax
je 0x425210
push ecx
mov ecx, esp
mov dword [ebp - 0x8238], esp
push str._r_n_____ID_difference
call fcn.00402400
mov dword [ebp - 0x8298], eax
call fcn.00424010
add esp, 4
jmp 0x42524f
lea edx, [ebp - 0x8194]
push edx
push 0x4b161c
push 0x51752c
call fcn.00402f60
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x823c], esp
push 0x51752c
call fcn.004023e0
mov dword [ebp - 0x829c], eax
call fcn.00424010
add esp, 4
jmp 0x4253d8
jmp 0x4253d3
push 0xe
push str.COMP_DIFF_EXIT
lea eax, [ebp - 0xf4]
push eax
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x42539d
mov dword [ebp - 0x81bc], 0xe
mov dword [ebp - 0x81e0], 0
jmp 0x425297
mov ecx, dword [ebp - 0x81e0]
add ecx, 1
mov dword [ebp - 0x81e0], ecx
cmp dword [ebp - 0x81e0], 0xf
jae 0x4252ea
mov edx, dword [ebp - 0x81e0]
movzx eax, byte [ebp + edx - 0x80fc]
sar eax, 4
mov ecx, dword [ebp - 0x81e0]
mov dl, byte [eax + 0x4b31f0]
mov byte [ebp + ecx*2 - 0x81b8], dl
mov eax, dword [ebp - 0x81e0]
movzx ecx, byte [ebp + eax - 0x80fc]
and ecx, 0xf
mov edx, dword [ebp - 0x81e0]
mov al, byte [ecx + 0x4b31f0]
mov byte [ebp + edx*2 - 0x81b7], al
jmp 0x425288
mov ecx, dword [ebp - 0x81bc]
movsx edx, byte [ebp + ecx - 0xf4]
cmp edx, 0x20
je 0x425310
mov eax, dword [ebp - 0x81bc]
movsx ecx, byte [ebp + eax - 0xf4]
cmp ecx, 9
jne 0x425321
mov edx, dword [ebp - 0x81bc]
add edx, 1
mov dword [ebp - 0x81bc], edx
jmp 0x4252ea
lea eax, [ebp - 0x81d0]
push eax
lea ecx, [ebp - 0x81dc]
push ecx
push str._s_s
mov edx, dword [ebp - 0x81bc]
lea eax, [ebp + edx - 0xf4]
push eax
call fcn.00451ee5
add esp, 0x10
lea ecx, [ebp - 0x81d0]
push ecx
call fcn.0044f870
add esp, 4
mov dword [ebp - 0x81bc], eax
mov edx, dword [ebp - 0x81bc]
push edx
lea eax, [ebp - 0x81b8]
push eax
lea ecx, [ebp - 0x81d0]
push ecx
call fcn.00451f07
add esp, 0xc
test eax, eax
je 0x42539b
lea edx, [ebp - 0x81dc]
push edx
push str.__s_
push 0x51752c
call fcn.00402f60
add esp, 0xc
jmp 0x4253d8
jmp 0x4253d3
push 4
push str.EXIT
lea eax, [ebp - 0xf4]
push eax
call fcn.0044fdaa
add esp, 0xc
test eax, eax
je 0x4253d1
push 7
push str.BYE_BYE
lea ecx, [ebp - 0xf4]
push ecx
call fcn.0044fdaa
add esp, 0xc
test eax, eax
jne 0x4253d3
jmp 0x4253d8
jmp 0x42415b
push str._r_n_______________________________________
mov ecx, 0x517534
call fcn.0042cf90
cmp dword [ebp - 0x8108], 0
jne 0x4253ff
mov edx, dword [ebp - 0xfc]
push edx
call fcn.00451b5c
add esp, 4
mov dword [ebp - 0x8240], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8100]
call fcn.00402480
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8110]
call fcn.00402480
mov eax, dword [ebp - 0x8240]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044e8ae
mov esp, ebp
pop ebp
ret