Function at 0x463c50
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x4d2774]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x38], eax
xor esi, esi
mov eax, dword [ebp + 0x10]
xor edi, edi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], esi
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], edi
mov byte [ebp - 0x1c], 0
test eax, eax
je 0x463fab
push ebx
nop
mov bl, byte [ecx]
dec eax
mov dword [ebp + 0x10], eax
cmp bl, 0x3d
je 0x463e18
movzx eax, bl
push eax
call fcn.0048fafb
add esp, 4
test eax, eax
jne 0x463cc7
cmp bl, 0x2d
je 0x463cc7
cmp bl, 0x5f
je 0x463cc7
cmp bl, 0x2b
je 0x463cc7
cmp bl, 0x2f
jne 0x463e98
mov ecx, dword [ebp - 0x30]
mov al, byte [ecx]
inc ecx
mov byte [ebp + esi - 0x24], al
inc esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], ecx
cmp esi, 4
jne 0x463e0a
xor esi, esi
mov al, byte [ebp + esi - 0x24]
mov byte [ebp - 0x2c], al
cmp al, 0x2d
je 0x463d3f
cmp al, 0x2b
je 0x463d3f
cmp al, 0x5f
je 0x463d38
cmp al, 0x2f
je 0x463d38
lea ecx, [eax - 0x30]
cmp cl, 9
ja 0x463d19
push 0xa
push 0x4d26cc
push dword [ebp - 0x2c]
call fcn.00464d20
add esp, 0xc
add eax, 0x34
jmp 0x463d44
sub al, 0x41
cmp al, 0x39
ja 0x463d33
push 0x34
push 0x4d2698
push dword [ebp - 0x2c]
call fcn.00464d20
add esp, 0xc
jmp 0x463d44
or eax, 0xffffffff
jmp 0x463d44
mov eax, 0x3f
jmp 0x463d44
mov eax, 0x3e
mov byte [ebp + esi - 0x24], al
inc esi
cmp esi, 4
jb 0x463ce3
mov eax, dword [ebp - 0x24]
mov dl, ah
mov edi, dword [ebp - 0xc]
mov cl, al
shr dl, 4
mov al, ah
shl cl, 2
and dl, 3
add dl, cl
shl al, 4
mov byte [ebp - 0x28], dl
mov dl, byte [ebp - 0x22]
mov cl, dl
shl dl, 6
add dl, byte [ebp - 0x21]
shr cl, 2
and cl, 0xf
mov byte [ebp - 0x26], dl
add cl, al
xor ebx, ebx
mov byte [ebp - 0x27], cl
mov cl, byte [ebp + ebx - 0x28]
or eax, 0xffffffff
sub eax, edi
mov byte [ebp - 0x1d], cl
cmp eax, 1
jbe 0x46401a
lea esi, [edi + 1]
cmp esi, 0xfffffffe
ja 0x46401a
cmp dword [ebp - 8], esi
jae 0x463df3
push edi
push esi
lea ecx, [ebp - 0x1c]
call fcn.004074c0
mov edi, dword [ebp - 0xc]
mov cl, byte [ebp - 0x1d]
test esi, esi
je 0x463de3
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [eax + edi], cl
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 0x10
mov dword [ebp - 0xc], esi
cmovae eax, dword [ebp - 0x1c]
mov byte [eax + esi], 0
mov edi, dword [ebp - 0xc]
inc ebx
cmp ebx, 3
jb 0x463d86
mov ecx, dword [ebp - 0x30]
xor esi, esi
mov dword [ebp - 0x34], esi
jmp 0x463e0d
test esi, esi
jne 0x463dc0
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
mov dword [ebp - 0xc], esi
cmovae eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x463de0
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x463c90
test esi, esi
je 0x463faa
mov eax, esi
cmp esi, 4
jae 0x463e3b
cmp eax, 4
jae 0x464024
mov byte [ebp + eax - 0x24], 0
inc eax
cmp eax, 4
jb 0x463e30
xor eax, eax
mov dword [ebp - 0x2c], eax
mov bl, byte [ebp + eax - 0x24]
lea eax, [ebp + eax - 0x24]
mov dword [ebp - 0x30], eax
cmp bl, 0x2d
je 0x463eeb
cmp bl, 0x2b
je 0x463eeb
cmp bl, 0x5f
je 0x463ee4
cmp bl, 0x2f
je 0x463ee4
lea eax, [ebx - 0x30]
cmp al, 9
ja 0x463eaf
xor edx, edx
mov esi, 9
nop dword [eax]
lea eax, [esi + edx]
mov cl, bl
shr eax, 1
sub cl, byte [eax + 0x4d26cc]
je 0x463eaa
test cl, cl
jns 0x463ea0
lea esi, [eax - 1]
jmp 0x463ea3
mov edi, dword [ebp - 0xc]
jmp 0x463e18
lea edx, [eax + 1]
cmp esi, edx
jae 0x463e80
or eax, 0xffffffff
add eax, 0x34
jmp 0x463ef0
lea eax, [ebx - 0x41]
cmp al, 0x39
ja 0x463edf
xor edx, edx
mov esi, 0x33
nop dword [eax]
lea eax, [esi + edx]
mov cl, bl
shr eax, 1
sub cl, byte [eax + 0x4d2698]
je 0x463ef0
test cl, cl
jns 0x463ed8
lea esi, [eax - 1]
jmp 0x463edb
lea edx, [eax + 1]
cmp esi, edx
jae 0x463ec0
or eax, 0xffffffff
jmp 0x463ef0
mov eax, 0x3f
jmp 0x463ef0
mov eax, 0x3e
mov ecx, dword [ebp - 0x30]
mov byte [ecx], al
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 4
jb 0x463e40
mov eax, dword [ebp - 0x24]
xor ebx, ebx
mov dl, ah
mov cl, al
shr dl, 4
mov al, ah
and dl, 3
shl cl, 2
add dl, cl
shl al, 4
mov byte [ebp - 0x28], dl
mov dl, byte [ebp - 0x22]
mov cl, dl
shl dl, 6
add dl, byte [ebp - 0x21]
shr cl, 2
and cl, 0xf
mov byte [ebp - 0x26], dl
mov edx, dword [ebp - 0x34]
add cl, al
add edx, 0xffffffff
mov byte [ebp - 0x27], cl
mov dword [ebp - 0x2c], edx
je 0x463faa
mov cl, byte [ebp + ebx - 0x28]
or eax, 0xffffffff
sub eax, edi
mov byte [ebp - 0x1d], cl
cmp eax, 1
jbe 0x46401a
lea esi, [edi + 1]
cmp esi, 0xfffffffe
ja 0x46401a
cmp dword [ebp - 8], esi
jae 0x463fd3
push edi
push esi
lea ecx, [ebp - 0x1c]
call fcn.004074c0
mov edi, dword [ebp - 0xc]
mov cl, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x2c]
test esi, esi
je 0x463fa5
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [edi + eax], cl
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 0x10
mov dword [ebp - 0xc], esi
cmovae eax, dword [ebp - 0x1c]
mov byte [esi + eax], 0
mov edi, dword [ebp - 0xc]
inc ebx
cmp ebx, edx
jb 0x463f45
pop ebx
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.0044da10
mov eax, dword [ebp - 8]
cmp eax, 0x10
jb 0x464008
mov ecx, dword [ebp - 0x1c]
inc eax
cmp eax, 0x1000
jb 0x463fff
test cl, 0x1f
je 0x463fea
jmp 0x464029
test esi, esi
jne 0x463f82
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
mov dword [ebp - 0xc], esi
cmovae eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x463fa2
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x46402e
sub ecx, eax
cmp ecx, 4
jb 0x464033
cmp ecx, 0x23
ja 0x464038
mov ecx, eax
push ecx
call fcn.0047851e
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.004789cb
mov esp, ebp
pop ebp
ret
push 0x4aa688
call fcn.00476f7e
call fcn.004788ef
call fcn.00483ee1
call fcn.00483ee1
call fcn.00483ee1
call fcn.00483ee1
int3