Function at 0x406680
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x1dc
mov eax, dword [esp + 0x1e0]
push ebp
push esi
xor ebp, ebp
push edi
push ebp
push 0x80
push 3
push ebp
push ebp
push connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x4066bd
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x1dc
ret
mov edx, dword [esp + 0x1f0]
lea ecx, [esp + 0x18]
push ebp
push ecx
push 0xe84
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0x41098d
call fcn.004069d0
mov ecx, dword [0x410aa0]
xor edx, edx
shl ecx, 0xa
mov eax, ecx
mov esi, 0x4e
div esi
mov eax, ecx
add esp, 4
sub eax, edx
cmp ecx, ebp
mov dword [0x410aa0], eax
jne 0x40670b
mov dword [0x410aa4], ebp
mov edi, 0x40ff50
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x406726
pop edi
pop esi
pop ebp
add esp, 0x1dc
ret
mov edi, 0x4100b2
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x406741
pop edi
pop esi
pop ebp
add esp, 0x1dc
ret
push ebx
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push 0x3b
lea ecx, [esp + 0x14]
push 0x40d95c
push ecx
call ebx
mov edi, 0x40ffb2
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.00406c38
add esp, 0x14
push eax
push 0x40d6a8
push 0x40ffb2
call ebx
mov edi, 0x40ff71
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.00406c38
add esp, 0x14
push eax
push 0x40d6a8
push 0x40ff71
call ebx
mov edi, 0x4100b2
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x12c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x12c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.00406c38
add esp, 0x14
test eax, eax
pop ebx
je 0x406846
lea eax, [esp + 0xc]
inc ebp
push eax
push 0
call fcn.00406c38
add esp, 8
test eax, eax
jne 0x406823
cmp ebp, 0x64
jle 0x406846
pop edi
pop esi
pop ebp
add esp, 0x1dc
ret
mov edi, 0x41017b
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x406883
test ebp, ebp
mov eax, 0x41017b
jle 0x406880
mov ecx, ebp
mov eax, 0x3b3b3b3b
mov edx, ecx
mov edi, 0x41017b
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [ebp + 0x41017b]
mov byte [eax], 0
or ecx, 0xffffffff
mov edi, 0x410286
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x410dd4
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]
mov edi, 0x410244
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4119e0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x41068a
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x410dd4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x1dc
ret