Function at 0x104b159a
Capabilities:
Encode data using base64
Encrypt data using aes mixcolumns step

Disassembly:
movzx cx, byte [eax]
xchg word [esp + 2], dx
mov word [esi - 2], cx
mov eax, dword [edi - 5]
movsx ecx, dl
lea edi, [ecx + edi - 0x11]
shl dx, 0x61
xor eax, ebx
neg byte [esp + ecx - 9]
xchg word [esp + ecx*2 - 0x16], cx
shr dx, 0x83
dec eax
rol eax, 3
call fcn.104119a6
mov dword [esp + 0xc], 0xec4d0742
mov edx, dword [esp + edx - 0x5d387538]
add dword [esp], 0xefcdb897
push dword [esp + 8]
popfd
lea esp, [esp + 0xc]
call fcn.102f6efb
mov ax, word [ebp + edx*2 - 0xae00]
shr edx, cl
rol ecx, cl
bt ecx, ecx
mov cx, word [edx + ebp + 2]
sal dx, 0xad
sub dx, 0x5c21
jl 0x104413c9
lea ebp, [ebp + ecx*2 - 0x784bffd1]
mov edx, ecx
add dword [esp + edx*2 - 0x784bffd2], 0xb9073280
bt cx, cx
xor eax, ebx
sub eax, 0x9a2be4b7
dec word [esp + ecx - 0x3c25ffea]
not eax
jg 0x1043fe78
dec ebx
mov eax, dword [edx + ebx*4 - 0x38eb7800]
dec eax
lea edi, [esi*4 - 0x4cd717fe]
dec esp
mov ebp, eax
call fcn.1033568f
mov eax, dword [ebp]
push 0xd69d6b80
jmp 0x103a87a6
sbb ecx, 0x468c2db0
ror ecx, 3
call fcn.104081b6
push ebx
push ebp
pushfd
mov ebp, 0x8f1bf6a7
mov dword [esp + 8], 0x188f0822
mov ebp, dword [esp + ebp + 0x70e4095d]
push dword [esp]
popfd
lea esp, [esp + 8]
call fcn.102f6efb
movzx edx, byte [ebp - 1]
inc ecx
mov ebp, 0x4e151eaa
inc ecx
xor dl, cl
inc ecx
movzx esi, bp
call fcn.1040d338
cli
pop ecx
sar byte [edx + 0x5d], 0xb9
mov eax, dword [0x24260a8]
pop ecx
popal
inc edx
add bl, byte [ecx + 0x61]
mov eax, 0x590242a0
inc ecx
fdiv dword [eax]
inc edx
add bl, byte [ecx - 0x4f]
push ecx
sbb byte [edx + 2], al
pop ecx
jns 0x102eab54
add byte [edx + 2], 0x59
inc ecx
xchg ecx, eax
cmp byte [edx + 2], al
pop ecx
pop ecx
dec ecx
adc byte [edx + 2], al
pop ecx
mov cl, 0x10
iretd
jge 0x102eab04
cmp eax, esi
mul dword [ebp + edi*2 - 0x62]
pop ebx
out dx, al
mul dword [ebp + edi*2 - 0x39]
and edi, dword [esi - 9]
jge 0x102eab27
retf
inc esp
movsx ebp, bh
dec ecx
mov ecx, dword [edi + edi - 0x57941d7d]
inc ecx
push ebp
call fcn.1042069a
stc
cmp dh, 0x2d
call fcn.103c2ce0
xor ebx, edx
xor eax, 0x2708cd92
xadd ecx, eax
adc edi, edx
movzx edx, ax
btr ecx, ecx
jae 0x102e723e
mov ecx, 0xb911212c
push ecx
mov ecx, dword [edi]
inc byte [esp + 2]
js 0x1046e012
add edi, 4
xor ecx, ebx
mov edx, 0x951841b8
movsx eax, byte [esp]
shr byte [esp + eax*2 - 0x58], 0xa1
inc ecx
lea edx, [eax + edx - 0x74691a57]
push eax
xor ecx, 0xb1aa388d
add edx, 0xf8b12a0c
cbw
ror ecx, 3
call fcn.1037c8e0
cdq
pop edx
pop edx
jae fcn.10440eae
mov ecx, 0x10348f26
movsx eax, cl
ror edx, 1
dec edx
rol cx, cl
ror edx, cl
not edx
cwde
xor ebx, edx
cwde
xor ecx, ecx
adc ebp, edx
add ecx, dword [esi + ecx]
movzx edx, ax
bt ax, dx
neg dx
mov dx, word [ecx + eax*2 - 0x4c]
lea ecx, [eax*8 + 0x65918ba4]
and ax, cx
jge 0x102d8d4e
mov edx, 0x77abd11a
movzx ecx, dl
lea eax, [ecx + edx*4 + 0x2a0e89ab]
movzx edx, word [edi + ecx*8 - 0xd2]
xor dx, bx
dec dx
btc eax, ecx
xor ecx, eax
rol dx, 1
inc ax
inc ecx
bts ax, 0xf
xor dx, 0xdcbe
shl cl, 0x46
xadd eax, ecx
jne 0x1037be40
inc edx
xor ecx, 0xb61f88a5
rol edx, 3
sal ecx, cl
lea edx, [edx + ecx*2 - 0x245af421]
and al, 0x2f
xor ebx, edx
add edi, edx
xchg ecx, eax
jmp edi
inc dx
cwde
xor bx, dx
cbw
movzx eax, byte [edi + ecx*4 - 0x32f738bb]
xor al, bl
dec cx
not cx
jp 0x103cb33d
dec ecx
mov esi, dword [edi]
mov edi, 0x57941d85
jmp 0x1032c028
inc ebp
movsx eax, ch
jo 0x103b004a
lea eax, [esi + eax - 0x651c9130]
dec word [esp + esi - 1]
rol dword [esp + esi*4], 0x5f
rol eax, 1
inc ecx
movsx edx, bx
xor eax, 0xe0229b36
add eax, esi
dec esp
add dword [esp + esi*2 - 2], ecx
xor dword [esp + esi - 1], eax
call fcn.102dc90b
mov eax, 0x75306f92
mov dl, byte [esi + eax - 0x75306f8e]
or cl, dl
mov edx, eax
sar edx, 0x39
push edx
not cl
or dx, ax
setae al
mov word [esi + eax - 0x75306efd], cx
mul byte [esp + edx*2 - 0xdf73]
jo 0x1046e9b5
add eax, dword [esp + edx - 0x6fba]
lea esi, [esi + edx - 0x6fb6]
movzx ecx, byte [esp + edx - 0x6fba]
mov dword [esp + edx*2 - 0xdf74], ebp
ret
ror al, cl
bt ecx, edx
dec al
xchg byte [esp + ecx - 0x6f529e5f], dl
xor bl, al
inc dx
not cl
add ecx, ecx
lea eax, [esp + eax + 4]
bswap edx
bts edx, ecx
jb 0x102e392f
xor cx, cx
xor ebx, eax
push ecx
add esi, eax
sar byte [esp + 5], 1
pop ecx
pop ecx
pop eax
pop eax
jmp esi
sar cl, 0x25
shl cx, 0x87
rol edx, 1
not ecx
btr cx, ax
bswap ecx
xor ebx, edx
dec al
or ax, ax
adc esi, edx
mov edx, dword [ebp + eax*2 - 0x5001f6]
xor ecx, ecx
mov eax, dword [eax + ebp - 0x2800f3]
sbb ecx, ecx
adc edx, eax
mov dword [ebp + ecx + 0xc], edx
lea eax, [ecx + ecx*4 + 0x69014ca4]
call fcn.103a2f65
sal eax, cl
mov ecx, 0xe48a150a
mov dword [ebp + 2], eax
movsx eax, dx
cwd
mov edx, dword [edi + eax*2 - 0x9e00]
add ecx, eax
lea edi, [edi + eax*2 - 0x9dfc]
cbw
xor edx, ebx
not edx
shl ecx, cl
xor edx, 0x33207a03
sub edx, 0xa2ab6328
call fcn.1046e40a
pop edx
mov cl, byte [ebp + edx*2 + 0x52c52904]
jmp fcn.1035e42a
dec cx
inc eax
not dl
xor ebx, eax
call fcn.103d7e50
mov edx, 0x6438e890
bts edx, 4
lea eax, [edx + edx + 0x1ea3fd0a]
movzx edx, word [edi + edx - 0x6438e890]
mov ecx, eax
ror ax, cl
setb cl
adc edi, 1
and al, ah
dec eax
xor dx, bx
and eax, eax
adc dx, 0x539a
neg cx
sbb eax, ecx
rol dx, 1
shl cx, 0x22
add ecx, eax
inc dx
shr ecx, 0x1d
not dx
ror dx, 1
xadd cl, al
dec dx
add cl, 0x83
xor bx, dx
xchg al, cl
shl cl, cl
lea ebp, [ebp + ecx*2 - 0x102]
mov word [eax + ebp - 0x580b], dx
mov edx, ecx
rol ecx, 0xe
mov ecx, dword [edi + eax*2 - 0xb016]
shl eax, 0x79
bt dx, ax
lea edi, [edi + eax*2 - 0x2bfffffc]
xor ecx, ebx
lea eax, [eax + edx*2 - 0x704b4be6]
xchg edx, eax
dec ecx
rol dx, 0x23
call fcn.10327dbc
shr dword [esp], 0xd7
bswap ecx
push 0x461e19a3
inc dword [esp + 4]
jge 0x102eaab1
mov ecx, 0x90233a2e
dec eax
lea edi, [ecx + ecx*8 - 0xcd2ebdb]
dec eax
sub ebp, 4
inc eax
movsx eax, bh
inc esp
movzx esp, cx
inc esi
mov ebx, dword [ebp - 0xe8b8]
dec esi
lea ebp, [0x5918c50d]
inc ebp
xor ebx, ecx
inc ecx
neg ebx
dec ecx
sub esp, 0x3f8b15a6
jns 0x103ffbba
inc ecx
ror ebx, 1
inc ecx
inc ebx
dec eax
cwde
inc ecx
movsx edx, ch
movsx esi, di
inc ecx
not ebx
inc ecx
xor ebx, 0xc0829686
mul di
inc ecx
not ebx
inc esi
lea ebx, [ecx + ebx - 0x4f19142d]
jb 0x10395180
lea ebp, [ebp + eax*2 - 0xeeac184]
push eax
sal eax, 0xb7
mov word [eax + ebp - 0x60800000], dx
jne 0x103b82d2
mov eax, dword [esi]
mov ecx, 0x4eac05ad
lea esi, [esi + ecx - 0x4eac05a9]
xor eax, ebx
dec eax
neg cx
neg eax
push ecx
rol eax, 3
xor word [esp + ecx - 0x4eacfa51], cx
ror word [esp + ecx - 0x4eacfa51], 8
xor eax, 0xf1bcaf1e
imul ecx, ecx
movsx edx, word [esp]
dec word [esp + 1]
xor ebx, eax
add edi, eax
shl dl, 0xa6
sbb edx, edx
xor dx, word [esi + edx*2]
call fcn.10417f8d
sub al, 0xac
add dx, dx
ror al, 1
imul edx, edx
neg edx
sbb al, 0x3b
rol dx, 0xad
jae 0x10486bbb
jne 0x10483701
cwde
call fcn.103fa128
inc ecx
xor ecx, ecx
not ecx
dec eax
cwde
inc ecx
pop ebx
dec ecx
add ebx, 0xffef20fa
inc ecx
jmp ebx
mov dx, word [edi + edx - 0xffeb18]
shr byte [esp + 1], 0x27
neg byte [esp + 3]
mov ax, word [edi]
setne cl
not dx
shr byte [esp + 2], cl
not ax
ror ecx, cl
bts cx, 0x13
or dx, ax
mov word [edi], dx
xor word [esp + 2], cx
call fcn.10454a3f
push esi
dec ecx
bswap ebp
inc ebp
xor cl, ah
dec esi
lea esp, [esp + 8]
inc cx
shr edx, 0x2d
shl esi, 0xa3
jb 0x103bd069
inc dx
mov dword [edi - 0x40883794], ecx
dec eax
xchg dword [esp + edx - 0x3d222e6d], edi
dec edx
mov dword [esp + eax - 0x7458de63], ebx
ret
dec ecx
sal edx, 0x1f
inc ecx
xor al, 0xf
not edi
dec eax
sal edx, 0xc6
inc ecx
push ecx
inc ecx
xor eax, esp
inc edx
xor dword [esp + 0x8794], edi
dec ecx
sar eax, 0xbb
inc ecx
pop ecx
dec edi
lea ebp, [esp - 0xfdcfe73]
dec eax
arpl di, di
dec ebp
btc ebp, esi
call fcn.1034ad4f
not al
shr cl, 1
inc ecx
neg al
shr ecx, cl
ror al, 1
btr ecx, ecx
rol cl, 0xe6
shl ecx, cl
sbb al, 0x24
shr ecx, 0x7f
xor bl, al
add eax, esp
mov word [eax + ecx*4], dx
push ecx
neg ecx
je 0x10470a7f
setbe cl
bswap edx
sal cl, 0xe4
lea eax, [eax*2 - 0x4fe754f4]
jae 0x1036c6d9
xor al, 0x2c
inc esp
xor cl, al
inc edx
or dword [esp + ebp - 0x1b53be9a], 0x38302f2a
dec eax
lea eax, [esp + eax + 8]
call fcn.1044eb38
add ecx, ecx
not cl
call fcn.103148ef
shl ecx, 0x23
inc edx
sar eax, 0x53
ja 0x103f919f
call fcn.1048ebad
adc ebp, ecx
push 0x3708eb93
push 0x1ebf1d9f
lea esp, [esp + 0x20]
jmp 0x1033c8fb
xchg word [esp + edx - 0x3c25ffea], dx
lea ecx, [edx + 0x833183c]
inc eax
bswap eax
add ecx, 0x51863300
bt edx, 0xa4
sbb eax, 0xba059498
xor ecx, edx
xor ebx, eax
btr ecx, 6
pop edx
jb 0x10450209
mov dword [ebp], edx
mov ebx, dword [esp + 4]
mov ebx, dword [esp + 8]
call fcn.104b5542
pop ss
inc ebx
enter 0x845, 0xfffffffffffffff4
dec eax
mov dword [0x94086aec], eax
sub bl, dh
in al, dx
push 8
test ah, bl
push ebp
dec esi
imul esp, dword [esi + 0x770fd36b], 0x29
cdq
imul esp, esi, 0xbbf6aae3
push 0xf6e2a9aa
mov ebx, 0xc28d4268
idiv byte [ebx - 0x745e1d98]
push eax
loop 0x1043ff2f
movzx edi, ah
mov edi, dword [ebp + edx - 0x40b98793]
dec ecx
not esp
inc ecx
xor edi, ecx
btc dx, dx
inc ecx
mov eax, 0x6123f1a8
dec ebx
lea esi, [esp + 0x2b1a4f14]
neg edi
inc ecx
mov esi, 0x6f275da1
mov eax, edx
ror edi, 2
inc ebp
movzx edx, ax
inc ecx
shr edx, 0x99
dec ecx
dec esi
sbb edi, 0x8787e7b0
jmp 0x103c7c96
arpl word [ebp - 8], di
invalid
lea ebp, [ebp + edx*8 - 0x51ef6]
call fcn.103e3c7e
mov eax, 0x3b837737
cbw
mov ax, word [esi + eax*2 - 0x7706006e]
mov edx, 0xa88d38b0
mov cl, byte [esi + 2]
add esi, 2
shr dx, 0x44
sbb edx, edx
btc edx, edx
shl ax, cl
inc dl
lea ecx, [edx*8 - 0x604a99c8]
mov word [esi + edx*8 - 0x10], ax
movzx eax, dx
sar al, 1
lea edi, [edi + edx*2 - 8]
imul dx, dx
mov eax, dword [edi + edx*2 - 8]
setae cl
shr ecx, 0xd9
xor eax, ebx
lea ecx, [edx + edx + 0x4f31a086]
neg cl
dec eax
neg eax
shl cl, 3
or edx, edx
ror eax, 1
jmp 0x103aa673
add esi, eax
jmp 0x103c6b90
mov dword [esi + eax*8 - 8], ecx
jae 0x10370d6f
call fcn.10383448
not eax
rol cl, 1
btc eax, 0x3a
bts dx, 4
neg cl
rol edx, 0xea
add dl, dl
xor bl, cl
add ecx, esp
btr eax, 0xb8
shr eax, 0xe5
mov dx, word [ecx + eax - 0x77560c1]
movzx ecx, ax
push eax
jns 0x103ac047
mov ecx, dword [edi + eax*2 - 0x5577bfac]
mov edx, eax
mul dx
lea edi, [edi + eax*2 - 0x55770dc4]
adc edx, edx
add eax, edx
bswap edx
xor ecx, ebx
inc ecx
rol dl, 0x86
xor ecx, 0x31a66280
push eax
or dx, word [esp + edx - 0x6d877754]
dec eax
sbb ecx, 0xfa368c21
mov dword [esp + edx - 0x6d87775f], 0x27bb49b6
btr edx, edx
ror ecx, 2
neg ax
mul dword [esp + edx - 0x6d87775f]
xor ebx, ecx
shr edx, 0xc6
btr eax, 0xbf
adc ebp, ecx
add word [esp + edx*8 - 0x27cb68e], dx
mov esi, dword [esi + edx*2 - 0x9f2da4]
lea eax, [edx + eax + 0x108416b6]
pop edx
ja fcn.10440eae
mov edx, 0x9b8a3dbf
lea ecx, [edx + edx - 0x2cc6e474]
movzx eax, cl
mov edx, dword [ebp + ecx - 0xa4d970a]
rol eax, cl
sub cl, cl
and ecx, ecx
mov ecx, dword [ebp + ecx*2 - 0x149b2dfc]
mov dword [edx + eax*4 - 0xa000], ecx
mov edx, dword [eax + edi - 0x2800]
lea edi, [edi + eax - 0x27fc]
xor edx, ebx
movzx ecx, ax
push ecx
pop ecx
inc edx
bswap eax
neg edx
and ecx, 0x28b08e10
lea edx, [eax + edx + 0x7efd0293]
jge 0x10397286
adc ecx, dword [ecx + edi - 7]
mov eax, 0xcb0f4d24
sub edi, 7
mov edx, 0x7a878ab9
xor ecx, ebx
xor dword [esp + edx - 0x7a878ab9], eax
inc eax
imul ax, ax
not ecx
sbb ecx, 0xaea2aa01
bswap ecx
shr eax, 0xed
inc ecx
bswap ecx
ror edx, 0x84
imul dx, dx
lea ecx, [ecx + edx*2 - 0x60a20d6d]
mul dword [esp + eax*2 - 0xcb0f4]
xor ebx, ecx
add byte [esp + edx*4 - 0x142224], 0x82
adc ebp, ecx
sar edx, 0xf0
mov ecx, dword [esp + edx*2 - 0xa]
mov dword [esp + edx - 5], ebp
ret
mov eax, dword [ecx + edi - 0x60c1]
lea edi, [edi + ecx - 0x60bd]
lea ecx, [ecx*8 + 0x5a34e037]
xor eax, ebx
neg eax
xor eax, 0x5696ec1f
sar dword [esp + ecx - 0x5a37e63c], 0x5d
dec eax
ror dword [esp + ecx - 0x5a37e63c], 0xfc
bswap ecx
neg eax
movsx edx, word [esp + ecx - 0x3fe63756]
rol eax, 1
mov byte [esp + edx + 7], ch
inc eax
bts edx, edx
xor ebx, eax
add esi, eax
call fcn.1031fa35
inc esp
movzx ebp, byte [esp + esi*2 + 1]
inc ecx
bswap esi
inc ecx
dec esi
rol cx, 0xa8
dec ebx
lea edi, [eax + eax*8 + 0x218c4f11]
inc ecx
or ch, 0x3e
inc ecx
ror esi, 3
inc esp
movsx esp, byte [esp + esi]
call fcn.1048be3d
xor al, 0xa
and edx, 0xb28a2119
xor bl, al
add eax, esp
mov word [eax + edx*2], cx
call fcn.103ce935
jbe 0x103d817b
mov esi, dword [esi*4 + 0x10488f44]
shr ecx, 8
xor ecx, esi
mov dword [esp], 0x7db2d201
call fcn.1049d4b0
neg eax
push edx
ror eax, 2
bswap eax
mov dword [esp + edx*4 + 4], edx
or cx, cx
xadd byte [esp + edx + 3], dl
lea eax, [eax + edx*2 + 0x125b89c]
imul cx, cx
neg cl
rol cx, 0x41
not eax
dec eax
xor ebx, eax
ror dword [esp + edx*2 + 4], 0xf5
push edx
xchg dword [esp + edx*2 + 7], edx
adc ebp, eax
movsx eax, dl
ror edx, 0x1a
jb 0x103fd8f2
xor al, byte [edi + edx*2 - 9]
ror ecx, 0x4b
sar ecx, 4
lea edi, [edi + edx - 9]
or edx, dword [esp + edx*2 + 8]
xor al, bl
add cl, dh
adc al, 0x27
lea ecx, [edx + ecx*2 - 0x22c5c06a]
call fcn.10307f98
inc ecx
mov ecx, 0xf1904b06
dec ecx
mov esp, edi
inc bp
imul ecx, ecx
inc ebp
movsx ebp, cl
pop esi
inc ecx
pop esp
popfd
inc ecx
movsx ebp, ch
call fcn.102d2a25
inc al
shr edx, 0x1b
neg byte [esp + edx*4 - 0x2f]
setnp byte [esp + edx*8 - 0x60]
xor al, 0x39
not ecx
inc cx
jnp 0x10395b59
call int.10310a78