Function at 0x649ddc
Capabilities:
Encode data using base64

Disassembly:
mov edx, dword [ecx + edi - 0x1d042624]
xor edx, ebx
sub ecx, ecx
lea eax, [ecx - 0x1ddd1455]
or ax, 0xb12e
lea edx, [edx + ecx + 0x220d24b6]
ror edx, 3
btr eax, ecx
add cx, 0x3538
cwde
dec edx
sar cl, 0xc5
not eax
adc cl, 0x11
ror edx, 2
xor ebx, edx
push eax
add ebp, edx
bt cx, 0x9d
shl ecx, 0x29
mov dword [esp + ecx - 0x6a2600], ebp
ret
inc ecx
adc cl, 0x9c
dec eax
sub dword [esp + ebp - 0x3db78ba9], ebp
inc ecx
ror cl, 1
dec eax
sub eax, esi
jb 0x5c18f6
mov ecx, 0x661ac502
mov ax, word [ecx + esi - 0x661ac502]
mov edx, ecx
neg cx
mov dx, word [esi + edx - 0x661ac500]
lea esi, [esi + ecx - 0x661a3afc]
add ax, dx
xor ecx, ecx
not ecx
ja 0x622f2c
mov word [esi], ax
movsx edx, cl
imul ecx, ecx
lea edi, [edi + ecx*8 - 0xc]
mov eax, dword [edi + ecx - 1]
xor eax, ebx
xchg cl, dl
not eax
rol eax, 2
call fcn.005aaac5
jge 0x59d81c
dec esi
mov dword [esp + esi], esp
ret
inc ecx
pop edx
inc esp
sbb cl, bl
inc ecx
not cl
inc ebp
xor bh, cl
or ecx, edi
dec eax
cwde
dec esp
adc ecx, esp
inc ebp
mov edx, dword [ecx + eax*4 + 0x2a4]
inc esi
mov dword [eax + ebp + 0xad], edx
dec esi
lea ebp, [ebp + ebp - 0x3db78ba5]
dec eax
btc ecx, ebp
cmovae di, bx
inc esp
movsx edx, bx
dec ebp
add eax, esp
inc ecx
jmp eax
bts edx, ecx
mov eax, dword [edi + ecx - 0x157e98e1]
xor dx, 0xda0d
xor eax, ebx
push ecx
push ecx
add ecx, ecx
inc eax
not byte [esp + ecx - 0x2afd31be]
ror ecx, 0x68
neg edx
ror eax, 3
call fcn.005880ee
sub edi, 4
mov ecx, 0xae06cea5
push ecx
mov ecx, dword [edi]
mov eax, dword [esp]
sal byte [esp + 1], 0xe3
xor ecx, ebx
sar dword [esp], 0xe9
ror dword [esp], 0xce
movzx edx, word [esp]
rol ecx, 3
lea ecx, [eax + ecx - 0x45649e03]
xchg dword [esp + edx - 0xff5c], edx
bswap ecx
inc eax
bts edx, edx
ror ecx, 1
neg ecx
rol edx, 0x21
sar dword [esp + edx*2 - 0x738ffd70], 0x4d
bts ax, ax
sbb ecx, 0xdb073d24
shl eax, 0xe8
inc dl
xchg dword [esp + eax*2 - 0xd9dcc00], eax
ror ecx, 3
not word [esp + eax*2 - 0xe]
dec ecx
or eax, 0xbf324d2a
shl dword [esp + edx - 0x39c7feb9], 0xdb
ror byte [esp + edx*2 - 0x738ffd6f], 0xc3
xor ebx, ecx
not al
neg dl
pop edx
add ebp, ecx
btr edx, 0x16
adc edx, eax
add edx, eax
movzx cx, byte [esi]
ror eax, 0xa1
seto dl
cdq
add dl, byte [esi + eax - 0x5f9926e6]
dec al
lea esi, [esi + eax - 0x5f9926e5]
lea eax, [eax*2 + 0x20a4108c]
cwde
add cl, dl
mov word [esi + eax*2 - 0xbcb4], cx
btc eax, eax
rol eax, 0x1f
jmp ebp
dec eax
lea eax, [eax*4 - 0x3cfb257]
dec edi
lea ebp, [eax + ebp - 0x741bb3a5]
dec ebp
lea ecx, [edx + ebx - 0x59652473]
dec esp
xchg dword [esp + ebx - 0xffef], ecx
dec eax
add esi, edx
dec eax
btr eax, 0x18
dec ebx
mov dword [eax + ebp - 0x741bb3ad], esi
dec eax
sar eax, 0x68
neg byte [esp + eax + 4]
dec esp
mov dword [esp + ebx - 0xffff], esp
ret 0x10
inc ebp
movzx eax, si
inc ecx
pop edi
inc ecx
sar eax, 0x6c
inc ecx
movzx edi, al
inc ebp
adc al, dh
dec eax
arpl ax, ax
mov ecx, edi
call fcn.005810f3
inc dx
inc dword [esp + eax - 0x741bb3a8]
inc esp
xor ecx, edx
dec edx
div dword [esp + eax - 0x741bb3ad]
inc ecx
dec ecx
dec esp
lea esi, [eax + edi*4 + 0x61a4b93]
pop esi
inc ecx
neg dh
inc ecx
ror ecx, 3
inc eax
neg dh
inc ecx
not ecx
dec eax
bts eax, ebp
inc sp
imul edx, edi
inc ecx
bswap ecx
dec eax
xadd edx, esi
inc ecx
sub ebp, esi
inc ecx
push edi
inc ecx
or bl, al
inc ecx
push edx
dec eax
adc ebp, edx
inc esi
xor dword [esp + eax - 0x741bb3a5], ecx
cdq
dec esi
mov edi, dword [esp + eax - 0x741bb3a5]
dec ebp
arpl cx, cx
mov ecx, edx
dec ebp
add esp, ecx
dec edx
mov dword [esp + eax - 0x741bb3a5], ebp
dec ebx
mov esi, dword [eax + ebp - 0x741bb3ad]
dec eax
div eax
inc esp
sub byte [esp + ebx*4 - 0x3fff4], dh
push ecx
dec ebx
mov edx, dword [ebp + eax - 0x741bb3a5]
jb 0x611e06
mov ecx, 0xea81671f
neg ecx
movzx edx, cl
lea edi, [edi + ecx*4 - 0x55fa6388]
jge 0x5e01bb
movzx ecx, al
inc dword [esp + ecx]
movzx edx, cl
lea edi, [edi + ecx*2 - 4]
sal word [esp + ecx + 2], 0xe2
xchg dword [esp + ecx], ecx
mov eax, dword [edi + ecx*4 - 0x232a0]
xor eax, ebx
shr cl, 0xa5
not eax
xadd word [esp + ecx*2 - 0x11809], cx
xadd word [esp + ecx*4 + 1], cx
ror eax, 2
or dl, dh
shr byte [esp + edx*2 + 2], cl
sub cl, ch
adc eax, 0xfca992a1
inc ecx
mov dword [esp + ecx*8 - 0x463d0], ecx
sub dx, cx
bswap eax
inc dword [esp + ecx - 0x8c7a]
inc eax
jmp 0x6591ca
push 0x5b347c2d
mov eax, 0x5aa54319
xor dl, bl
lea ecx, [eax*2 - 0x677ffd5d]
dec dl
sal ecx, 0x1d
ror dl, 1
sar al, 0x41
call fcn.006313a5
inc cx
xadd esi, ecx
inc cx
neg ecx
inc ecx
pop edi
inc eax
setnp bh
dec ebp
arpl dx, dx
mul bl
sar ax, cl
cbw
dec ebp
adc esp, edx
dec eax
btc edi, 9
dec ecx
shl esi, cl
push ecx
inc esi
movzx ecx, byte [ebp + ebx - 0x3db78bae]
inc esp
movsx eax, al
dec ebp
lea ebx, [ebx + ebp*2 - 0x7b6f1757]
or al, bl
bt esi, ecx
inc ebp
xor cl, bh
inc ecx
add esi, 0x9b914e92
jp 0x620474
jb 0x5bbc4f
dec esp
add esp, eax
inc esp
movzx edx, bp
mov ecx, ebp
xor ecx, ebp
dec edi
mov eax, dword [ebx + edx*4 - 0x22704]
dec ebp
lea ecx, [esi + ecx*4 + 0x4426120c]
dec ebp
xor eax, edi
inc ecx
movzx edi, cx
dec esi
mov dword [esp + edx*2 - 0x1137c], ecx
dec ecx
dec eax
inc edx
imul edx, dword [esp + edx - 0x89bd]
inc eax
sal ch, 0x63
dec ecx
ror eax, 5
pop ecx
dec ebp
lea eax, [eax + edx - 0x36ba3c73]
dec ecx
xor esi, 0x39b4a18
inc cx
btr esi, 0xa3
dec ecx
bswap eax
dec ebp
xor edi, eax
dec eax
xadd edx, edi
call fcn.005891c3
ror cx, 0xc9
xor ebx, eax
add ebp, eax
sub edx, dword [esp + ecx*8 - 0x1ea30]
inc dl
mov dword [esp + ecx - 0x3d46], ebp
ret