Function at 0x55c39f
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x24
mov eax, dword [0x6e1760]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push ebp
push esi
push edi
call fcn.004ab302
mov ebp, eax
xor ebx, ebx
cmp ebp, ebx
jge 0x55c3c0
xor ebp, ebp
cmp byte [0x7784c6], bl
mov esi, 0x774f30
mov eax, esi
jne 0x55c3d4
mov eax, dword [0x71d064]
push ebx
push 0x8002
push eax
call fcn.0041a4c5
mov edi, eax
add esp, 0xc
cmp edi, ebx
mov dword [esp + 0x14], edi
jge 0x55c43a
cmp dword [esp + 0x38], 2
jne 0x55c418
cmp byte [0x7784c6], bl
mov eax, esi
jne 0x55c403
mov eax, dword [0x71d064]
push ebx
push 0x8000
push eax
call fcn.0041a4c5
add esp, 0xc
mov dword [esp + 0x14], eax
mov edi, eax
cmp edi, ebx
jge 0x55c43a
call fcn.0040f687
mov esi, dword [eax]
shl esi, 2
call fcn.00570c28
push dword [eax + esi]
push 0x88c8
call fcn.0045abde
pop ecx
pop ecx
push 2
push ebx
push edi
call fcn.0041847f
mov eax, 0xfffff800
sub eax, ebp
push 2
push eax
push edi
mov dword [esp + 0x34], eax
call fcn.0041847f
mov ebp, 0x800
push ebp
mov esi, 0x778700
push esi
push edi
call fcn.0041bdfc
add esp, 0x24
cmp eax, ebp
je 0x55c481
push str.ProcessProg:_cannot_read_file
push 0x88ca
call fcn.0045aaff
pop ecx
pop ecx
push ebp
push 0x674ca0
call fcn.0055b8f6
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jge 0x55c4a5
push str.ProcessProg:_data_area_not_found
push 0x88cb
call fcn.0045aaff
pop ecx
pop ecx
add edi, 5
mov dword [esp + 0x18], edi
mov byte [esp + 0x13], bl
call fcn.004ce0e7
lea eax, [edi + 0x778700]
cmp byte [eax], 0x24
mov dword [esp + 0x20], eax
je 0x55c4d6
mov ecx, ebp
sub ecx, edi
push ecx
push eax
call fcn.004cdfe7
pop ecx
pop ecx
mov byte [esp + 0x13], 1
mov ebx, dword [esp + 0x38]
lea ebx, [ebx*4 + 0x6f35b8]
push ebp
push dword [ebx]
call fcn.0055b8f6
mov edi, eax
test edi, edi
pop ecx
pop ecx
jge 0x55c505
push dword [ebx]
push str.ProcessProg:_keyword__s_not_found
push 0x88cc
call fcn.0045aaff
add esp, 0xc
mov eax, dword [esp + 0x38]
mov ebx, ebp
sub ebx, edi
sub ebx, dword [esp + 0x18]
sub eax, 0
je 0x55c718
dec eax
je 0x55c5f7
dec eax
je 0x55c551
dec eax
je 0x55c53f
push dword [esp + 0x38]
push str.ProcessProg:_Unknown_type:__d
push 0x88cd
call fcn.0045aaff
jmp 0x55c713
push ebx
push edi
mov ecx, 0x778700
call fcn.0055c287
pop ecx
jmp 0x55c724
lea edx, [edi + 0x778700]
mov eax, edx
call fcn.0055c38b
push edx
mov edi, eax
push 0x777cb8
mov byte [edi], 0
call fcn.0040b3e0
mov byte [edi], 0xd
push 0x24
inc edi
push edi
call fcn.0041d690
mov edx, eax
call fcn.0055c38b
push edx
mov edi, eax
push 0x776b38
mov byte [edi], 0
call fcn.0040b3e0
mov byte [edi], 0xd
push 0x24
inc edi
push edi
call fcn.0041d690
mov edx, eax
call fcn.0055c38b
push edx
mov edi, eax
push 0x7774b8
mov byte [edi], 0
call fcn.0040b3e0
mov byte [edi], 0xd
push 0x24
inc edi
push edi
call fcn.0041d690
mov edx, eax
call fcn.0055c38b
push edx
mov edi, eax
push 0x776188
mov byte [edi], 0
call fcn.0040b3e0
add esp, 0x38
cmp byte [esp + 0x13], 0
mov byte [edi], 0xd
je 0x55c725
push dword [esp + 0x14]
call fcn.0041274e
pop ecx
jmp 0x55c7ac
push ebx
mov esi, 0x7769c4
lea edi, [edi + 0x778700]
push esi
mov ecx, 0x674af0
call fcn.0055ba7c
push 0x63c868
push esi
call fcn.0040fc10
add esp, 0x10
test eax, eax
jne 0x55c653
push ebx
push 0x777338
mov ecx, str.SUPS
call fcn.0055ba7c
push ebx
push 0x7769c8
mov ecx, str.SUPP
call fcn.0055ba7c
push ebx
push 0x777428
mov ecx, str.SUPW
call fcn.0055ba7c
add esp, 0x18
mov eax, dword [0x776a2c]
test eax, eax
je 0x55c67f
push eax
lea eax, [esp + 0x28]
push 0x63d61c
push eax
call fcn.0040b789
lea eax, [esp + 0x30]
push ebx
push eax
mov ecx, 0x674aec
call fcn.0055ba7c
add esp, 0x14
cmp dword [0x7784bc], 0
jne 0x55c725
push esi
push 0x63f
call fcn.0045ad5e
pop ecx
push eax
call fcn.00409853
push 0x63c868
push esi
call fcn.0040fc10
add esp, 0x10
test eax, eax
jne 0x55c725
mov eax, 0x777338
push eax
push eax
call fcn.00408570
pop ecx
push eax
push 0x640
call fcn.0045ad5e
pop ecx
push eax
call fcn.00409853
mov eax, 0x7769c8
add esp, 0xc
push eax
push eax
call fcn.00408570
pop ecx
push eax
push 0x641
call fcn.0045ad5e
pop ecx
push eax
call fcn.00409853
mov eax, 0x777428
add esp, 0xc
push eax
push eax
call fcn.00408570
pop ecx
push eax
push 0x642
call fcn.0045ad5e
pop ecx
push eax
call fcn.00409853
add esp, 0xc
jmp 0x55c725
push 0x778700
mov ecx, edi
call fcn.0055c147
pop ecx
mov eax, ebp
sub eax, dword [esp + 0x18]
push eax
push dword [esp + 0x24]
call fcn.004cdfac
mov esi, dword [esp + 0x1c]
push 2
push dword [esp + 0x28]
push esi
call fcn.0041847f
push ebp
push 0x778700
push esi
call fcn.00417f2a
add esp, 0x20
cmp eax, ebp
je 0x55c77c
call fcn.0040f687
mov edi, dword [eax]
shl edi, 2
call fcn.00570c28
push dword [eax + edi]
push str.Cannot_update_Ghost_program:__s_nCopy_Ghost_to_read_write_media_and_run_it_again_and_or_make_sure_that_the_ghost_exe_is_not_read_only.
push 0x88ce
call fcn.0045aaff
add esp, 0xc
push esi
call fcn.0041274e
pop ecx
call fcn.004ab38b
xor esi, esi
cmp dword [0x7784bc], esi
jne 0x55c7ac
push 0x5d7
call fcn.0045ad5e
push eax
call fcn.00409853
push esi
push esi
call fcn.004026c7
add esp, 0x10
mov ecx, dword [esp + 0x30]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0040916a
add esp, 0x24
ret