Function at 0x123d558
Capabilities:
Encode data using base64

Disassembly:
mov dword [esp + edx - 0x7a91f246], 0xbf057f2f
add al, 3
neg al
xchg dh, dl
sub byte [esp + edx - 0x7a9146f2], dl
xor al, 0x27
shl edx, 0x89
xor dx, dx
adc al, 8
xor bl, al
mov dword [esp + edx - 0x228cfffc], 0x61a8e99b
sar dx, 0xa6
mov dword [esp + edx*2 - 0x4519fffc], esi
and dx, word [esp + edx - 0x228cfffe]
inc edx
mov dword [esp + edx*2 - 0x451a0002], edi
or edx, edx
jnp 0x1368903
invalid
mov eax, 0x1d9e940a
not eax
call fcn.0179b41e
inc eax
bswap ecx
dec byte [esp + ecx - 0x32e68b30]
jne 0x1768496
xor bl, al
rol edx, cl
setb byte [esp + ecx*4 - 0xcb988c]
lea eax, [esp + eax + 4]
sal byte [esp + ecx - 0x32e623], cl
shr cx, cl
ror ecx, 0x3c
mov edx, dword [eax + ecx*4 - 0xc873100]
shr ecx, 0x22
mov dword [ebp + ecx*4 - 0x321cc3c], edx
lea ecx, [ecx*2 + 0x1c1d668e]
call fcn.01777435
mov dword [esp + edx*4 - 0x19004], 0xd49146b1
movzx eax, byte [esi + ecx*2 - 0x65ccc805]
add dword [esp + ecx - 0x32e66400], edx
dec dl
lea esi, [esi + ecx*2 - 0x65ccc805]
xor al, bl
or byte [esp + ecx*2 - 0x65ccc800], dh
rol al, 1
rol ecx, 0xd8
not al
rol word [esp + ecx - 0x32e664], 0xae
inc cx
add al, 4
shl cl, 3
xchg byte [esp + ecx - 0x32e625], dh
ror al, 1
dec cx
shr dword [esp + ecx - 0x32e627], 0xcf
sbb al, 0xa2
and cl, byte [esp + ecx - 0x32e627]
ja 0x124f7fc
test byte [esp + ebx*4], cl
sbb ebp, ecx
jmp [esi + 0x4c1ff66]
shl byte [ebx - 0x3e02589], 1
mov al, 0xaa
cmpsd dword [esi], dword es:[edi]
test byte [edi - 0xc], bh
movsb byte es:[edi], byte [esi]
lcall 0x8aa0, 0x847f84a7
cmpsd dword [esi], dword es:[edi]
test byte [edi - 0x6c], bh
test al, 0x8e
cmpsd dword [esi], dword es:[edi]
test byte [edi - 0x70], bh
loopne 0x126a8b3
cmpsd dword [esi], dword es:[edi]
test byte [edi - 0x50], bh
pushfd
and eax, 0xe366a7df
sub dh, byte [esi - 0x2923d077]
push esi
mov al, byte [0xab889346]
test eax, 0x165e1932
push cs
cmp dword [ecx], ebp
pop esp
jg 0x126a934
cmp eax, 0x25f133f
sub eax, 0x2a5f133f
sub bl, byte [0x225f133f]
aas
adc ebx, dword [edi + 0x22]
adc ax, 0x133f
pop edi
in eax, dx
or byte [esi - 0x18215601], cl
dec esp
das
shl ecx, 0xcb
aaa
adc cl, byte [edi - 0x2b]
mov ecx, 0x4f1237af
int1
in eax, 0xb7
aaa
adc cl, byte [edi - 0x17]
mov cl, 0x87
aaa
adc cl, byte [edi - 0x27]
ror dword [ebx - 0x2ab0edc9], 1
xor dword [edi + ecx*2], 0xbaf25631
and byte [ecx + 0x66404c4c], bh
int 0xd6
add eax, 0x69e155b8
add dword [esi + 0x29918ec2], 0x8ea67f5c
mov eax, dword [0x9e5f133f]
xchg edx, eax
mov ecx, 0x8e5f133f
into
fnstsw word [edi]
adc ebx, dword [edi - 0x1e]
out dx, al
leave
aas
adc ebx, dword [edi + 0x31]
or byte [esi - 0x48592201], cl
ret
rol dx, 0xaf
push ebx
sub edx, 0x89b54d3a
mov ebx, eax
setb dl
xor dx, 0x5780
mov edx, ebx
mov eax, 0x6bc9a2c
shl edx, 2
sar eax, 0xc4
neg al
mov eax, ebp
add eax, edx
push 0x43bad097
mov dword [ebp - 4], eax
sal dword [esp], 0xef
test ebx, ebx
lea esp, [esp + 4]
je 0x12409de
mov eax, 0x8c83270b
jmp 0x176b94c
push eax
push 0x98b51c13
dec ebx
call fcn.012409cf
lea ecx, [eax*2 - 0x7a44fc6e]
sar ecx, 0x38
xor edx, ebx
neg edx
mov dword [esp + eax*2 - 0x17fffc], eax
mov dword [esp + eax*4 - 0x300000], 0x4330e9be
inc edx
call fcn.0124842d
not eax
shl cx, 0x49
setp byte [esp + ecx*2 - 0x65ccc800]
movsx edx, cx
inc eax
dec dword [esp + edx*2 - 0xc800]
sar dword [esp + edx - 0x6400], 0xc9
neg eax
push ecx
pop ecx
lea eax, [eax + edx - 0x721eae89]
or dword [esp + ecx*2 - 0x65ccc800], edx
xor ebx, eax
inc dl
add edi, eax
jmp 0x126a87e
ror eax, 0x81
mov eax, dword [ebp + ebx*4]
jno 0x1372e5d
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
mov edx, 0x7c0a8926
lea ebp, [ebp + edx - 0x7c0a891e]
mov dword ss:[ecx + edx - 0x7c0a8926], eax
mov eax, 0x27adff0e
lea esi, [esi + edx - 0x7c0a892a]
shl al, 0xa2
neg ax
mov ecx, dword [eax + esi - 0x27ad00c8]
shr edx, 0xd7
rol al, 0xe2
xor ecx, ebx
inc ecx
bswap edx
ror edx, 0x4d
not ecx
dec eax
inc ecx
neg ecx
shl edx, 0x99
shr ax, 0x6a
neg edx
lea ecx, [edx + ecx - 0x721e4a89]
xor ebx, ecx
add edi, ecx
or edx, 0x8a85ad96
lea ecx, [eax*8 + 0x3396b10c]
jmp edi