Function at 0x1037c2da
Capabilities:
Encode data using base64
Encrypt data using chaskey

Disassembly:
mov ecx, dword [ebp + ecx*8 - 0x181f9ffc]
mov dword [esp], ebx
xor edx, 0x9dbc638b
cpuid
jae 0x103b3d46
mov dword [esp], 0x4a27a4b9
shr eax, 8
sub dword [esp], 0x4c2e2bad
neg dword [esp + 2]
xor eax, edi
ror word [esp + 3], 0xd
jb 0x10408e1b
dec ecx
mov dword [edi + eax + 0x534a001e], esi
cbw
dec esi
lea edi, [eax + edi + 0x534a001e]
inc cx
idiv esp
inc eax
add al, bh
inc cx
xor eax, 0x810f9417
stosd dword es:[edi], eax
push eax
pop es
add byte [ecx - 0x13dcf36c], cl
mov dword [esp + ecx - 0x674313dd], edx
rol ecx, 0xa
rol al, 0x25
popfd
sub ecx, eax
and ecx, 0x93a2c5bd
mov eax, dword [edi + ecx*8 - 0x122d00]
lea edi, [edi + ecx*8 - 0x122cfc]
btc ecx, 0xb5
xor eax, ebx
neg ecx
btc cx, cx
mov edx, ecx
neg eax
bt cx, cx
rol eax, cl
shl dx, 0x45
adc eax, 0x4cb40aa2
sar dl, 0xc5
neg eax
call fcn.102e1539
inc ecx
mov ebx, 0xb1f9183
dec edx
lea ebp, [ebp + ebx*2 - 0x163f230a]
inc esi
mov ebx, dword [ebp + ebx*2 - 0x163f2306]
mov esi, 0x2b143e28
inc ebp
xor ebx, ecx
inc ecx
bswap ebx
inc esp
movsx esi, si
inc ecx
dec ebx
inc ebp
mov ebp, esi
inc ecx
rol ebx, 3
call fcn.10356e7a
adc ebp, edx
shr eax, 0xfc
movzx edx, cl
or eax, dword [eax + esi]
not dl
sal edx, 5
rol ecx, 0x77
mov edx, dword [esi + edx - 0x1fdc]
mov cl, byte [esi + 8]
call fcn.10451cc5
dec esp
or al, ch
jg 0x103b3d23
or dword [eax], eax
call fcn.103a50e3
ror edx, 1
sub edx, 0x92a22223
bswap edx
or ecx, ecx
xor ebx, edx
inc ax
add ebp, edx
movzx edx, al
sar dx, 0x42
mov dx, word [edi + ecx - 0x5a39]
div cl
lea edi, [ecx + edi - 0x5a37]
ror eax, cl
xor dx, bx
sub dx, 0xe302
not dx
ror dx, 1
bts ecx, 0x98
and eax, eax
sbb dx, 0x7815
bswap eax
shr ecx, cl
jb 0x104978b4
push es
fdiv qword [edx + edx*4]
test eax, 0xaadcc5d5
cmp ecx, dword [ecx + 0x1d]
jge 0x103b3d3e
stosb byte es:[edi], al
cmp ecx, dword [ecx + 0x55]
adc eax, 0x493baa3c
mov ebp, 0x3baa4c94
dec ecx
dec ebp
test dword [edx + ebp*4 + 0x3b], edi
dec ecx
popfd
in al, 0xcc
stosb byte es:[edi], al
cmp ecx, dword [ecx + 0x4d]
sbb eax, 0x493baa94
mov ch, 0x9c
push ebp
dec esi
adc byte [ecx], al
dec edi
cmpsd dword [esi], dword es:[edi]
shl esi, 1
ror byte [0x16e7cbc7], 1
mov es, word ds:[eax]
fld qword [ecx - 0x161f50bf]
fidivr dword es:[bx + di - 0x14f1]
cmpsb byte [esi], byte es:[edi]
bound esi, qword [ecx + 0x7d]
mul byte [ebx + 0x7d7162d6]
scasd eax, dword es:[edi]
stosd dword es:[edi], eax
push ds
bound esi, qword [ecx + 0x7d]
jbe 0x103b3e10
outsb dx, byte [esi]
bound esi, qword [ecx + 0x7d]
invalid
bound esi, qword [ecx + 0x7d]
in eax, 0x35
wait
lds eax, [edx + 0x42]
inc edx
inc edx
mov edi, 0xf37faa3f
cmp al, byte [esi]
adc ah, ch
pop ebx
jmp 0x103b3e18
jnp 0x103fd54b
jae 0x10468e6b
inc ecx
shr dword [esp + 4], 0x6f
jne 0x103f79b7
xor ebx, eax
inc byte [esp + ecx - 0x303f400]
add esi, eax
mov eax, dword [ecx + ebp - 0x303f400]
ror cl, 0x63
jae 0x103208fe
imul edx, dword [esp + 2]
dec al
xchg byte [esp + edx - 0x4c2a778f], dl
xchg dx, cx
add ecx, edx
not al
xor al, 0xab
ror word [esp + edx - 0x4c2ac222], 0x2c
not al
shl dword [esp + edx - 0x4c2ac226], 0x8c
xor al, 0x2b
call fcn.1038dc05
mov eax, dword [edi]
bts ecx, ecx
lea edx, [ecx*4 + 0x315d216]
push ecx
lea edi, [edx + edi - 0x3b34d456]
neg dword [esp + edx - 0x3b34d45a]
shl ecx, cl
rol edx, 0x65
xor eax, ebx
inc ecx
bswap eax
ror ecx, 0xcb
not eax
ja 0x104949f6
rol edx, 0x87
dec ecx
xor esi, ecx
imul cl
shl word [esp + eax + 0x534a0033], 3
inc ecx
pop ebp
dec eax
lea esi, [esi + edi - 0x30fcbb0f]
dec eax
bswap esi
dec eax
not esi
dec esp
adc dword [esp + eax + 0x534a002e], eax
dec eax
xor esi, 0x60969103
inc ecx
pop ebx
inc ecx
pop edx
dec eax
bswap esi
dec esp
btc edx, ebp
dec esp
xor ecx, esi
jmp 0x10397743
add edx, edx
inc eax
xadd byte [esp + ecx*4 - 0xc090ff], ch
rol eax, 3
sal ecx, 4
jns 0x1043e6e6
sti
bound ebp, qword [edx]
wait
cmp bh, byte [ecx - 0x5cb5ad15]
pop ecx
dec ebx
cmp dh, dl
mov dword [0x62d35965], eax
fisub dword [ebx - 0x3ce4a69b]
cli
mov dword [0x9b7b5965], eax
xor ah, byte [ebx - 0x640ca69b]
bound esp, qword [ebx + 0x12835965]
mov ah, byte [ebx + 0x1a0b5965]
xor eax, 0x3300105c
cmp dword [ecx + 0x17c0b8d8], esp
mov bl, 0xb9
out dx, eax
add byte [eax], al
add byte [eax], al
invalid
neg dx
btr eax, ecx
lea eax, [eax*4 - 0x3e4fa07e]
xor eax, eax
rol dx, 1
lea ecx, [eax + ecx*2 - 0x6f7b0dc9]
xor bx, dx
and eax, eax
bt eax, 0x2d
xadd ecx, eax
sbb esi, 2
not eax
mov word [esi + eax - 0x6f7b0dc8], dx
jmp fcn.10440eae