Function at 0x424d70
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov esi, dword [esp + 0xc]
shr ebp, 0xb
mov esi, dword [esi]
movzx edx, byte [esi + 1]
add esi, 2
and ebp, 1
je 0x424e61
cmp edx, 0xc0
jl 0x424e61
test dl, 0x20
jne 0x424db4
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x424e61
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x424ddb
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x424e61
test dl, 8
jne 0x424dfe
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x424e61
test dl, 4
jne 0x424e2d
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x424e61
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
dec esi
test edx, edx
jne 0x424e72
mov eax, dword [esp + 0x10]
mov dword [eax], 1
jmp 0x424eb1
lea ecx, [edx - 0x30]
push ebx
push edi
cmp ecx, 0x4a
ja 0x424e8a
movsx ebx, word [ecx*2 + 0x4b2070]
test ebx, ebx
je 0x424ed7
mov edx, ebx
mov edi, dword [esp + 0x18]
cmp edx, 0xfffffff4
jne 0x424eaf
cmp byte [esi + 1], 0x7b
jne 0x424eaf
lea eax, [esi + 2]
push eax
call fcn.0042adc0
add esp, 4
test eax, eax
jne 0x424eaf
mov dword [edi], 0x25
pop edi
pop ebx
test dword [esp + 0x18], 0x20000000
je 0x4253e9
lea eax, [edx + 0xb]
cmp eax, 5
mov eax, dword [esp + 0xc]
mov dword [eax], esi
ja 0x4253ef
pop esi
lea eax, [edx - 0x17]
pop ebp
ret
cmp ecx, 0x48
ja case.0x424ee7.10
movzx eax, byte [ecx + 0x425418]
jmp dword [eax*4 + 0x4253f4]
mov ecx, dword [esp + 0x18]
mov edi, ecx
mov dword [ecx], 0x25
jmp 0x424e8e
test dword [esp + 0x20], 0x2000000
je 0x424fcb
movzx eax, byte [esi + 1]
test byte [eax + 0x4b2e48], 8
je 0x424e8a
movzx ecx, byte [esi + 2]
test byte [ecx + 0x4b2e48], 8
je 0x424e8a
movzx edi, byte [esi + 3]
test byte [edi + 0x4b2e48], 8
je 0x424e8a
movzx ebx, byte [esi + 4]
test byte [ebx + 0x4b2e48], 8
je 0x424e8a
mov edx, eax
cmp edx, 0x61
jl 0x424f58
sub edx, 0x20
xor eax, eax
cmp edx, 0x41
setge al
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
cmp ecx, 0x61
jl 0x424f71
sub ecx, 0x20
xor eax, eax
cmp ecx, 0x41
setge al
shl edx, 4
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
add edx, ecx
cmp edi, 0x61
jl 0x424f8f
sub edi, 0x20
xor eax, eax
cmp edi, 0x41
setge al
shl edx, 4
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
add edx, edi
cmp ebx, 0x61
jl 0x424fad
sub ebx, 0x20
xor eax, eax
cmp ebx, 0x41
setge al
shl edx, 4
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
add edx, ebx
add esi, 4
jmp 0x424e8a
mov edi, dword [esp + 0x18]
mov dword [edi], 0x25
jmp 0x424e8e
test dword [esp + 0x20], 0x2000000
mov edi, dword [esp + 0x18]
jne 0x424e8e
mov dword [edi], 0x25
jmp 0x424e8e
cmp dword [esp + 0x24], 0
jne 0x424e8a
mov al, byte [esi + 1]
cmp al, 0x3c
je 0x425142
cmp al, 0x27
je 0x425142
cmp al, 0x7b
jne 0x425057
mov al, byte [esi + 2]
lea ecx, [esi + 2]
test al, al
je 0x42503b
cmp al, 0x7d
je 0x425043
cmp al, 0x2d
je 0x425033
cmp al, 0x30
jb 0x425043
cmp al, 0x39
ja 0x425043
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x425023
mov edi, 1
inc esi
jmp 0x425059
mov al, byte [ecx]
test al, al
je 0x42503b
cmp al, 0x7d
je 0x42503b
mov edx, 0xffffffe4
jmp 0x424eaf
xor edi, edi
cmp byte [esi + 1], 0x2d
lea eax, [esi + 1]
jne 0x42506b
mov ebx, 1
mov esi, eax
jmp 0x42506d
xor ebx, ebx
mov al, byte [esi + 1]
lea ecx, [esi + 1]
xor edx, edx
cmp al, 0x30
jb 0x4250e8
lea esp, [esp]
cmp al, 0x39
ja 0x4250a4
cmp edx, 0xccccccc
ja 0x4250e3
mov esi, ecx
lea ecx, [edx - 6]
lea ecx, [edx + ecx*4]
movzx eax, byte [esi]
lea edx, [eax + ecx*2]
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jae 0x425080
cmp edx, 0x7fffffff
jbe 0x4250e8
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jb 0x4251a7
lea ebx, [ebx]
cmp al, 0x39
ja 0x4251a7
mov esi, ecx
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jae 0x4250c0
mov edi, dword [esp + 0x18]
mov dword [edi], 0x3d
jmp 0x424e8e
or edx, 0xffffffff
jmp 0x4250ac
test edi, edi
je 0x425101
inc esi
cmp byte [esi], 0x7d
je 0x425101
mov edi, dword [esp + 0x18]
mov dword [edi], 0x39
jmp 0x424e8e
test edx, edx
jne 0x425114
mov eax, dword [esp + 0x18]
mov dword [eax], 0x3a
jmp 0x424eaf
test ebx, ebx
je 0x425134
mov eax, dword [esp + 0x1c]
cmp edx, eax
jle 0x42512f
mov edi, dword [esp + 0x18]
mov dword [edi], 0xf
jmp 0x424e8e
sub eax, edx
lea edx, [eax + 1]
mov eax, 0xffffffdd
sub eax, edx
mov edx, eax
jmp 0x424e8a
mov edx, 0xffffffe5
jmp 0x424eaf
cmp dword [esp + 0x24], 0
jne 0x4251d0
mov al, byte [esi + 1]
mov edx, ecx
lea ecx, [esi + 1]
mov edi, esi
cmp al, 0x30
jb 0x425185
cmp al, 0x39
ja 0x425185
cmp edx, 0xccccccc
ja 0x4251b6
mov esi, ecx
lea ecx, [edx - 6]
lea ecx, [edx + ecx*4]
movzx eax, byte [esi]
lea edx, [eax + ecx*2]
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jae 0x425161
cmp edx, 0x7fffffff
jbe 0x4251bb
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jb 0x4251a7
cmp al, 0x39
ja 0x4251a7
mov esi, ecx
mov al, byte [esi + 1]
lea ecx, [esi + 1]
cmp al, 0x30
jae 0x425197
mov edi, dword [esp + 0x18]
mov dword [edi], 0x3d
jmp 0x424e8e
or edx, 0xffffffff
jmp 0x42518d
cmp edx, 0xa
jl 0x425134
cmp edx, dword [esp + 0x1c]
jle 0x425134
mov esi, edi
movzx edx, byte [esi]
cmp edx, 0x38
jl case.0x424ee7.0
dec esi
xor edx, edx
jmp 0x424eaf
sub edx, 0x30
mov al, byte [esi + 1]
inc ebx
cmp al, 0x30
jb 0x4251ff
cmp al, 0x37
ja 0x4251ff
movzx eax, byte [esi + 1]
inc esi
add edx, 0xfffffffa
lea edx, [eax + edx*8]
cmp ebx, 2
jl 0x4251e3
mov edi, dword [esp + 0x18]
test ebp, ebp
jne 0x424e8e
cmp edx, 0xff
jle 0x424e8e
mov dword [edi], 0x33
jmp 0x424e8e
test dword [esp + 0x20], 0x2000000
je 0x42528f
movzx eax, byte [esi + 1]
test byte [eax + 0x4b2e48], 8
je 0x424e8a
movzx ecx, byte [esi + 2]
test byte [ecx + 0x4b2e48], 8
je 0x424e8a
mov edx, eax
cmp edx, 0x61
jl 0x425258
sub edx, 0x20
xor eax, eax
cmp edx, 0x41
setge al
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
cmp ecx, 0x61
jl 0x425271
sub ecx, 0x20
xor eax, eax
cmp ecx, 0x41
setge al
shl edx, 4
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
add edx, ecx
add esi, 2
jmp 0x424e8a
cmp byte [esi + 1], 0x7b
jne 0x42534c
movzx ecx, byte [esi + 2]
lea edi, [esi + 2]
xor edx, edx
test byte [ecx + 0x4b2e48], 8
je 0x4252fc
jmp 0x4252b0
inc edi
test edx, edx
jne 0x4252ba
cmp ecx, 0x30
je 0x4252ec
cmp ecx, 0x61
jl 0x4252c2
sub ecx, 0x20
xor eax, eax
cmp ecx, 0x41
setge al
shl edx, 4
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
mov eax, ebp
add edx, ecx
neg eax
sbb eax, eax
and eax, 0x10ff00
add eax, 0xff
cmp edx, eax
jg 0x425323
movzx ecx, byte [edi]
test byte [ecx + 0x4b2e48], 8
jne 0x4252b0
test edx, edx
js 0x425326
mov ecx, dword [esp + 0x18]
cmp byte [edi], 0x7d
jne 0x42534c
test ebp, ebp
je 0x42531c
lea eax, [edx - 0xd800]
cmp eax, 0x7ff
ja 0x42531c
mov dword [ecx], 0x49
mov esi, edi
jmp 0x424e8a
or edx, 0xffffffff
movzx eax, byte [edi]
test byte [eax + 0x4b2e48], 8
je 0x425340
movzx eax, byte [edi + 1]
inc edi
test byte [eax + 0x4b2e48], 8
jne 0x425332
mov ecx, dword [esp + 0x18]
mov dword [ecx], 0x22
jmp 0x425300
xor edx, edx
mov edi, edi
movzx eax, byte [esi + 1]
inc ebx
test byte [eax + 0x4b2e48], 8
je 0x424e8a
movzx ecx, byte [esi + 1]
inc esi
cmp ecx, 0x61
jl 0x42536f
sub ecx, 0x20
xor eax, eax
cmp ecx, 0x41
setge al
shl edx, 4
dec eax
and eax, 0xfffffff9
add eax, 0x37
sub edx, eax
add edx, ecx
cmp ebx, 2
jl 0x425350
jmp 0x424e8a
movzx edx, byte [esi + 1]
inc esi
test edx, edx
jne 0x4253a7
mov eax, dword [esp + 0x18]
mov dword [eax], 2
jmp 0x424eaf
cmp edx, 0x7f
jle 0x4253bb
mov edi, dword [esp + 0x18]
mov dword [edi], 0x44
jmp 0x424e8e
lea eax, [edx - 0x61]
cmp eax, 0x19
ja 0x4253c6
sub edx, 0x20
xor edx, 0x40
jmp 0x424e8a
mov eax, dword [esp + 0x20]
test al, 0x40
je 0x424e8a
mov edi, dword [esp + 0x18]
mov dword [edi], 3
jmp 0x424e8e
mov eax, dword [esp + 0xc]
mov dword [eax], esi
pop esi
mov eax, edx
pop ebp
ret