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

Disassembly:
add word [esp + edx - 0x58887d91], cx
dec eax
and ecx, dword [esp + edx - 0x58887d91]
or byte [esp + edx - 0x58887d90], dh
neg eax
mov dword [esp + edx - 0x58887d91], 0x582c5e23
xchg byte [esp + edx - 0x58887d8f], ch
not eax
rol eax, 2
and edx, 0x5c9b3391
lea edx, [ecx + edx*4 + 0x4290581]
xor ebx, eax
add edi, eax
movzx dx, byte [edx + ebp - 0x6648f7c5]
add cl, byte [ebp + 2]
add ebp, 2
mov eax, dword [esp]
and dl, cl
not dl
push eax
mov word [ebp + eax - 0x58ff5e23], dx
mov dword [esp + eax - 0x58ff5e23], edi
ret 4
inc ecx
not esi
dec esp
mov dword [esp + ecx - 0x7caf1030], esp
inc ecx
pop ecx
inc dx
ror dword [esp + eax*2 - 4], 0xf
inc esi
xor dword [esp + eax*2], esi
dec esp
mov esp, dword [esp + ecx - 0x7caf1038]
movsx edi, dl
bts dx, 0x88
pop ecx
dec ebp
arpl si, si
dec edx
mov dword [esp + eax*4 - 0x10], edx
dec ecx
add ebx, esi
mov eax, dword [ebp + ecx*2 - 8]
dec esp
lea ebx, [esi + edi*8 - 0x4a5a5265]
inc esp
movsx ecx, dh
inc esi
movzx esi, byte [ecx + edi]
inc ebp
xor dh, ah
shl byte [esp + ecx - 3], 0xe1
inc eax
shl bh, 7
inc ecx
xor dh, 0xa6
inc ecx
dec dh
mov word [esp + ecx - 1], 0x1fa8
inc ecx
xor dh, 0x86
inc ecx
inc al
inc ecx
neg dh
mov dword [esp + ecx], ecx
inc ebp
xor ah, dh
xor di, cx
dec esi
lea esi, [esp + esi + 8]
inc ecx
mov dword [esi + ecx - 4], eax
inc esi
dec ecx
ror ebx, cl
dec esp
lea ebx, [esp + ecx*2 + 0x50]
sub word [esp + ecx*4 - 0xb], si
inc ebp
mov edx, eax
dec esi
mov edx, dword [ecx + ebx - 4]
inc esp
movzx ebx, word [esp + ecx - 1]
not dword [esp + ecx]
dec esp
mov dword [ecx + ebp - 8], edx
jle 0x11d76f0
mov edx, 0xbb9f4c9c
mov ecx, dword [edi - 4]
mov eax, 0x2e02b099
xor ecx, ebx
lea ecx, [ecx + eax*2 - 0x728dded4]
rol ecx, 1
cwde
add eax, edx
dec ecx
xor ecx, 0x838973a0
lea eax, [eax + eax - 0x7bc55241]
call fcn.011c8aaa
mov ecx, 0x47282a06
mov eax, dword [ebp + ecx - 0x47282a06]
lea ebp, [ebp + ecx - 0x47282a02]
not ecx
btc cx, 0xa5
movzx edx, cl
xor eax, ebx
imul dx, dx
bswap eax
shl cl, 0x26
xadd cl, dl
ror eax, 1
push ecx
and dword [esp + edx*2 - 0x16e80], ecx
inc eax
not ecx
push ecx
rol eax, 3
xchg dword [esp + ecx - 0x47282aca], ecx
sub byte [esp + edx*2 - 0x16e7a], 5
xor ebx, eax
add dword [esp + edx*8 - 0x5b9ff], ecx
rol edx, 0x37
add edi, eax
neg ecx
mov eax, dword [ecx + esi - 0x47282acf]
lea ecx, [ecx + 0x5c9eaf2a]
ror dword [esp + 4], 0x67
not ecx
mov edx, dword [esi + ecx - 0x5c392602]
and cl, ch
xor cl, 0xb5
mov cl, byte [esi + ecx - 0x5c3926ab]
push 0xba80f701
adc esi, 6
sar dword [esp + 8], 0x3a
shrd eax, edx, cl
mov dword [esi], eax
mov ecx, dword [esp + 7]
pop eax
mov dword [esp + ecx*2 - 0x63c], edi
ret 4
mov dword fs:[ecx], edx
mov ecx, eax
sub ebp, 4
sar ecx, cl
mov ecx, dword [ebp]
sub ax, ax
xor ecx, ebx
movzx edx, ax
inc al
rol ecx, 2
neg edx
xor ecx, 0xeb911782
xor eax, eax
neg al
cdq
not ecx
xor eax, eax
ja 0xc57834
rol ecx, 1
neg edx
dec ecx
ror eax, 0xcb
bswap ecx
inc ecx
ror dl, 0xc7
xor ecx, 0xd1880c38
bswap eax
or edx, eax
je 0xc556e7
neg dword [esp]
jb 0xec0a3e
or eax, ecx
not eax
movzx ecx, dx
call fcn.01195a49
lea ecx, [ecx + edx*2 + 0x1a514485]
xor ebx, ecx
not eax
mov dword [esp + edx - 0x69f2990d], edx
mul dword [esp + edx - 0x69f29910]
add edi, ecx
cwde
mov eax, dword [esi + edx*4 - 0x52e50aa4]
rol dword [esp + edx - 0x14b942a2], 0x42
or word [esp + edx - 0x14b9429f], 0xef9d
mov edx, dword [edx + esi - 0x14b942a8]
mov ecx, dword [esp + 8]
sar byte [esp + ecx - 0x60efdf5f], cl
imul cx, word [esp + ecx - 0x60efdf5a]
not eax
not edx
sar ecx, 0x10
xadd byte [esp + ecx*2 - 0xc1d5], ch
rol byte [esp + ecx - 0xdfea], 0xe5
and eax, edx
ror byte [esp + ecx - 0xdfe7], 0xe7
rol ecx, cl
jb 0xb57662
mov dword [ecx + esi - 0x6ff78000], eax
mov dword [esp + ecx - 0x6ff78000], edi
ret 8
xor ebx, ecx
bts dx, dx
ror edx, 0x29
lea eax, [eax + 0x2a8f4382]
adc edi, ecx
jmp edi
rol ecx, 0xc7
mov dword [eax + ecx + 0x3ffff4], edx
lea edx, [ecx + ecx + 0x51344691]
bt edx, ecx
jb 0xe5285c
mov dword [esp + ecx*2 + 0x7fffe8], edi
ret 0x10
not edx
jae 0xc7e7d7
rol al, 0x66
and ecx, edx
mov dword [eax + esi - 0xff8], ecx
lea esi, [eax + esi - 0xff8]
movzx edx, al
mov ecx, 0x4488e9a2
add edx, edi
jmp edx
inc edi
dec edi
lea edi, [edi + eax - 0x28]
dec edx
lea ecx, [esi*4 + 0x18ac4a05]
inc ecx
add ebp, 0x7c0e5505
inc ecx
xor esi, esp
inc sp
bts edi, ebp
xor al, al
sal eax, cl
neg esi
sar al, 0xa2
not esi
sbb eax, 0x420d10b5
sal ax, 0x64
inc ecx
mov ebx, 0x3835f78f
inc edx
lea esi, [esi + eax*2 + 0x6e9e71cb]
not esi
dec esp
lea esi, [eax + ecx*2 + 0x5390638a]
xor cx, cx
inc ecx
push esp
btc ecx, eax
dec eax
cwde
inc ebp
mov edx, ebx
inc edx
xor dword [esp + eax*2 - 0x58], esi
dec eax
imul eax
inc ecx
pop esp
dec ecx
xor ecx, esi
dec eax
cwde
dec eax
xchg ecx, edx
dec eax
arpl si, si
inc cx
sar ecx, 0x61
dec eax
lea edi, [edi + edi - 0x40ff7bf2]
dec eax
adc ebx, esi
dec edx
lea esi, [ecx*4 - 0x75ebf27a]
dec eax
mul edi
inc cx
mul ebp
inc edx
or ecx, dword [ebp + eax*4 - 0xac]
inc ecx
xchg dl, al
dec ebp
bts esi, ebp
inc cx
shl ecx, 0x64
inc edx
mov esi, dword [ebp + eax*2 - 0x50]
dec ecx
div ebp
jmp 0x11742d7
mov ecx, dword [ebp + ecx*4 - 0x5e23fffc]
mov edx, 0xa6a70a8d
jp 0xc261bf
not eax
xor ebx, eax
shr dl, 0x47
or dl, 0x28
adc edi, eax
xadd cl, dl
movsx eax, dl
sar al, 0xe6
mov ecx, dword [ecx + esi - 0xff24]
add edx, dword [esi + edx*4 + 8]
btc ax, 0xc
not ecx
bt eax, eax
bt eax, eax
jae 0xc6d1e8
xadd cx, ax
xor edx, 0xe4262083
ror edx, 2
idiv cl
push ecx
ror word [esp], 0xef
not edx
shr byte [esp + 1], 0x61
xor ebx, edx
add edi, edx
add byte [esp + 3], ch
xor cx, 0xa5aa
pop ecx
mov eax, dword [ebp]
rol ecx, 0xb2
push ecx
mov dl, byte [ecx + ebp - 0x6b4f67f9]
bt cx, cx
lea ebp, [ecx + ebp - 0x6b4f67f7]
or word [esp + ecx - 0x6b4f67fd], 0x9fae
mov byte es:[eax + ecx - 0x6b4f67fd], dl
shl cx, 0x62
pop edx
movsx eax, dx
jmp edi
jae 0xc89aff
mov edx, 0xad8b5227
mov ecx, dword [esi]
sal dx, 0xb
mov edx, dword [esi + 4]
adc esi, 7
mov eax, 0xad00ab1e
jmp 0xc11929
mov dword [ebp + 0xc], eax
mov eax, dword [esp]
add eax, eax
mov dword [ebp + eax*2 - 0x6fa81d44], ebx
push eax
movsx ebx, word [esp + eax*2 - 0x6fa81d48]
shr ebx, 0xbd
mov dword [ebp + ebx + 4], ecx
sal al, 0xa1
rol ebx, 7
mov dword [eax + ebp - 0x37d40e4c], edx
mov ebx, dword [esp + eax - 0x37d40e44]
cdq
pop eax
pop ecx
pop eax
jne fcn.00c09751
mov eax, 0x71ad00bb
lea ecx, [eax + eax - 0xa735efb]
bswap ecx
mov eax, dword [ecx + esi - 0x7ba2e6d8]
bt cx, cx
lea edx, [ecx + ecx*8 - 0x3dbf06d]
lea esi, [esi + ecx - 0x7ba2e6d4]
call fcn.00b68d25
dec ecx
div esi
and ecx, esi
not ecx
inc ecx
sal ebx, 0xf8
inc edx
mov dword [ebp + eax*2 - 0x50], ecx
dec edx
lea ebp, [ebp + eax - 0x24]
inc eax
or bh, 0xb6
inc ecx
bswap esi
inc ecx
push ebx
dec edx
mov dword [esp + eax*2 - 0x58], ebx
ret
inc ebp
btr eax, ebx
dec edx
mov esi, dword [ecx + edi + 1]
call fcn.00c2c6e7
mov eax, dword [ebp]
mov ecx, 0x1789ed2a
sub cx, cx
jge 0xc9e139
dec esi
lea ebp, [esp + ebp + 0x18]
sub word [esp + esi*2 - 0x41], 0x4185
dec eax
cdq
inc ecx
mov cl, byte [ebp + esi*2 - 0x4c]
dec eax
lea ebp, [ebp + esi*2 - 0x4e]
dec eax
shr dword [esp + esi*2 - 0x45], 0xc3
cwd
inc esp
xchg esi, edx
inc dx
mov dword [ebp + esi], ecx
inc esi
mov ebp, dword [esp + edx*2 - 0x47]
inc ecx
imul esi
inc ecx
pop ecx
pop edi
inc ecx
pop eax
jae fcn.011a3bd5
mov ecx, dword [ebp + 4]
inc ecx
not edx
inc ecx
mov esi, 0xff05362c
inc ebp
movsx eax, dh
inc ebp
movzx ecx, dh
not ecx
inc ecx
movzx edi, ax
inc ecx
sar cl, 0x41
inc esp
or edx, ecx
inc ebp
movsx ebp, cl
mov eax, edi
shr eax, 0x89
inc esi
mov dword [ebp + eax*2 - 0x54], edx
inc ebx
mov esi, dword [edi + eax*4 - 0xb0]
jae 0xe6d579
add eax, dword [ebp + ecx - 0x7002]
push ecx
mov ecx, dword [ebp + ecx - 0x6ffe]
mov edx, 0x3194572d
and dl, byte [esp + edx*2 - 0x6328ae57]
mov dword [esp + edx*2 - 0x6328ae00], ebx
cpuid
push 0x6415f8ad
sbb ebp, 8
jmp 0xc1584c