Function at 0x489842
Capabilities:
Encode data using base64

Disassembly:
sbb cl, cl
xor dl, cl
shr ecx, 0x74
adc ecx, ecx
xor cl, ch
or al, dl
jmp 0x45a4a7
xor edx, 0x76337b1f
bswap edx
and eax, eax
sub cl, ch
jne 0x4c652e
push ecx
or ecx, ecx
sbb esi, 4
pop ecx
inc byte [esp + 2]
mov dword [esi], eax
mov eax, dword [esp + 8]
sal ecx, 0xeb
pop ecx
pop edx
pop ecx
jae fcn.0045365a
jmp 0x4b0972
jmp 0x41a9bc
lea edx, [ecx + ecx - 0x2e5c5f7]
shl edx, 0x31
mov word [esi + ecx*4 - 0x309c], ax
lea eax, [ecx + ecx*8 - 0x5e0167d]
btc edx, 0x23
mov ecx, dword [ebp + ecx*2 - 0x184e]
and dl, al
adc ebp, 4
imul dx, dx
or dl, dh
not edx
xor ecx, ebx
rol edx, 0xc4
lea ecx, [ecx + eax - 0x196350d7]
lea eax, [eax + eax - 0x4c69c552]
add edx, 0xa00c4138
xor ecx, 0x4cbd7219
imul ax
lea ecx, [ecx + edx*2 - 0x31b1723b]
rol ecx, 2
sar dl, 0xc6
sub dl, dl
xor edx, 0x6426150e
inc ecx
btr eax, edx
inc edx
xadd dl, al
neg ecx
inc ecx
rol ecx, 1
and ax, 0x298d
jno 0x4d1db3
lea esi, [esi + ecx - 0x5fbbb4b7]
neg ax
neg ax
xor edx, ebx
shl cx, 0x2d
neg eax
lea edx, [edx + eax - 0x44bb28f1]
sbb cl, al
sbb cl, ch
btc ecx, 0x97
ror edx, 2
sub edx, 0xf53d2d2e
not edx
bts ecx, ecx
add eax, 0xaf0d6b8f
dec eax
xor ebx, edx
add ebp, edx
add cl, al
cdq
movzx dx, byte [edi + ecx - 0x5f3f602c]
jbe 0x4b9501
mov edx, 0xc50bea04
mov eax, edx
mov ax, word [ebp]
mov dx, word [ebp + 2]
mov cl, byte [ebp + 4]
call fcn.0041a3a2
add edi, 2
shr al, cl
shl edx, 0x8b
add edx, edx
je 0x4722d1
mov word [edi], ax
setb byte [esp + 3]
pop ecx
jmp ebp
mov ecx, dword [edi]
movzx eax, dl
mov eax, dword [edi + eax*8 - 0x19c]
call fcn.0046a633
neg edx
neg ax
sar eax, 0x67
push ecx
inc edx
btr ecx, eax
not edx
and ax, 0xd9b
or dword [esp + eax*8 - 0x280cc8], eax
idiv al
ror edx, 2
lea edx, [edx + eax*8 + 0x6c124730]
sub dword [esp + ecx - 0x59dc233f], 0x37929e95
not edx
sal eax, cl
xchg dword [esp + ecx - 0x59dc233f], eax
call fcn.004dd313
shl cx, 0x88
mov edx, dword [esi + ecx*8 - 0x7969d800]
movzx eax, cx
xor edx, ebx
xchg cx, ax
xor edx, 0xe38af403
dec al
dec edx
lea eax, [eax + ecx*4 - 0x1f59ec45]
jmp 0x44b4b8
not cl
neg byte [esp + edx - 0x99]
mov dword [esp + edx*2 - 0x13a], edx
xor cl, 0xb4
sal dword [esp + eax - 0x2ffffffc], 0x19
xor ax, word [esp + edx - 0x9a]
or dword [esp + eax - 0x2ffffffc], 0xfca93384
adc cl, 2
btc edx, eax
ror dx, 0xa7
xor bl, cl
dec edx
dec edx
setno al
lea ecx, [esp + ecx + 8]
sar edx, 0xe
div dword [esp + eax*2 - 0x60000002]
mov ax, word [ecx + eax*2 - 0x9c88f6]
inc byte [esp + edx - 0x92]
lea ecx, [edx + edx*4 - 0x4de95f54]
lea esi, [edx + esi - 0x94]
sar edx, 0x98
mov word [esi + edx], ax
call fcn.00447e94
mov ecx, 0x80a09a36
mov eax, dword [ebp]
movzx edx, cl
lea ebp, [ebp + edx - 0x32]
bswap ecx
rol dx, 0x85
bt edx, edx
xor eax, ebx
not edx
rol ecx, 0x5a
jb 0x4703c2
ror eax, 3
shr cx, 0xaf
sbb eax, 0x9c859e36
xchg ch, dl
and cx, 0xf02c
neg eax
dec eax
dec edx
xor eax, 0xe22b409b
btr ecx, ecx
setb cl
xor ebx, eax
sal edx, 0x46
add edi, eax
shr cl, 0x43
mov eax, 0x32949aab
mul ecx
mov eax, esi
xor edx, edx
jno 0x4c3f60
pop edi
push ebp
push ebx
mov edx, dword [esp + edx*4 - 0x567c]
lea ebp, [ebx*4 + 0x4b815aa2]
pop ebp
mov ebp, dword [esp + ebx - 0x1599]
mov eax, dword [esp + ebx*4 - 0x5678]
call fcn.004dc655
mov ecx, edi
call fcn.00494cc8
call fcn.004928ee
mov ecx, 0x58fce3d
mov eax, 0xad212f0d
mov eax, dword [esi + ecx*2 - 0xb1f9c7a]
call fcn.004174f2
shr eax, cl
xchg ah, cl
mov cl, byte [edi + eax*8 - 0x5964de]
sar eax, 0xc
shl ax, 0x68
lea edi, [edi + eax - 0xb1fe]
bts eax, eax
sal eax, 0x93
sal dl, cl
lea ecx, [eax*4 - 0x605fc4dd]
lea eax, [ecx + eax*8 - 0x2d6039d6]
mov word [edi + eax - 0x32a0014d], dx
rol ecx, 0x1e
imul eax, eax
jmp ebp
lea esi, [esi + ecx - 0xda3004]
mov dword [esi + ecx*2 - 0x1b46000], eax
neg dx
jns fcn.0045365a
xor ecx, 0x6e9d54b8
mul edx
inc ecx
bswap edx
bts dx, ax
bswap ecx
bt ax, dx
xor ebx, ecx
add ebp, ecx
movzx ecx, ax
dec cx
mov eax, dword [edi + edx - 0x99a0210]
jl 0x41668f
mov ecx, dword ss:[eax + edx*2 - 0x13340420]
mov dword [edi + edx - 0x99a0210], ecx
movzx ecx, dl
xor dl, 0x9d
or edx, edx
jmp ebp
dec edx
and ecx, ecx
xor ebx, edx
btr ecx, eax
add ecx, ecx
adc edi, edx
movsx edx, al
mov ecx, dword [ebp + ecx*4 - 0x5969de28]
sub al, 0xa8
mov ax, word [eax + ebp - 0x1d5b3b0e]
call fcn.00451c67
mov ecx, 0x510a8607
btc cx, cx
ror cx, 0x82
lea esi, [esi + ecx - 0x510ae1a5]
movzx edx, cx
mov ecx, dword [esi + edx - 0xe1a1]
mov eax, edx
xor ecx, ebx
lea edx, [eax*2 + 0x1a79b38]
cwd
shl edx, 0xf5
not ecx
xor eax, edx
sbb dx, dx
sub eax, eax
xor ecx, 0x712c7ba
call fcn.00422938
lea ebp, [ecx + ebx + 0x381c32bc]
pop ecx
jmp 0x4a160f
xor ebx, ecx
mul edx
imul eax, eax
add edi, ecx
and edx, eax
add al, 0x37
jmp edi