Function at 0x7db854
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push 0x23899a8f
xor ecx, ecx
shr word [esp + 1], 0xc3
jae 0xd09227
inc byte [esp + 1]
mov ax, word [edi + 2]
mov ecx, dword [esp]
jne 0xd5e3d5
mov dword [esp], 0x883d2ef
call fcn.00d5f1c4
mov eax, 0x6c946627
movzx cx, byte [edi + eax - 0x6c946627]
mov edx, 0xefbd2c98
not dl
btc edx, edx
mov al, byte [eax + edi - 0x6c946625]
btc dx, 0x83
and dl, dl
imul edx, edx
not cl
sbb dx, dx
xor al, dl
imul edx, edx
and cl, al
mov word [edi + 2], cx
movsx ecx, dl
movzx edx, byte [esi + ecx*2 - 2]
not ecx
xor dl, bl
movzx eax, cl
inc cx
shl al, 0x23
neg dl
xor dl, cl
and eax, ecx
jae 0xab66c8
sub edi, 4
mov eax, 0x88bb049d
movsx edx, ax
shl eax, 0xca
mov edx, dword [edx + edi - 0x49d]
sub eax, eax
rol al, 0xa4
or eax, 0x86b0ae1b
xor edx, ebx
inc eax
btc ax, ax
neg edx
xchg ah, al
add al, al
inc edx
push eax
rol al, 1
adc byte [esp + 3], 0x1a
bswap edx
mov byte [esp], al
sar dword [esp], 0x5e
dec ax
dec edx
jmp 0xcc8bde
sal edx, 0x23
sal eax, 0x4e
adc dl, 0x36
add cl, al
lea eax, [ecx*2 - 0x3b48387d]
seto al
ror dl, 1
shl eax, cl
adc dl, cl
shr cx, 9
jb 0xcb4daa
inc ecx
movzx ecx, dh
mov ecx, dword [ebp + ecx*2 - 0x6e]
inc ecx
xor ecx, eax
inc ebp
movzx ecx, dh
inc ecx
movsx edi, cx
inc edx
lea ecx, [ecx + esi + 0x35ec3c4a]
neg ecx
mov eax, edi
inc cx
xchg esi, edi
inc ecx
movzx edx, cl
ror ecx, 1
sar dx, 0x4d
bswap ecx
inc esp
mov ebp, eax
div ax
movsx ebx, di
inc ecx
push eax
inc edx
xor dword [esp + ecx - 0x37], ecx
inc ecx
push ebp
cbw
dec esp
mov eax, dword [esp + eax*2 + 6]
inc edx
and al, byte [esp + ecx - 0x35]
dec eax
arpl cx, cx
inc cx
sbb eax, esi
dec esp
add esp, ecx
dec eax
cwde
dec ecx
mul esi
jb 0xb7cd66
dec ebx
add edx, dword [edi + ecx*8 - 0x1b8]
inc ebp
movsx ebx, cl
dec edi
lea edi, [edi + ecx - 0x2f]
inc dx
xchg dword [esp + ecx*2 - 0x69], eax
inc ecx
sar ch, 0xe1
dec edx
lea ebp, [ebp + ecx*2 - 0x70]
inc ecx
div ch
inc dx
mov edi, dword [ebp + ecx - 0x37]
dec eax
cwde
inc edx
inc dword [esp + ecx*2 - 0x6d]
inc cx
xor edi, eax
inc ecx
pop ebx
sub di, 0x7486
dec edx
mov dword [esp + ecx - 0x37], 0xc68c04af
inc ebp
xadd ebp, ecx
xor di, 0xbe2c
jmp 0xbc831c
inc esi
mov esi, dword [ebp + ebp*2 - 0xa1c]
inc ebp
xor esi, eax
inc cx
neg ecx
dec ebp
lea edx, [ecx + ebx + 0x762cb927]
inc ecx
inc esi
inc ecx
neg esi
dec esp
and ecx, edi
dec eax
lea eax, [esi*2 - 0xe7fc680]
not ecx
inc ecx
inc esi
dec esp
or ecx, edi
inc ecx
ror esi, 3
cdq
inc ecx
push eax
dec di
inc esi
xor dword [esp + ebp*2 - 0xa1c], esi
inc ecx
pop eax
cbw
inc sp
xchg esi, edx
dec ecx
ror edx, cl
dec ebp
arpl si, si
dec ebp
adc esp, esi
inc cx
idiv ebp
inc cx
sar edx, 0x28
dec esp
lea esi, [edx + edi*4 + 0x63f2583]
inc ecx
jmp esp
ror di, 1
neg di
xor di, 0x1226
call fcn.00bba237
inc ecx
mov esp, 0x16b44592
inc ecx
movzx ebp, ah
dec eax
lea ebx, [ebp + ebp*4 - 0x3941a4c4]
dec ecx
mov esp, edi
inc ecx
pop edi
dec eax
lea ebx, [ebp*2 + 0x3a3534b6]
inc ecx
pop esi
inc ecx
mov edx, 0x819deb6
push ebp
dec esi
mov edx, dword [esp - 0x16b4458a]
inc ecx
push esp
sal ebx, 0xe3
dec edx
mov ecx, dword [esp - 0x16b4457a]
push dword [esp + 0x20]
popfd
dec esi
mov ecx, dword [esp - 0x2d688afc]
call fcn.00b66fc1
mov eax, 0x9d048b02
add al, 0xb9
xor eax, 0x20914a40
mov ecx, 0xad0e4035
cmp al, 0xb9
xor eax, 0x4814240
test byte [esi], dh
cmp byte [eax], 0xe4
invalid
xor dl, 0x27
dec ax
setns al
ror dl, 1
not ecx
xadd ecx, eax
imul eax, eax
xor bl, dl
mov word [edi + ecx - 0x1fe80], dx
lea edx, [eax + eax*2 - 0x5fe12bff]
neg cl
mov ecx, dword [ecx + esi - 0x1fe7f]
sbb esi, 0xfffffffa
cdq
cdq
xor ecx, ebx
shl al, 0xa2
shr edx, 0x87
bt dx, 0x37
bswap ecx
btr edx, edx
rol ecx, 1
ror eax, 0x45
xchg dx, ax
or edx, edx
sbb ecx, 0xc20b2904
cwde
mul al
bswap ecx
sbb dl, 0xb9
xor ebx, ecx
neg dx
add ebp, ecx
push edx
rol eax, 0x15
mov dword [esp + edx - 0x1fffdba], ebp
ret
cwde
sub eax, eax
xor ebx, edx
pop eax
add ebp, edx
mov edx, eax
imul edx, eax
mov edx, dword [esi + edx - 4]
mov eax, dword [esi + 4]
adc esi, 4
jmp 0x79a2f9
ror eax, 2
xor ebx, eax
shr cx, 0x65
adc dword [esp + edx*2 - 0x66bf3800], 0x258aaca8
adc ebp, eax
movzx eax, cl
pop eax
lea edx, [ecx + ecx*2 - 0x767e14f1]
mov edi, dword [edi + ecx*4 - 0x32f00044]
sal ax, 0xe6
jbe fcn.00be75f1
call fcn.00d26874
mov ecx, 0x4019bc81
mov eax, dword [esi + ecx - 0x4019bc81]
movsx edx, cl
lea esi, [esi + ecx - 0x4019bc7d]
xor edx, 0xb32818a7
bt dx, 0x1f
add cl, cl
xor eax, ebx
mov dword [esp + edx - 0x4cd7e726], edx
inc eax
shl edx, cl
not eax
je 0x7aa77e
and word [esp + edx - 0x335f9c96], dx
xchg word [esp + ecx - 0x4019bc01], cx
inc eax
sal dl, 6
xadd dword [esp + edx*2 - 0x66bf3800], ecx
jnp 0xd01abc
mov ecx, 0xc9297781
rol ecx, cl
lea eax, [ecx + ecx + 0x2f3365af]
lea esi, [eax + esi - 0x53d943b9]
dec ecx
mov ecx, dword [esi + eax - 0x53d943b5]
xor ecx, ebx
bt eax, eax
xor ecx, 0xa0ac23b9
movsx edx, al
not eax
add al, dh
inc ecx
call fcn.00c8434c
invalid