Function at 0x401373
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
push ebx
push esi
push edi
push dword [ebp + 0xc]
xor edi, edi
push edi
push dword [ebp + 8]
mov esi, eax
call fcn.0055bfc0
add esp, 0xc
or eax, 0xffffffff
mov dword [ebp - 0x140], 0x3e
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], 0x3f
mov dword [ebp - 0x12c], 0x34
mov dword [ebp - 0x128], 0x35
mov dword [ebp - 0x124], 0x36
mov dword [ebp - 0x120], 0x37
mov dword [ebp - 0x11c], 0x38
mov dword [ebp - 0x118], 0x39
mov dword [ebp - 0x114], 0x3a
mov dword [ebp - 0x110], 0x3b
mov dword [ebp - 0x10c], 0x3c
mov dword [ebp - 0x108], 0x3d
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], 1
mov dword [ebp - 0xe0], 2
mov dword [ebp - 0xdc], 3
mov dword [ebp - 0xd8], 4
mov dword [ebp - 0xd4], 5
mov dword [ebp - 0xd0], 6
mov dword [ebp - 0xcc], 7
mov dword [ebp - 0xc8], 8
mov dword [ebp - 0xc4], 9
mov dword [ebp - 0xc0], 0xa
mov dword [ebp - 0xbc], 0xb
mov dword [ebp - 0xb8], 0xc
mov dword [ebp - 0xb4], 0xd
mov dword [ebp - 0xb0], 0xe
mov dword [ebp - 0xac], 0xf
mov dword [ebp - 0xa8], 0x10
mov dword [ebp - 0xa4], 0x11
mov dword [ebp - 0xa0], 0x12
mov dword [ebp - 0x9c], 0x13
mov dword [ebp - 0x98], 0x14
mov dword [ebp - 0x94], 0x15
mov dword [ebp - 0x90], 0x16
mov dword [ebp - 0x8c], 0x17
mov dword [ebp - 0x88], 0x18
mov dword [ebp - 0x84], 0x19
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], 0x1a
mov dword [ebp - 0x64], 0x1b
mov dword [ebp - 0x60], 0x1c
mov dword [ebp - 0x5c], 0x1d
mov dword [ebp - 0x58], 0x1e
mov dword [ebp - 0x54], 0x1f
mov dword [ebp - 0x50], 0x20
mov dword [ebp - 0x4c], 0x21
mov dword [ebp - 0x48], 0x22
mov dword [ebp - 0x44], 0x23
mov dword [ebp - 0x40], 0x24
mov dword [ebp - 0x3c], 0x25
mov dword [ebp - 0x38], 0x26
mov dword [ebp - 0x34], 0x27
mov dword [ebp - 0x30], 0x28
mov dword [ebp - 0x2c], 0x29
mov dword [ebp - 0x28], 0x2a
mov dword [ebp - 0x24], 0x2b
mov dword [ebp - 0x20], 0x2c
mov dword [ebp - 0x1c], 0x2d
mov dword [ebp - 0x18], 0x2e
mov dword [ebp - 0x14], 0x2f
mov dword [ebp - 0x10], 0x30
mov dword [ebp - 0xc], 0x31
mov dword [ebp - 8], 0x32
mov dword [ebp - 4], 0x33
cmp esi, edi
je 0x4016ed
cmp dword [ebp + 8], edi
je 0x4016ed
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
call fcn.00403311
cmp dword [ebp + 0xc], eax
jb 0x4016ed
mov eax, ebx
and eax, reloc.WS2_32.dll_closesocket
jns 0x401647
dec eax
or eax, 0xfffffffc
inc eax
jne 0x4016ed
xor edx, edx
cmp ebx, edi
jbe 0x4016e8
mov al, byte [edx + esi]
call fcn.00403348
test eax, eax
je 0x4016ed
inc edx
cmp edx, ebx
jb 0x401657
cmp ebx, edi
jbe 0x4016e8
lea edx, [ebx - 1]
shr edx, 2
lea eax, [esi + 2]
inc edx
movsx ecx, byte [eax - 2]
mov ecx, dword [ebp + ecx*4 - 0x1ec]
movsx esi, byte [eax - 1]
mov bl, byte [eax]
shl ecx, 6
or ecx, dword [ebp + esi*4 - 0x1ec]
shl ecx, 6
cmp bl, 0x3d
je 0x4016a7
movsx esi, bl
or ecx, dword [ebp + esi*4 - 0x1ec]
mov bl, byte [eax + 1]
shl ecx, 6
cmp bl, 0x3d
je 0x4016bc
movsx esi, bl
or ecx, dword [ebp + esi*4 - 0x1ec]
mov esi, dword [ebp + 8]
mov ebx, ecx
sar ebx, 0x10
mov byte [edi + esi], bl
cmp byte [eax], 0x3d
je 0x4016d5
mov ebx, ecx
sar ebx, 8
mov byte [edi + esi + 1], bl
cmp byte [eax + 1], 0x3d
je 0x4016df
mov byte [edi + esi + 2], cl
add eax, 4
add edi, 3
dec edx
jne 0x40167a
mov eax, dword [ebp + 8]
jmp 0x4016ef
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret