Function at 0x428a5c
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov ecx, dword [esp + 0x4c]
mov eax, ecx
and eax, 0xfffffff9
cmp eax, 1
jne 0x428d86
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], 0
cmp dword [esp + 0x3c], 0
je 0x428c03
xor eax, eax
test cl, 4
sete al
lea eax, [eax + eax + 0x3fd2]
mov dword [esp + 0x18], eax
mov eax, 0x3fd0
mov ecx, 0x3fa0
cmove ecx, eax
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov dword [esp + 0xc], 0
mov dword [esp], 0
xor eax, eax
mov dword [esp + 8], ecx
mov dword [esp + 0x10], eax
mov esi, eax
mov edi, ebx
mov eax, dword [esp + 0x38]
movsx eax, byte [eax + esi]
lea ecx, [eax - 0x41]
mov edx, ecx
not edx
mov ebx, 0x5a
sub ebx, eax
not ebx
and ebx, edx
shr ebx, 8
mov ebp, 0xff
and ecx, ebp
and ecx, ebx
movd xmm0, eax
pshufd xmm0, xmm0, 0x50
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x438b50]
movdqa xmm2, xmmword [0x438b60]
psubd xmm2, xmm0
por xmm2, xmm1
pxor xmm2, xmmword [0x438b90]
psrld xmm2, 8
paddd xmm0, xmmword [0x438b70]
pand xmm0, xmm2
pand xmm0, xmmword [0x438b80]
mov edx, dword [esp + 0x18]
xor edx, eax
inc edx
not edx
shr edx, 8
and edx, 0x3e
mov ebx, dword [esp + 0x14]
xor ebx, eax
inc ebx
not ebx
shr ebx, 8
and ebx, 0x3f
or ebx, edx
movd edx, xmm0
or edx, ebx
pshufd xmm0, xmm0, 0x55
movd ebx, xmm0
or ebx, edx
mov edx, eax
xor edx, 0xffbe
inc edx
or ebx, ecx
lea ecx, [ebx - 1]
and ecx, edx
shr ecx, 8
and ecx, ebp
or ecx, ebx
cmp ecx, ebp
jne 0x428bb0
mov ebx, edi
test edi, edi
je 0x428c1a
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
test eax, eax
je 0x428c26
inc esi
cmp esi, dword [esp + 0x3c]
jb 0x428acd
jmp 0x428c2c
mov eax, dword [esp + 0xc]
shl eax, 6
mov ebp, ecx
add ebp, eax
mov ecx, dword [esp + 8]
cmp ecx, 2
mov ebx, edi
mov dword [esp + 0xc], ebp
jb 0x428beb
add ecx, 0xfffffffe
mov edx, dword [esp]
cmp edx, dword [esp + 0x34]
jae 0x428d6d
mov eax, ebp
shr eax, cl
mov edi, dword [esp + 0x30]
mov byte [edi + edx], al
inc edx
mov dword [esp], edx
jmp 0x428bee
add ecx, 6
lea eax, [esi + 1]
cmp eax, dword [esp + 0x3c]
jb 0x428ac3
inc esi
xor eax, eax
jmp 0x428d7f
xor ecx, ecx
mov dword [esp + 0xc], 0
xor eax, eax
xor ebp, ebp
mov dword [esp], 0
jmp 0x428c55
xor eax, eax
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 0x10]
jmp 0x428c40
xor eax, eax
mov ebp, esi
jmp 0x428c3c
mov ebp, dword [esp + 0x10]
inc ebp
mov eax, dword [esp + 0x3c]
cmp eax, ebp
cmova ebp, eax
xor eax, eax
mov ecx, dword [esp + 8]
cmp ecx, 4
jbe 0x428c55
mov dword [esp + 4], 0
xor edx, edx
dec edx
jmp 0x428d09
xor edx, edx
dec edx
mov esi, ecx
shl edx, cl
test al, al
jne 0x428d2b
not edx
and dword [esp + 0xc], edx
mov eax, dword [esp + 0x48]
jne 0x428d2f
mov eax, dword [esp + 0x4c]
test al, 2
jne 0x428cc6
cmp esi, 2
jb 0x428cc6
mov ecx, esi
shr ecx, 1
mov esi, dword [esp + 0x3c]
cmp ebp, esi
cmova esi, ebp
cmp esi, ebp
je 0x428d0f
mov eax, dword [esp + 0x38]
movsx eax, byte [eax + ebp]
cmp eax, 0x3d
jne 0x428ca2
dec ecx
jmp 0x428cc1
mov edi, 0x16
test ebx, ebx
je 0x428d16
push eax
push ebx
mov edi, esi
mov esi, ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
mov ecx, esi
mov esi, edi
add esp, 8
test eax, eax
je 0x428d1a
inc ebp
test ecx, ecx
jne 0x428c8e
xor edx, edx
test ebx, ebx
je 0x428d02
cmp ebp, dword [esp + 0x3c]
jae 0x428d02
mov eax, dword [esp + 0x38]
movsx eax, byte [eax + ebp]
push eax
push ebx
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
test eax, eax
je 0x428cf3
inc ebp
cmp dword [esp + 0x3c], ebp
jne 0x428cd2
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
xor edx, edx
jmp 0x428d32
mov eax, dword [esp]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
jmp 0x428d32
mov edi, 0x22
jmp 0x428d21
mov esi, ebp
jmp 0x428d21
mov esi, ebp
mov edi, 0x16
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], edi
mov ebp, esi
mov eax, dword [esp + 0x48]
xor edx, edx
dec edx
mov esi, dword [esp + 0x44]
test eax, eax
je 0x428d44
mov ecx, dword [esp + 0x38]
add ecx, ebp
mov dword [eax], ecx
jmp 0x428d59
cmp ebp, dword [esp + 0x3c]
je 0x428d59
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0x16
xor edx, edx
dec edx
test esi, esi
je 0x428d63
mov eax, dword [esp + 4]
mov dword [esi], eax
mov eax, edx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ecx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, edi
mov dword [eax], 0x22
mov al, 1
mov ebp, esi
jmp 0x428c40
call fcn.00428ea1
int3