Function at 0x44e2a0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x610
push ebx
mov ebx, ecx
mov ecx, dword [0x67a8f8]
push esi
mov eax, dword [ebx]
push edi
test eax, ecx
je 0x44e52b
test dword [0x67a960], eax
je 0x44e3e9
mov eax, dword [0x6d7478]
mov esi, dword [ebx + 0x81ec]
mov ecx, eax
sub ecx, esi
cmp ecx, 0x32
jb 0x44e312
push 0
mov dword [ebx + 0x81ec], eax
mov dword [esp + 0x10], 2
push 5
lea edx, [esp + 0x14]
lea eax, [ebx + 0xb8]
push edx
push eax
call fcn.0043f700
add esp, 0x10
mov ecx, ebx
call fcn.0044e540
pop edi
pop esi
pop ebx
add esp, 0x610
ret
push 0x585050
push str._tmp_ping2.txt
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x44e52b
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x11d]
mov byte [esp + 0x11c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push esi
push 0x400
lea ecx, [esp + 0x124]
push 1
push ecx
stosb byte es:[edi], al
call dword [sym.imp.MSVCRT.dll_fread]
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
lea edx, [esp + 0x130]
add esp, 0x14
test edx, edx
je 0x44e52b
mov al, byte [esp + 0x11c]
test al, al
je 0x44e52b
mov esi, dword [sym.imp.MSVCRT.dll_strstr]
xor eax, eax
mov dword [esp + 0x10], str.ttl
mov dword [esp + 0x14], str.error
mov dword [esp + 0xc], eax
mov eax, dword [esp + eax*4 + 0x10]
lea ecx, [esp + 0x11c]
push eax
push ecx
call esi
add esp, 8
test eax, eax
je 0x44e3bf
cmp byte [eax], 0
jne 0x44e3d3
mov eax, dword [esp + 0xc]
inc eax
cmp eax, 2
mov dword [esp + 0xc], eax
jae 0x44e52b
jmp 0x44e3a4
mov eax, dword [esp + 0xc]
push 0
inc eax
push 5
mov dword [esp + 0x14], eax
lea edx, [esp + 0x14]
jmp 0x44e2f1
mov edx, dword [ebx + 0x81e8]
test edx, edx
je 0x44e52b
cmp byte [edx], 0
je 0x44e52b
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x1d]
mov byte [esp + 0x1c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor ecx, ecx
push ebp
mov ebp, dword [sym.imp.MSVCRT.dll_strchr]
mov dword [esp + 0x18], ecx
stosb byte es:[edi], al
mov eax, edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], ecx
xor edi, edi
lea esi, [esp + 0x14]
push 0x2e
push eax
call ebp
add esp, 8
mov dword [esi], eax
test eax, eax
je 0x44e453
cmp byte [eax], 0
je 0x44e453
inc eax
inc edi
add esi, 4
cmp edi, 3
jb 0x44e436
cmp edi, 3
jne 0x44e4e7
mov edx, dword [esp + 0x14]
mov eax, dword [ebx + 0x81e8]
mov ebp, dword [sym.imp.MSVCRT.dll_isdigit]
lea esi, [edx - 1]
cmp esi, eax
jb 0x44e48b
movsx eax, byte [esi]
push eax
call ebp
add esp, 4
test eax, eax
je 0x44e48b
mov eax, dword [ebx + 0x81e8]
dec esi
cmp esi, eax
jae 0x44e473
lea edi, [esi + 1]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x20]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x20]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor esi, esi
mov edi, ecx
test edi, edi
jle 0x44e4e7
movsx ecx, byte [esp + esi + 0x20]
push ecx
call ebp
add esp, 4
test eax, eax
jne 0x44e4db
cmp byte [esp + esi + 0x20], 0x2e
jne 0x44e4e2
inc esi
cmp esi, edi
jl 0x44e4c5
jmp 0x44e4e7
mov byte [esp + esi + 0x20], 0
lea edx, [esp + 0x20]
pop ebp
test edx, edx
je 0x44e52b
mov al, byte [esp + 0x1c]
test al, al
je 0x44e52b
lea eax, [esp + 0x1c]
push str._tmp_ping2.txt
push eax
lea ecx, [esp + 0x524]
push str.ping__s__c_1____s_
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov edx, dword [0x6d7478]
add esp, 0x10
mov dword [ebx + 0x81ec], edx
mov eax, dword [0x67a960]
or dword [ebx], eax
pop edi
pop esi
pop ebx
add esp, 0x610
ret