Function at 0xa12593
Capabilities:
Encode data using base64

Disassembly:
xor al, bl
dec al
movzx ecx, dl
neg al
or word [esp + ecx - 0x8f], 0x7381
adc al, 0x37
sub ecx, edx
sbb cx, word [esp + edx - 0x73a4d18e]
and dx, 0x8808
ror al, 1
pop ecx
pop ecx
add al, 0x33
lea ecx, [ecx + ecx*4 + 0x15bc7612]
sar dl, 2
sal cx, 0xec
xor bl, al
add eax, esp
shl edx, 0xae
shl cl, 0xc4
ror dl, 0xc7
or dl, byte [eax + edx - 0x20000000]
lea eax, [ecx + ecx*4 - 0xd617c72]
rol cx, 5
sal ax, 0x69
mov word [ebp + ecx - 0x15be0010], dx
movsx edx, al
lea ebp, [ecx + ebp - 0x15be0010]
jp fcn.00a28822
inc ecx
ror dh, 1
dec eax
cdq
inc ecx
add dh, 0xab
inc ecx
ror dh, 1
dec ebp
lea edx, [esp + edi*8 - 0x1d4640f0]
inc ebp
movsx eax, dx
inc ecx
neg dh
dec eax
bt eax, edi
inc ecx
ror dh, 1
dec ecx
inc edx
bt edx, 0x94
inc ecx
xor dh, dh
cwd
dec esp
add esi, esp
dec esp
or ebp, ecx
inc bx
movzx eax, byte [esi + ebp - 0xb6]
bswap edi
dec ecx
lea ebx, [ebp + ebx - 0xb8]
dec ecx
and edx, 0xe1ad93a9
inc dx
mov dword [ebx + ebp*4 - 0x2d8], eax
xchg bp, di
dec ebp
lea esi, [ebp + ecx - 0xbd516dd]
inc cx
sal esi, 4
inc edi
mov esp, dword [edi + ebp*2 - 0x16c]
ror ecx, 0xa6
dec eax
sar ecx, cl
inc ebp
movzx ecx, si
dec edi
lea edi, [ebp + edi - 0xb2]
inc ecx
bts ecx, ecx
inc cx
sar ebp, 0x6f
inc esp
xor esp, esi
shr di, 0xea
inc ecx
neg esp
inc ecx
xadd ch, cl
dec ecx
btc edx, edi
inc ecx
inc esp
dec eax
inc ebp
jl 0xdcbb3f
mov edx, 0x4008c193
mov eax, edx
shr ax, 0x42
mov eax, dword [ebp + eax - 0x40083064]
mov ecx, dword [ebp + edx - 0x4008c18f]
bt dx, 0xb2
push ebx
cpuid
push 0x76817b17
sbb ebp, 8
push 0x31058cbe
jmp 0xdf7524
btr eax, 0xb2
neg edx
sub edx, 0xa483baa5
shr al, 0xa1
xor ebx, edx
bt ecx, 0x9a
shr ecx, cl
xchg dword [esp + ecx*2 - 0x900500], eax
adc esi, edx
mov byte [esp + ecx - 0x48027f], al
mov edx, dword [ebp + ecx*2 - 0x900500]
bt cx, cx
mov cx, word [edx + ecx*4 - 0x1200a00]
adc ebp, 2
sar dword [esp], 0x6a
mov word [ebp], cx
sbb eax, 0x71913115
mov dword [esp + eax - 0x77eef708], esi
ret
mov dword [esp + ecx - 0x3497cf85], ecx
not ax
inc ax
lea edx, [ecx*8 + 0x81df62d]
not dword [esp + ecx*2 - 0x692f9f08]
xor bx, ax
mov word [ebp + ecx*2 - 0x692f9f0e], ax
mov eax, dword [edi + ecx*2 - 0x692f9f16]
lea edx, [ecx*8 + 0x218fbaa6]
lea edi, [edi + ecx*2 - 0x692f9f16]
xor eax, ebx
sal dword [esp + ecx - 0x3497cf81], 0x1c
neg eax
dec eax
shr dword [esp + ecx*2 - 0x692f9f06], 0xbb
bswap eax
jns 0xa4ab38
mov edx, 0x1f127f86
lea edi, [edx + edi - 0x1f127f8a]
mov eax, dword [edi + edx*4 - 0x7c49fe18]
movzx ecx, dx
xor cl, 0x19
bts edx, ecx
xor eax, ebx
rol cx, 0x64
adc ecx, ecx
dec eax
xor edx, edx
add dx, cx
shl ecx, cl
xor eax, 0x441df98f
inc eax
ror eax, 1
ror edx, 0x42
not edx
inc eax
shr edx, 0x3e
call fcn.008d044b
xadd word [esp + eax - 0x7f], cx
neg dl
btc eax, ecx
dec dl
bt cx, ax
xchg dword [esp + ecx - 0x534d4d67], eax
ror dl, 1
shr dword [esp + ecx - 0x534d4d67], 0xb1
js 0x9c3d42
jae 0xa45857
inc edi
lea eax, [eax + esi - 0x61c4603d]
movsx ecx, bp
inc ecx
ror eax, 2
dec eax
inc edi
bswap edi
push esi
inc esp
xor dword [esp + edx + 1], eax
pop esi
cwde
dec ebp
arpl ax, ax
dec ebp
add ebx, eax
inc esp
movzx ecx, dx
dec esp
mov ebp, dword [ebx + eax*2 - 0xd066]
dec ecx
btc ecx, edx
inc esp
movsx eax, dx
shl eax, cl
dec eax
lea ebx, [eax + ebx - 0x6832fff8]
inc esp
sub ah, bh
inc ebx
mov eax, dword [esi + ebp - 0x542aa330]
xadd edi, edx
dec esi
lea edx, [ebp - 0x50d6fbd6]
inc esp
mov eax, eax
inc ebx
movzx ecx, byte [edi + esi - 0x542aa32c]
dec ecx
neg esp
dec eax
ror ebp, 0x31
dec esi
lea edi, [ebp + edi - 0x5197fffb]
inc eax
xor cl, dh
inc cx
ror esi, 0xc9
inc ebp
movsx ebp, dl
ror cl, 1
mov eax, 0xd997299c
inc esp
btc edx, esp
inc cx
adc ebp, 0xca121628
shl di, 0x2e
dec eax
shl edx, 0xf9
dec ebp
xadd esi, ecx
not cl
dec ecx
inc ecx
or edx, 0x1630e109
dec eax
sal ebp, 0xdc
adc cl, dl
inc esp
xadd edi, esp
neg bp
inc eax
xor dh, cl
dec eax
lea edx, [edi - 0x4566d179]
bt di, di
dec eax
adc ecx, esp
inc esp
mov dword [edx + ecx + 0x14661179], eax
inc ecx
movzx ecx, si
inc sp
btc edx, esp
dec ebp
xadd edx, ecx
inc ecx
jmp ebx
xor bl, dl
or ecx, ecx
lea edx, [esp + edx + 8]
adc ax, ax
sbb cx, cx
movzx cx, byte [edx + eax*8 - 0x1d807f0]
mov edx, 0x73a4d193
mov word [eax + ebp - 0x3b00fe], cx
cbw
movzx eax, byte [edi + eax*8 - 0x1dffff6]
lea edi, [edi + edx - 0x73a4d199]
jne 0x96c6e9
neg eax
xor ebx, eax
push ecx
btc cx, 0x23
sar dl, 0x41
mov dword [ebp + ecx - 0x3497cf95], eax
sal edx, cl
xchg byte [esp + ecx*2 - 0x692f9f12], ch
lea ebp, [ecx + ebp - 0x34971295]
movzx eax, word [esp + ecx*2 - 0x692e2512]
sal eax, cl
pop eax
pop ecx
pop ecx
jns fcn.00a28822
mov ecx, 0xe9908e82
rol cx, 0x29
lea edx, [ecx + ecx + 0x219f3a1]
mov edx, dword [edi]
lea eax, [ecx*4 + 0x239e1d98]
adc edi, 3
cwde
push ecx
xor edx, ebx
shr cl, 0x65
sal word [esp + eax - 0x320b], 0x43
ror edx, 2
lea edx, [ecx + edx - 0x5adca05f]
rol ecx, 0xa8
jb 0x99c5ec
inc ecx
mov ecx, dword [edi]
dec ecx
add edi, 4
inc ecx
mov eax, 0xc19bfaa
inc ebp
movzx edx, al
dec esi
lea ecx, [eax*2 - 0x644a8d2]
xor ecx, esi
inc cx
neg eax
inc ecx
movzx ebp, cx
inc ecx
sub ch, cl
dec ecx
inc ebp
movsx ebp, dl
jmp 0x9a5fd9
dec ebp
xadd edx, ebp
inc ecx
xor esp, 0xae2ad282
dec ecx
neg ecx
inc ecx
inc esp
inc ecx
not esp
inc ecx
rol esp, 1
dec esp
xadd ecx, ebp
movzx eax, di
xadd dx, ax
push esi
btr ebp, 0xc
inc esi
xor dword [esp + ebp - 0x36000000], esp
dec ecx
rol eax, 0x4a
call fcn.00a5a7fa
mov dword [ebp + 0xc], eax
pop eax
mov dword [ebp + eax*2 - 0x620b1974], ebx
sal al, 0xc4
mov ebx, 0x69198b05
xadd word [esp + eax - 0x31058cde], bx
mov dword [ebp + eax - 0x31058cdc], ecx
or word [esp + eax*2 - 0x620b19c0], ax
lea eax, [ebx + eax*8 - 0x4d61d26d]
mov dword [ebx + ebp - 0x69197681], edx
sbb bl, al
mov ebx, dword [esp + ebx - 0x69197669]
mov edx, 0xae1d583b
movzx ecx, dx
shl eax, 0x9c
lea edi, [edi + eax - 0x40000004]
xchg cx, ax
mov edx, dword [ecx + edi]
mov dword [esp + ecx*4 + 4], ecx
xor edx, ebx
or dword [esp + ecx + 4], ecx
pop eax
adc word [esp + eax - 0x186fff7], cx
ror edx, 2
xchg dword [esp + eax - 0x186fff7], ecx
sub edx, 0xa02a5fa3
ror edx, 2
xor edx, 0x87b6510f
xor ecx, 0xb883a0a4
xor ebx, edx
xchg dword [esp + eax*2 - 0x30dffee], eax
jmp 0xd99aad