Function at 0x3737527c
Capabilities:
Encode data using base64
Get file size
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
xor ebx, ebx
push edi
push ebx
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
push ebx
push 3
push ebx
push 1
push 0x80000000
mov dword [ebp - 0xc], ebx
push dword [ebp + 8]
call esi
mov edi, eax
cmp edi, 0xffffffff
je 0x37375342
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov dword [ebp - 8], eax
jne 0x373752c5
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x37375342
add eax, 0x10
push eax
push 8
push dword [0x3737ad14]
call dword [0x3737acd4]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x373752bc
lea ecx, [ebp - 0xc]
push ebx
push ecx
push dword [ebp - 8]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
push edi
jne 0x373752fb
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x37375332
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
push 3
xor edx, edx
pop ecx
div ecx
cmp edx, ebx
mov dword [ebp + 8], edx
je 0x37375319
push ecx
pop eax
sub eax, edx
mov dword [ebp + 8], eax
push ebx
push ebx
push 4
push ebx
push 1
push 0x40000000
push dword [ebp + 0xc]
call esi
cmp eax, 0xffffffff
mov dword [ebp + 0xc], eax
jne 0x37375349
push dword [ebp - 4]
push ebx
push dword [0x3737ad14]
call dword [0x3737acd0]
xor eax, eax
jmp 0x3737547c
push 2
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [ebp - 8]
xor edi, edi
xor ecx, ecx
cmp dword [ebp + 8], ebx
push 3
setne cl
xor edx, edx
pop esi
div esi
add eax, ecx
cmp eax, ebx
mov dword [ebp - 8], eax
jbe 0x37375460
mov esi, dword [ebp - 4]
jmp 0x3737537d
mov eax, dword [ebp - 8]
dec eax
cmp edi, eax
mov dword [ebp - 0x10], eax
jne 0x3737539a
cmp dword [ebp + 8], ebx
je 0x3737539a
cmp dword [ebp + 8], 1
jne 0x37375394
xor dl, dl
jmp 0x3737539d
xor dl, dl
xor cl, cl
jmp 0x373753a0
mov dl, byte [esi + 2]
mov cl, byte [esi + 1]
mov bl, dl
mov al, byte [esi]
and bl, 0x3f
mov byte [ebp - 0x19], bl
mov bl, cl
and bl, 0xf
shl bl, 2
shr dl, 6
or bl, dl
mov dl, al
and dl, 3
mov byte [ebp - 0x1a], bl
shl dl, 4
shr cl, 4
or dl, cl
shr al, 2
mov byte [ebp - 0x1b], dl
mov byte [ebp - 0x1c], al
push dword [ebp - 0x1c]
call fcn.37375481
push dword [ebp - 0x1b]
mov byte [ebp - 0x1c], al
call fcn.37375481
push dword [ebp - 0x1a]
mov byte [ebp - 0x1b], al
call fcn.37375481
push dword [ebp - 0x19]
mov byte [ebp - 0x1a], al
call fcn.37375481
add esp, 0x10
cmp edi, dword [ebp - 0x10]
mov byte [ebp - 0x19], al
jne 0x3737541b
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x3737541d
cmp dword [ebp + 8], 1
je 0x37375415
mov byte [ebp - 0x1a], 0x3d
mov byte [ebp - 0x19], 0x3d
jmp 0x3737541d
xor ebx, ebx
lea eax, [ebp - 0x14]
push ebx
push eax
lea eax, [ebp - 0x1c]
push 4
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
inc edi
push 0x13
mov eax, edi
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x37375454
lea eax, [ebp - 0x14]
push ebx
push eax
push 2
push 0x3737a2d4
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_WriteFile]
add esi, 3
cmp edi, dword [ebp - 8]
jb 0x3737537a
push dword [ebp - 4]
push ebx
push dword [0x3737ad14]
call dword [0x3737acd0]
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret