.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc

_b64_trim   PROTO SYSCALL
_b64_decode PROTO SYSCALL

.CODE
; =========================================================
; void b64_decode(LPSTR str_in,LPSTR str_out)
; =========================================================
b64_decode PROC uses esi edi str_in:DWORD,str_out:DWORD
     mov esi,str_in
     mov edi,str_out
     push edi
     ; Пропускаем лишние символы в начале и конце строки:
     ; (лишними считаются пробелы, знаки препинания и т.д.)
     call _b64_trim
     ; Приступаем к расшифровке:
     pop esi
     call _b64_decode
     mov BYTE PTR [edi],0
     ret
b64_decode ENDP

END