Function at 0x468ef0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov eax, 0x106c
push edi
push esi
push ebx
call fcn.0049fac0
sub esp, eax
lea eax, [esp + 0x54]
mov edi, dword [esp + 0x1080]
mov dword [esp + 0x4c], 0
mov dword [esp + 8], eax
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x900]
mov dword [esp + 0x50], 0
mov eax, dword [eax + 0x2024]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ClearCommError]
sub esp, 0xc
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x468f58
add esp, 0x106c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [edi + 0x900]
lea ecx, [esp + 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ecx
mov eax, dword [edx + 0x2008]
lea eax, [edx + eax + 0x1008]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x2024]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
mov ebx, dword [esp + 0x4c]
test eax, eax
je 0x469220
test ebx, ebx
jle 0x468f47
mov eax, dword [edi + 0x900]
add ebx, dword [eax + 0x2008]
mov dword [eax + 0x2008], ebx
mov byte [eax + ebx + 0x1008], 0
mov edx, dword [edi + 0x900]
mov ecx, dword [edx + 0x2008]
test ecx, ecx
jle 0x468f47
xor ebp, ebp
jmp 0x468fea
mov ebp, eax
cmp ecx, ebp
jle 0x468f47
lea eax, [ebp + 1]
cmp byte [edx + ebp + 0x1008], 0x2a
mov dword [esp + 0x2c], eax
jne 0x468fe0
test ebp, ebp
je 0x4690ca
mov dword [esp + 0x30], ebp
xor ebx, ebx
jmp 0x46901d
sub ebp, 1
cmp dword [esp + 0x30], ebx
je 0x4690c0
movzx eax, byte [edx + ebx + 0x1008]
mov dword [esp + 0x34], ebx
add ebx, 1
cmp al, 0x23
jne 0x469010
mov eax, dword [edi + 0x1cc]
test byte [eax], 4
jne 0x469120
mov eax, dword [edx + 0x1004]
cmp eax, 0x63
ja 0x469010
mov dword [esp + 8], eax
lea eax, [esp + 0x60]
mov dword [esp + 4], 0x4c83dc
mov dword [esp], eax
call sym.sprintf_char__char_const__..._
mov edx, dword [edi + 0x900]
mov eax, dword [edx + 0x1004]
test eax, eax
je 0x4690a0
movzx eax, byte [esp + 0x60]
cmp byte [edx + ebx + 0x1008], al
jne 0x469010
mov esi, dword [esp + 0x34]
movzx eax, byte [esp + 0x61]
cmp byte [edx + esi + 0x100a], al
jne 0x469010
lea esi, [esi]
lea esi, [esi]
mov ecx, dword [esp + 0x30]
mov edx, ebx
mov eax, edi
call sym.emuParse_ci250_t__int__int___clone_.part.0_
mov edx, dword [edi + 0x900]
jmp 0x469010
mov ebp, dword [esp + 0x30]
mov ecx, dword [edx + 0x2008]
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jle 0x469104
mov ebx, ebp
not ebx
lea esi, [esi]
lea esi, [esi]
movzx ecx, byte [edx + eax + 0x1008]
add edx, eax
add eax, 1
mov byte [edx + ebx + 0x1008], cl
mov edx, dword [edi + 0x900]
mov ecx, dword [edx + 0x2008]
cmp ecx, eax
jg 0x4690e0
sub ecx, dword [esp + 0x2c]
mov ebp, 1
mov dword [edx + 0x2008], ecx
jmp 0x468fe2
test ebp, ebp
js 0x469182
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
xor esi, esi
sub eax, ebp
mov dword [esp + 0x38], eax
lea esi, [esi]
mov eax, dword [esp + 0x38]
add edx, esi
movsx ebx, byte [eax + edx + 0x1008]
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll_isprint]
lea ecx, [esp + 0x60]
add ecx, esi
test eax, eax
je 0x4691f0
mov dword [esp + 8], ebx
add esi, 1
mov dword [esp + 4], 0x4c81ad
mov dword [esp], ecx
call sym.sprintf_char__char_const__..._
mov edx, dword [edi + 0x900]
cmp esi, ebp
jle 0x469138
mov ebx, dword [esp + 0x3c]
lea eax, [ebp + 1]
mov dword [esp + 8], str.EMU_recv:
mov dword [esp + 0x10], eax
lea eax, [esp + 0x60]
mov dword [esp + 0xc], eax
lea eax, [edx + 0x201c]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x2018]
mov dword [esp + 0x38], edx
mov dword [esp], eax
call sym._dbgsprintToOutbuf
mov edx, dword [esp + 0x38]
mov dword [edx + 0x2018], eax
mov eax, dword [edi + 0x900]
mov eax, dword [eax + 0x2018]
mov dword [esp], eax
call sym._pprintf
mov eax, dword [edi + 0x900]
mov eax, dword [eax + 0x2018]
mov byte [eax], 0
mov edx, dword [edi + 0x900]
jmp 0x46903f
mov dword [esp + 4], 0x4c81b0
add esi, 1
mov dword [esp], ecx
call sym.sprintf_char__char_const__..._
mov edx, dword [edi + 0x900]
cmp esi, ebp
jle 0x469138
jmp 0x46917e
mov dword [esp + 0x10], ebx
mov eax, dword [edi + 0x900]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x190]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18c]
mov dword [esp], str.ERROR:_d_d:_emuRead___failure_from__s__d_n
mov dword [esp + 4], eax
call sym._pprintf
jmp 0x468fa1