Function at 0x4015f2
Capabilities:
Encode data using base64 via winapi

Disassembly:
fdiv st(7), st(0)
adc eax, sym.imp.USER32.DLL_LoadCursorA
mov ecx, 0xe17015ff
inc ebp
add byte [ebx - 0x27fe03bb], cl
jbe 0x4015f4
jae 0x40157f
xor ch, byte [esi + 0x35]
jne 0x401640
push cs
add byte [eax], al
push esi
lea esi, [edx - 0x73]
arpl word [esi - 0x80], dx
insb byte es:[edi], dx
add al, 0x45
push esi
and byte [ebp + 0x6c], 4
inc ebp
inc ebp
mov edi, eax
mov dword [esi], esi
push ebx
ret
mov esi, ebp
insb byte es:[edi], dx
jp 0x4015ca
jb 0x401695
inc ebp
inc ebp
push eax
call 0x32085bbe
push edi
popal
add byte [ebp + 0x45], al
inc ebp
dec esp
outsd dx, dword [esi]
inc ebp
jmp [esi]
outsb dx, byte [esi]
jb 0x401603
jb 0x401644
call dword [eax - 0x77]
add al, 0xc7
push eax
mov dword [edi + eax*8], eax
outsb dx, byte [esi]
jns 0x401623
push esi
inc ebp
mov edx, 0x6e890031
inc ebp
invalid
outsb dx, byte [esi]
push eax
inc dword [esi + 0x45]
push ebx
fadd dword [eax]
or ebp, dword [ecx + ecx*4 - 0x77]
add byte [esi + 0x26], dl
inc ecx
outsd dx, dword [esi]
inc ebp
add byte [eax + 0x41], ah
cmp dword [edx + 0x45], 0xc3de4700
invalid
insb byte es:[edi], dx
push eax
arpl di, ax
mov edx, 0x6e2776c7
invalid
xor eax, edi
bound eax, qword [ebx + 0x46]
push eax
mov dword [edx - 0x39], edi
jae 0x401688
outsb dx, byte fs:[esi]
mov dword [edi + 0x61], edx
jb 0x4016d5
add byte [ebp - 0x77], al
shl byte [esi + ebp*2 + 0x72], 0xc0
jp 0x40171a
jbe 0x4016f4
pushal
insb byte es:[edi], dx
or al, 0x64
lea edi, [edx - 0x77]
inc esi
inc ebp
inc ebp
invalid
jne 0x401707
mov dword [ebx + 0x56], edx
outsb dx, byte fs:[esi]
inc ebp
je 0x401731
jle 0x401722
inc dword [eax]
inc edi
mov dword [eax], 0x726e6e53
mov dword [ebp + 0x6e], eax
jb 0x401660
inc ebp
outsb dx, byte [esi]
jo 0x4016a2
mov dword [ebp - 0x939a8e], ecx
jb 0x401748
insb byte es:[edi], dx
dec ecx
inc ebp
inc ebp
outsb dx, byte [esi]
outsb dx, byte [esi]
add bh, al
inc ebp
push eax
add byte [ebx + 0x45], dh
inc ebp
inc ebp
rol bh, 0xc7
inc ebp
inc ebp
xor dword [ebx + 0x56], edx
outsb dx, byte [esi]
outsb dx, byte [esi]
inc ebp
mov edi, 0x46ff5646
jbe 0x40175e
invalid
push esi
jb 0x40177f
jne 0x401772
imul ecx, dword [ebp - 0x38729b39], 0xffc70045
imul eax, edi, 0x72c06d42
jb 0x40178b
insd dword es:[edi], dx
sal byte [edx + 0x72], 0x6c
push eax
push eax
mov dword [eax], 0x64726c65
add byte [ebp + 0x6c], ah
jb 0x40178b
xor dword [eax + 0x5c], edx
je 0x40178d
mov dword [edx + edx*2 + 0x53], ebp
push ebx
outsb dx, byte [esi]
jb 0x4016c0
outsb dx, byte [esi]
mov dword [ebp + 0x50], eax
add byte [ebp + 0x6c], al
push ebx
inc esi
push ebx
outsb dx, byte [esi]
invalid
inc ebp
imul esi, dword fs:[ebp + 0x70], 0x6e656470
popal
jb 0x4017c6
push esi
push eax
arpl word [esi - 1], si
push esi
push eax
inc esi
je 0x4017bf
jb 0x4016e9
inc esi
lea eax, [ebp + 0x56]
inc esi
push ebx
ja 0x40172f
push eax
je 0x4017d0
inc ebp
inc ebp
outsd dx, dword [esi]
inc esi
inc ebp
dec edi
invalid
push 0x45747456
inc ebp
jp 0x4017bf
invalid
popal
jbe 0x4017f1
add byte [eax], al
add byte [eax], al
add dword [eax], ecx
mov esi, dword [ebp + 0x50]
push eax
inc ebx
push 0x51
jne 0x4017d7
ret
fisubr word [edx + 0x70]
add byte [eax - 0x77], dl
add al, 0xd8
push ebx
sub ebx, dword [ebp]
inc ebp
call 0x7240760b
add byte [eax], al
add byte [ebp], al
add byte [ecx - 0x5b], ch
jae 0x4017a4
add byte [edx], dh
add byte [eax], al
inc ebp
add byte [eax], al
imul esp, dword [ebp + 0x68faf473], 0x73788376
cli
push 0x73788376
or byte [ebx - 0x4074f10d], al
add byte [eax + 4], ch
outsb dx, byte [esi]
outsd dx, dword [esi]
mov edi, edx
jmp [esi + ebx*2]
add byte [ecx - 0x3814b9b4], cl
invalid
add al, 0xd1
ud0
push esi
add al, 0x56
push 0x77
xor al, 0x78
cmp edi, 0x56
add byte [eax], al
add byte [ebx], al
xor dh, ch
invalid
invalid