Function at 0x521225
Capabilities:
Encode data using base64

Disassembly:
jmp 0x521241
lea esp, [esp + 4]
jmp 0x5213e5
jmp 0x521279
jmp 0x521295
push ebp
jmp 0x5212b1
jmp 0x5212cd
mov ebp, esp
jmp 0x5212e9
jmp 0x521305
push ecx
jmp 0x521321
jmp 0x52133d
push ecx
jmp 0x521359
jmp 0x521375
push ebx
jmp 0x521391
jmp 0x5213ad
push edi
jmp 0x5213c9
jmp 0x5531bf
jmp 0x52125d
mov edi, eax
mov al, byte [ecx]
jmp 0x553406
cmp al, 0x61
jb 0x5536cc
cmp al, 0x7a
jbe 0x553429
jmp 0x5536cc
cmp al, 0x41
jb 0x5533db
cmp al, 0x5a
jmp 0x553f56
mov bl, byte [ecx + 1]
jmp 0x5534ae
cmp bl, 0x61
jb 0x5534fa
cmp bl, 0x7a
jbe 0x553520
jmp 0x5534fa
mov byte [ebp - 1], bl
cmp bl, 0x41
jb 0x553487
cmp bl, 0x5a
jbe 0x553520
jmp 0x553487
mov eax, 0x403
jmp 0x5536ab
cmp bl, 0x30
jb 0x553557
cmp bl, 0x39
jbe 0x553520
jmp 0x553557
mov dl, byte [ecx + 2]
cmp dl, 0x41
jmp 0x5535d2
cmp al, 0x2b
je 0x553429
cmp al, 0x2f
jne 0x5534d6
jmp 0x553429
cmp bl, 0x2b
je 0x553520
cmp bl, 0x2f
jne 0x5534d6
jmp 0x553520
cmp dl, 0x30
jb 0x5535eb
cmp dl, 0x39
jbe 0x5535a0
jmp 0x5535eb
je 0x5535a0
cmp dl, 0x2f
jmp 0x55361d
mov cl, byte [ecx + 3]
cmp cl, 0x41
jb 0x553652
cmp cl, 0x5a
jbe 0x553631
jmp 0x553652
jb 0x553608
cmp dl, 0x5a
jbe 0x5535a0
jmp 0x553608
cmp dl, 0x2b
jmp 0x553582
cmp dl, 0x61
jb 0x553572
cmp dl, 0x7a
jbe 0x5535a0
jmp 0x553572
je 0x5535a0
cmp dl, 0x3d
jne 0x5534d6
jmp 0x5535a0
cmp dl, 0x3d
jne 0x553aa4
je 0x55394b
xchg ecx, eax
pop ss
xchg edx, esp
adc esi, edi
rcl byte [edi - 0x39]
mov byte [0xdfdbbd51], al
xor dword [ecx], edx
sbb ebp, dword [ebx - 0x80]
stc
popal
cmp cl, 0x61
jb 0x553680
cmp cl, 0x7a
jbe 0x553631
jmp 0x553680
cmp cl, 0x2b
jmp 0x553691
cmp cl, 0x30
jb 0x553662
cmp cl, 0x39
jbe 0x553631
jmp 0x553662
je 0x553631
cmp cl, 0x2f
je 0x553631
cmp cl, 0x3d
je 0x553631
jmp 0x5534d6
mov byte [ebx - 0x65], bh
rcr byte [eax], 0xfc
pop edi
pop ebx
leave
ret
cmp al, 0x30
jb 0x55353f
cmp al, 0x39
jbe 0x553429
jmp 0x55353f
cmp al, 0x2f
jne 0x5537a0
je 0x553781
loop 0x553770
cld
wait
jbe 0x5536a5
sbb dl, byte [ebp + 0x699f6c05]
outsd dx, dword [esi]
add edx, dword [ebx - 0x3d14fa0a]
loop 0x55378e
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
les ebx, [eax - 0x17]
test al, 0
add byte [eax], al
pushal
not byte [ecx + 0x7fe99560]
out dx, eax
mov bh, byte [ecx + 0x20]
pop es
dec esp
sub esp, esi
add byte [esi], al
cmp ebp, edi
retf 0x84
pop eax
jmp 0x5537e0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
idiv byte [esi + 0x7c]
push 0x3f
jmp 0x553732
mov dl, 0x41
lodsd eax, dword [esi]
in al, 0x71
loope 0x553715
jae 0x553732
rcr dword [ebx - 0x35], 0xae
pop ebp
mov bl, 0xc1
pushal
fld qword [eax + 0x5aeb39f8]
sbb cl, byte [ebp + 0x3297641d]
imul esi, edi, 0x67
add dh, cl
push cs
xchg esp, eax
or eax, 0xa317e49d
sar edi, 1
jne 0x553801
cmp al, 0x39
jmp 0x5537ff
test eax, 0x5af880a9
cmp al, 0x5a
movzx eax, al
ja 0x5538f4
jbe 0x553858
pop es
popfd
or eax, 0x830ca754
sbb cl, byte [eax + 0x10a51aef]
pushfd
or al, 0xb4
inc esp
push esi
cmp bl, 0x2b
jmp 0x55385e
ja 0x5537bd
movzx eax, al
add eax, 4
jmp 0x5537e0
cmp al, 0x2b
jne 0x5536f1
push 0x3e
jmp 0x553732
sub eax, 0x41
jmp 0x5537e0
jne 0x55387c
push 0x3e
jmp 0x5538aa
cmp bl, 0x2f
jne 0x55392d
push 0x3f
jmp 0x5538aa
mov edi, dword [edi]
cmp edi, 2
jb 0x553a72
jae 0x553a30
push ecx
salc
inc esp
and ebx, esi
fstp qword ds:[edi - 0x31]
stosb byte es:[edi], al
pop ecx
mov dword [esi + 0x5ec5ddb0], eax
pop esi
jmp 0x553889
sub eax, 0x47
jmp 0x5537e0
movzx esi, bl
jmp 0x5539d1
mov dword [edi], 1
jmp 0x553837
cmp bl, 0x5a
ja 0x55398f
sub esi, 0x41
jmp 0x553889
sub esi, 0x47
jmp 0x553889
cmp bl, 0x39
ja 0x55396a
add esi, 4
jmp 0x553889
cmp dl, 0x2b
jmp 0x553d87
cmp dl, 0x2f
jne 0x553ae7
push 0x3f
jmp 0x553b81
mov edx, dword [ebp - 8]
jmp 0x553ab8
mov ecx, dword [ebp - 8]
jmp 0x553c8b
cmp edi, 3
jmp 0x553e8b
xor ebx, ebx
cmp cl, 0x3d
setne bl
inc ebx
inc ebx
mov dword [edi], ebx
mov bl, byte [ebp - 1]
jmp 0x553837
cmp edi, 3
jne 0x553a7d
cmp cl, 0x2b
jne 0x553b89
push 0x3e
jmp 0x553beb
cmp dl, 0x39
ja 0x553b0c
movzx edx, dl
add edx, 4
jmp 0x553ab8
cmp dl, 0x5a
movzx edx, dl
ja 0x553be3
sub edx, 0x41
jmp 0x553ab8
pop edx
jmp 0x553ab8
cmp cl, 0x2f
jne 0x553c55
je 0x553c37
mov dl, 0x43
sal dword [esi + 0x1894a145], cl
mov gs, ecx
sbb cl, dh
mov al, byte [0xf90ffc95]
aas
into
pop esi
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov ecx, 0x2bd8b929
rcl edi, 0x44
fidivr dword [ebp + 0x21b3b94c]
mov cl, 0xd0
and eax, dword [esi - 0x7a1d9303]
je 0x553b98
sbb eax, 0x47ea833e
sub edx, 0x47
jmp 0x553ab8
pop ecx
jmp 0x553c8b
push 0x3f
jmp 0x553beb
cmp cl, 0x39
ja 0x553ce2
movzx ecx, cl
add ecx, 4
jmp 0x553c8b
shl eax, 6
or eax, esi
shl eax, 0xc
pop esi
cmp edi, 2
jb 0x553a86
shl edx, 6
jmp 0x553dd8
cmp cl, 0x5a
movzx ecx, cl
ja 0x553d4e
sub ecx, 0x41
jmp 0x553c8b
sub ecx, 0x47
jmp 0x553c8b
jne 0x553a4d
push 0x3e
jmp 0x553b81
mov ecx, dword [ebp + 8]
mov edx, eax
shr edx, 0x10
mov byte [ecx], dl
cmp edi, 2
jb 0x553e06
mov edx, eax
shr edx, 8
jmp 0x553de3
or eax, edx
jmp 0x553a86
mov byte [ecx + 1], dl
jmp 0x553e06
xor eax, eax
jmp 0x5536ab
cmp edi, 3
jne 0x553de9
mov byte [ecx + 2], al
jmp 0x553de9
jne 0x553da9
or eax, ecx
jmp 0x553da9
jbe 0x553429
jmp 0x5533db