Function at 0x420710
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
mov edi, eax
mov esi, ecx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x420720
sub eax, edx
mov dword [ebp - 0x18], eax
test eax, eax
jg 0x42073b
pop edi
mov eax, 0x4595d0
pop esi
mov esp, ebp
pop ebp
ret
push ebx
push eax
call fcn.00438db9
mov ebx, eax
mov eax, dword [esi + 4]
lea ecx, [ebp - 8]
add esp, 4
mov dword [ebp - 8], ebx
cmp ecx, eax
jae 0x420780
mov ecx, dword [esi]
lea edx, [ebp - 8]
cmp ecx, edx
ja 0x420780
mov ebx, edx
sub ebx, ecx
sar ebx, 2
cmp eax, dword [esi + 8]
jne 0x420770
mov eax, esi
call fcn.00418800
mov eax, dword [esi + 4]
test eax, eax
je 0x420795
mov ecx, dword [esi]
mov edx, dword [ecx + ebx*4]
mov dword [eax], edx
jmp 0x420795
cmp eax, dword [esi + 8]
jne 0x42078c
mov eax, esi
call fcn.00418800
mov eax, dword [esi + 4]
test eax, eax
je 0x420795
mov dword [eax], ebx
mov eax, dword [ebp - 8]
add dword [esi + 4], 4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffc
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], 0
test eax, eax
jle 0x4209dd
dec eax
shr eax, 2
inc eax
lea ecx, [eax*4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
lea esp, [esp]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
lea eax, [edx - 0x41]
or esi, 0xffffffff
cmp al, 0x19
ja 0x4207e7
movsx esi, dl
sub esi, 0x41
jmp 0x42081c
lea ecx, [edx - 0x61]
cmp cl, 0x19
ja 0x4207f7
movsx esi, dl
sub esi, 0x47
jmp 0x42081c
lea eax, [edx - 0x30]
cmp al, 9
ja 0x420806
movsx esi, dl
add esi, 4
jmp 0x42081c
cmp dl, 0x2b
jne 0x420812
mov esi, 0x3e
jmp 0x42081c
cmp dl, 0x2f
jne 0x42081c
mov esi, 0x3f
mov ecx, edx
shr ecx, 8
lea ebx, [ecx - 0x41]
or eax, 0xffffffff
cmp bl, 0x19
ja 0x420834
movsx eax, cl
sub eax, 0x41
jmp 0x42086a
lea ebx, [ecx - 0x61]
cmp bl, 0x19
ja 0x420844
movsx eax, cl
sub eax, 0x47
jmp 0x42086a
lea ebx, [ecx - 0x30]
cmp bl, 9
ja 0x420854
movsx eax, cl
add eax, 4
jmp 0x42086a
cmp cl, 0x2b
jne 0x420860
mov eax, 0x3e
jmp 0x42086a
cmp cl, 0x2f
jne 0x42086a
mov eax, 0x3f
add esi, esi
sar eax, 4
lea edi, [esi + esi]
or edi, eax
lea eax, [ecx - 0x41]
and edi, 0xff
or esi, 0xffffffff
cmp al, 0x19
ja 0x42088c
movsx esi, cl
sub esi, 0x41
jmp 0x4208c0
lea eax, [ecx - 0x61]
cmp al, 0x19
ja 0x42089b
movsx esi, cl
sub esi, 0x47
jmp 0x4208c0
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4208aa
movsx esi, cl
add esi, 4
jmp 0x4208c0
cmp cl, 0x2b
jne 0x4208b6
mov esi, 0x3e
jmp 0x4208c0
cmp cl, 0x2f
jne 0x4208c0
mov esi, 0x3f
mov ecx, edx
shr ecx, 0x10
lea ebx, [ecx - 0x41]
or eax, 0xffffffff
cmp bl, 0x19
ja 0x4208d8
movsx eax, cl
sub eax, 0x41
jmp 0x42090e
lea ebx, [ecx - 0x61]
cmp bl, 0x19
ja 0x4208e8
movsx eax, cl
sub eax, 0x47
jmp 0x42090e
lea ebx, [ecx - 0x30]
cmp bl, 9
ja 0x4208f8
movsx eax, cl
add eax, 4
jmp 0x42090e
cmp cl, 0x2b
jne 0x420904
mov eax, 0x3e
jmp 0x42090e
cmp cl, 0x2f
jne 0x42090e
mov eax, 0x3f
sar eax, 2
shl esi, 4
or esi, eax
lea ebx, [ecx - 0x41]
and esi, 0xff
or eax, 0xffffffff
cmp bl, 0x19
ja 0x42092f
movsx eax, cl
sub eax, 0x41
jmp 0x420965
lea ebx, [ecx - 0x61]
cmp bl, 0x19
ja 0x42093f
movsx eax, cl
sub eax, 0x47
jmp 0x420965
lea ebx, [ecx - 0x30]
cmp bl, 9
ja 0x42094f
movsx eax, cl
add eax, 4
jmp 0x420965
cmp cl, 0x2b
jne 0x42095b
mov eax, 0x3e
jmp 0x420965
cmp cl, 0x2f
jne 0x420965
mov eax, 0x3f
shr edx, 0x18
lea ebx, [edx - 0x41]
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x42097b
movsx ecx, dl
sub ecx, 0x41
jmp 0x4209b1
lea ebx, [edx - 0x61]
cmp bl, 0x19
ja 0x42098b
movsx ecx, dl
sub ecx, 0x47
jmp 0x4209b1
lea ebx, [edx - 0x30]
cmp bl, 9
ja 0x42099b
movsx ecx, dl
add ecx, 4
jmp 0x4209b1
cmp dl, 0x2b
jne 0x4209a7
mov ecx, 0x3e
jmp 0x4209b1
cmp dl, 0x2f
jne 0x4209b1
mov ecx, 0x3f
add dword [ebp - 0xc], 4
shl eax, 6
or eax, ecx
mov ecx, dword [ebp - 4]
and eax, 0xff
shl eax, 8
or eax, esi
shl eax, 8
or eax, edi
mov dword [ecx], eax
add ecx, 3
dec dword [ebp - 0x14]
mov dword [ebp - 4], ecx
jne 0x4207d0
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x10], ecx
jge 0x420c19
sub ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x420a09
push ecx
mov ecx, dword [ebp - 0xc]
push ecx
lea edx, [ebp - 0x10]
push edx
call fcn.00438eb0
mov eax, dword [ebp - 0x10]
add esp, 0xc
or edx, 0xffffffff
cmp al, 0x41
jl 0x420a1c
cmp al, 0x5a
jg 0x420a1c
movsx edx, al
sub edx, 0x41
jmp 0x420a50
cmp al, 0x61
jl 0x420a2c
cmp al, 0x7a
jg 0x420a2c
movsx edx, al
sub edx, 0x47
jmp 0x420a50
cmp al, 0x30
jl 0x420a3c
cmp al, 0x39
jg 0x420a3c
movsx edx, al
add edx, 4
jmp 0x420a50
cmp al, 0x2b
jne 0x420a47
mov edx, 0x3e
jmp 0x420a50
cmp al, 0x2f
jne 0x420a50
mov edx, 0x3f
shr eax, 8
lea ebx, [eax - 0x41]
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x420a66
movsx ecx, al
sub ecx, 0x41
jmp 0x420a9a
lea ebx, [eax - 0x61]
cmp bl, 0x19
ja 0x420a76
movsx ecx, al
sub ecx, 0x47
jmp 0x420a9a
lea ebx, [eax - 0x30]
cmp bl, 9
ja 0x420a86
movsx ecx, al
add ecx, 4
jmp 0x420a9a
cmp al, 0x2b
jne 0x420a91
mov ecx, 0x3e
jmp 0x420a9a
cmp al, 0x2f
jne 0x420a9a
mov ecx, 0x3f
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 0x10]
add dl, dl
sar ecx, 4
add dl, dl
or cl, dl
mov byte [edi], cl
inc edi
mov dword [ebp - 4], edi
cmp al, 0x3d
je 0x420b63
mov edx, esi
shr edx, 0x10
cmp dl, 0x3d
je 0x420b63
lea ebx, [eax - 0x41]
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x420ad8
movsx ecx, al
sub ecx, 0x41
jmp 0x420b0c
lea ebx, [eax - 0x61]
cmp bl, 0x19
ja 0x420ae8
movsx ecx, al
sub ecx, 0x47
jmp 0x420b0c
lea ebx, [eax - 0x30]
cmp bl, 9
ja 0x420af8
movsx ecx, al
add ecx, 4
jmp 0x420b0c
cmp al, 0x2b
jne 0x420b03
mov ecx, 0x3e
jmp 0x420b0c
cmp al, 0x2f
jne 0x420b0c
mov ecx, 0x3f
lea ebx, [edx - 0x41]
or eax, 0xffffffff
cmp bl, 0x19
ja 0x420b1f
movsx eax, dl
sub eax, 0x41
jmp 0x420b55
lea ebx, [edx - 0x61]
cmp bl, 0x19
ja 0x420b2f
movsx eax, dl
sub eax, 0x47
jmp 0x420b55
lea ebx, [edx - 0x30]
cmp bl, 9
ja 0x420b3f
movsx eax, dl
add eax, 4
jmp 0x420b55
cmp dl, 0x2b
jne 0x420b4b
mov eax, 0x3e
jmp 0x420b55
cmp dl, 0x2f
jne 0x420b55
mov eax, 0x3f
sar eax, 2
shl cl, 4
or al, cl
mov byte [edi], al
inc edi
mov dword [ebp - 4], edi
mov eax, esi
shr eax, 0x10
cmp al, 0x3d
je 0x420c19
mov edx, esi
shr edx, 0x18
cmp edx, 0x3d
je 0x420c19
lea ebx, [eax - 0x41]
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x420b91
movsx ecx, al
sub ecx, 0x41
jmp 0x420bc5
lea ebx, [eax - 0x61]
cmp bl, 0x19
ja 0x420ba1
movsx ecx, al
sub ecx, 0x47
jmp 0x420bc5
lea ebx, [eax - 0x30]
cmp bl, 9
ja 0x420bb1
movsx ecx, al
add ecx, 4
jmp 0x420bc5
cmp al, 0x2b
jne 0x420bbc
mov ecx, 0x3e
jmp 0x420bc5
cmp al, 0x2f
jne 0x420bc5
mov ecx, 0x3f
lea ebx, [edx - 0x41]
or eax, 0xffffffff
cmp bl, 0x19
ja 0x420bd8
movsx eax, dl
sub eax, 0x41
jmp 0x420c0e
lea ebx, [edx - 0x61]
cmp bl, 0x19
ja 0x420be8
movsx eax, dl
sub eax, 0x47
jmp 0x420c0e
lea ebx, [edx - 0x30]
cmp bl, 9
ja 0x420bf8
movsx eax, dl
add eax, 4
jmp 0x420c0e
cmp dl, 0x2b
jne 0x420c04
mov eax, 0x3e
jmp 0x420c0e
cmp dl, 0x2f
jne 0x420c0e
mov eax, 0x3f
shl cl, 6
or cl, al
mov byte [edi], cl
inc edi
mov dword [ebp - 4], edi
mov eax, dword [ebp - 4]
pop ebx
pop edi
mov byte [eax], 0
mov eax, dword [ebp - 8]
pop esi
mov esp, ebp
pop ebp
ret