Function at 0x1045c489
Capabilities:
Encode data using base64

Disassembly:
sbb esi, 7
or dword [esp + 1], 0x363587be
call fcn.1037551b
mov eax, 0x18a11a36
push eax
mov eax, dword [esi + eax*2 - 0x3142346c]
mov edx, dword [esi + 4]
mov cl, byte [esi + 8]
inc word [esp]
shl byte [esp + 3], 2
adc esi, 6
push 0xe0381935
shrd eax, edx, cl
push 0xe23536bf
mov dword [esi], eax
mov ecx, dword [esp + 8]
mov edx, 0xef998d06
ror dx, 0x62
mov edx, dword [edi + ecx - 0x60a11a37]
xadd dword [esp + ecx - 0x60a11a33], ecx
movsx eax, word [esp + 8]
or al, 0xbb
lea edi, [eax + edi - 0x1abb]
cbw
xor edx, ebx
inc edx
sub cl, cl
adc dword [esp + eax - 0xffb8], 0x198fbfb9
not edx
cwde
jne 0x102e2e9c
sub edi, 4
mov eax, 0x80b30509
lea eax, [eax*2 - 0xf706555]
rol al, 0x41
mov eax, dword [edi]
xor eax, ebx
mov edx, 0x5a2f0b02
jmp 0x1048d4a8
rol cx, cl
add eax, esp
btr cx, 0xae
add cx, cx
mov dword [eax], edx
jmp esi
inc dword [esp + 3]
neg edx
inc edx
rol dword [esp + 1], 1
shl eax, 0x7d
xor edx, 0x5898d2a4
lea eax, [eax*4 + 0x5f398f96]
sal ax, 0xd
xor ebx, edx
dec byte [esp]
add ebp, edx
pop ecx
pop eax
pop ecx
jmp ebp
xor edx, ebx
lea edx, [eax + edx - 0x5dc6e804]
btc eax, eax
neg edx
not edx
ror eax, 0xc7
inc edx
movsx ecx, ax
xadd al, ah
not eax
xor edx, 0xa1aad30d
call fcn.102e7d7d
mov ecx, 0xc20c0a3f
and cx, 0xc233
lea eax, [ecx*2 + 0x6c3de813]
mov eax, dword [ebp]
mov edx, ecx
mov cx, word [ebp + 4]
xor dx, 0x6107
or edx, edx
adc ebp, 2
not edx
shr cx, 1
lea edx, [edx*8 + 0x1207dc81]
bswap edx
rcr eax, cl
push edx
rol byte [esp + 2], 0x24
rol edx, 0xb
mov dword [ebp + edx*4 - 0x54803b38], eax
mov ecx, dword [esi + edx*2 - 0x2a401d9c]
jae 0x104157d6
shr ax, 0xeb
add esi, edx
cbw
cdq
mov edx, dword [edi + ecx - 0x80000000]
div al
lea edi, [edi + ecx - 0x7ffffffc]
btc ecx, 0xf
movzx eax, byte [ebp]
adc ebp, 1
sar cx, 0xe
jne 0x10408193
mov ecx, 0x7b9e15b2
movzx edx, word [ecx + edi - 0x7b9e15b2]
lea eax, [ecx - 0x5ddd46da]
lea edi, [edi + ecx - 0x7b9e15b0]
sar eax, 0x83
call fcn.10341eb8
inc ecx
mov ebp, 0xc108cca3
mov edx, dword [ebp - 4]
inc ecx
mov ecx, ebp
push ecx
inc ecx
push ebp
inc ecx
xor edx, ecx
inc esp
movsx edx, word [esp + 0xa]
rol edx, 1
dec edx
shl dword [esp + 1], 0x9a
neg edx
dec esp
xadd dword [esp + 6], ebp
bswap edx
inc esp
movzx esi, word [esp + 0xa]
inc dx
add dword [esp + esi - 0xc109], ecx
inc si
imul edx, dword [esp + esi*2 - 0x18212]
not edx
inc dx
dec dword [esp + esi*2 - 0x18212]
dec esi
mov dword [esp + esi*8 - 0x60840], ecx
inc ecx
movsx edi, bp
inc ecx
pop ebx
inc edx
xor dword [esp + esi - 0xc109], edx
inc ecx
or edi, esi
inc ecx
pop ecx
inc cx
not esi
dec edx
lea eax, [ecx + ebx + 0x4caac4b9]
dec eax
arpl dx, dx
movsx esi, cx
dec eax
adc ebx, edx
dec eax
cdq
dec edi
mov eax, dword [esi + edi - 0x3ef6]
inc ebx
mov cl, byte [edi + esi*2 - 0x7de4]
bswap eax
push edx
dec ecx
shl eax, cl
inc si
xchg dword [esp + esi*4 - 0xfbd3], ebp
dec edi
mov dword [edi + esi*4 - 0xfbd6], eax
inc edx
movzx ecx, word [ebp + esi*2 - 0x7df2]
inc edx
or byte [esp + esi*2 - 0x7de7], dh
dec esp
lea edx, [edi + 0x4228490f]
dec ecx
sal ebx, 0x72
dec edx
lea ebp, [ebp + edx - 0x42290a1e]
inc ecx
and edx, 0x9bb4ad0d
dec edx
dec dword [esp + edx - 0x2200808]
inc cx
xor ecx, ecx
xor cx, dx
inc cx
btr edx, 0x8d
dec eax
cdq
xor cx, 0x440f
dec esi
lea eax, [ebp*2 + 0x56a7f003]
dec ecx
shl edx, 0xb1
dec ebp
lea esp, [edx + esi*8 - 0x6a450952]
adc cx, 0x3c8c
dec eax
mul edx
dec eax
cwde
inc cx
xor ecx, ebp
pop edi
inc cx
add ecx, ebp
inc ecx
dec ch
inc sp
xor esi, edi
inc sp
xor ecx, ecx
dec esp
lea ebp, [eax + edi*2 + 0xc8f6220]
inc ecx
inc ebp
sar eax, 0x7d
inc bx
mov dword [ebp + edi - 0xc8f621d], ecx
inc ecx
mov ecx, edx
dec ecx
not ebp
dec eax
adc eax, ebx
jmp eax
xor al, bl
neg al
dec al
not cl
ror al, cl
neg al
xor bl, al
imul cx, cx
jo 0x102d073a
lea esi, [edx + esi - 0x15200eca]
movsx eax, dx
push edx
xor ecx, ebx
xadd ax, dx
bts eax, 0xba
rol ecx, 1
call fcn.1045105c
mov dx, word [ebp]
mov eax, 0x5039060f
xor eax, eax
sub al, 0x20
mov ax, word [ebp + eax*2 - 0x1be]
mov ecx, 0x650ef73b
btc ecx, 0x39
mov cl, byte [ebp + ecx - 0x670ef737]
adc ebp, 4
call fcn.104abc98
pop edx
not ecx
mul edx
xor ebx, ecx
add esi, ecx
jmp esi
mov dword [esp + eax - 0x463a], edx
not ecx
neg dword [esp + eax*4 - 0x118e8]
xor ebx, ecx
and dx, ax
rol word [esp + eax*4 - 0x118e7], 0xe3
adc ebp, ecx
mov ecx, dword [esp + eax - 0x463a]
push ecx
mov eax, dword [eax + esi - 0x463a]
mov ecx, dword [esi + edx - 0x1520421e]
rol byte [esp + edx*2 - 0x2a40843e], 0x63
mov dword [esp + edx - 0x1520421e], ebx
sbb dl, dl
lea ebx, [edx + edx*8 - 0x205a4ee7]
cpuid
push 0xe73aca3c
jl 0x102ccd37
push 0x2b158904
rol dword [esp], 0x85
mov edx, dword [esi]
mov eax, 0xbd047730
not word [esp]
adc esi, 3
jmp 0x103f165f
shr edx, 3
lea eax, [eax + edx*4 + 0x77f8e7b0]
jae 0x1034abfa
mov eax, 0x22b570b2
movzx edx, al
mov eax, dword [eax + esi - 0x22b570b2]
mov ecx, edx
shr edx, cl
add edx, dword ss:[eax + edx*2]