Function at 0xfeead3
Capabilities:
Encode data using base64
Encrypt data using chaskey
Execute anti-debugging instructions
Parse pe header

Disassembly:
and esi, 0xff
jmp 0x11f7e19
jne 0x104d31e
mov dword [esp + 4], 0x94a7ecb7
dec ecx
lea esp, [esp + 0x18]
jne 0x18de496
mov esi, 0x613ea9a8
movzx ecx, si
pop esi
not eax
mov ecx, 0xb2b1108b
movsx edx, cx
lea edx, [ecx*8 + 0x701c8a03]
mov dword [edx + ebp - 0x5a50e57], eax
movzx eax, dl
rol edx, cl
rol eax, cl
mov ecx, dword [esi + eax*4 - 0xb6004]
xor dx, 0x4b04
xor ecx, ebx
inc ax
sar eax, 0x58
not ecx
or edx, eax
dec dl
ror ecx, 3
bswap edx
or edx, edx
add dl, ah
lea ecx, [ecx + edx + 0x6410ec6b]
rol ecx, 2
inc ecx
rol dl, 0xa7
not dl
ror ecx, 3
or edx, eax
shr eax, 0x99
not ecx
ror dl, 0x61
lea ecx, [ecx + edx + 0x7e0e6d8b]
inc edx
bswap eax
not ecx
cbw
xor ebx, ecx
add edi, ecx
movzx ecx, byte [edx + esi - 0x289372fb]
bt edx, edx
cwde
lea esi, [esi + edx - 0x289372fb]
sar eax, 0x6c
mul eax
imul dx, ax
xor cl, bl
neg edx
dec edx
inc dx
not cl
btc ax, ax
or edx, eax
neg cl
xor cl, 0xb0
cwde
add cl, dl
xor bl, cl
cbw
ror dl, 0x21
add ecx, esp
xchg dh, al
btr eax, 0x32
adc eax, dword [ecx + eax*2]
ror edx, 0xa1
jae 0x1924eed
dec eax
cwde
not ecx
dec ecx
or ebp, eax
or edx, ecx
inc ebx
mov dword [eax + ebx - 0x11281779], edx
dec ecx
bswap edi
dec edi
lea ebx, [eax + ebx - 0x11281779]
dec eax
not ebx
inc ecx
movsx edx, sp
btr di, bp
inc edx
mov eax, dword [ebx + ebp + 0x4dd0b198]
inc di
dec ebp
lea ebp, [ebp + edi - 0x5842c605]
call fcn.00fe2b1c
push ecx
pop esp
add ah, byte [ecx + 0x314a5fee]
or ebp, dword [eax - 0x67f05e4c]
mov ebp, 0x63c12ecf
and byte [edx - 0x25ccb57b], 0xf7
rol dword [ecx + 3], 1
cli
movsx edx, cx
mul eax
dec eax
mov eax, dword [ebp + eax*2 - 0x18480]
sal edx, 0x41
btc ecx, ecx
setb cl
mov ecx, dword [ebp + 4]
sbb edx, edx
call fcn.01237040
add edi, ecx
movzx ecx, ax
mov eax, dword [ebp + edx - 1]
pop edx
neg cl
lea edx, [edx*4 - 0x67e994da]
mov cl, byte [ebp + ecx*2 - 0x1fa]
sar dx, 0xc4
lea edx, [edx*4 + 0x5a824f1e]
adc ebp, 1
shr dl, 0x41
call fcn.0122379f
xor bl, al
mov dword [esp + 4], 0x12ae1da4
mov dword [esp + 4], esi
mov edx, 0x48b86d20
mov dword [esp + edx - 0x48b86d20], edi
bt edx, edx
ror dx, 0xa1
jno 0x192e111
mov edx, 0x1fa4ec16
lea eax, [edx + 0x382d799a]
dec dx
lea esi, [edx + esi - 0x1fa4ec19]
and edx, edx
mov eax, dword [eax + esi - 0x57d265b0]
movsx ecx, dx
not cx
xor eax, ebx
sar cx, cl
btc edx, ecx
btc dx, cx
not eax
bswap eax
push edx
jae 0x123ad13
mov eax, 0xd51647ba
inc bp
mov ecx, dword [ebx]
dec eax
lea ebx, [eax*4 + 0x48339cb6]
inc ecx
mov cl, byte [ebx + 2]
dec eax
dec ebx
not al
dec ecx
add ebx, 2
movsx edi, bx
cwde
inc cx
shr ecx, cl
jmp 0x18d3b34
call fcn.01015239
add eax, edx
mov dword [ebp - 4], eax
test ebx, ebx
not byte [esp + 3]
lea esp, [esp + 4]
je 0x193c90a
sal byte [esp + 2], 0x22
rol dword [esp], 0xbf
mov esi, dword [esi*4 + 0xfe3318]
rol word [esp + 2], 0xc3
dec dword [esp]
shr eax, 8
push 0xb2aa85a7
xor eax, esi
neg word [esp + 5]
jg 0x1008598
call fcn.01003381
neg eax
xor eax, 0x6daf750c
not dword [esp + edx*2 - 0x3f49d82a]
btr edx, 0x80
xor ebx, eax
btc cx, dx
sub byte [esp + edx*2 - 0x3f49d827], 0x8c
add edi, eax
movsx eax, dl
dec cl
add al, byte [esp + edx - 0x1fa4ec13]
mov dx, word [ebp + edx*2 - 0x3f49d828]
mov cx, word [ebp + eax - 0x99]
jae 0xfdaf41
dec edx
lea edx, [eax*4 - 0x4f76b1f5]
inc ebp
movsx edx, ax
ror bl, 1
dec ecx
lea edx, [edx + edx - 0x6f439adc]
inc ecx
push eax
dec bl
inc ecx
add dl, dl
inc esp
adc dword [esp + 2], eax
inc ecx
movsx edi, dl
xor bl, 0x11
inc ecx
rol eax, 0x39
inc esp
xor dh, bl
inc ebp
movsx esp, dx
inc ebp
movzx ecx, dl
dec eax
lea ebx, [esp + ebx + 8]
inc ecx
movzx eax, cl
dec eax
lea ebp, [edi*4 - 0x57d61d4c]
inc dx
sar dword [esp + ecx - 0xae], 0x2a
inc si
movzx esp, byte [ebx + ecx*4 - 0x2c4]
dec ecx
sub ebp, ecx
inc bp
mov edi, esp
inc cx
and edx, ecx
inc edx
or dword [esp + eax - 0x632d1fc4], 0x6597cd0c
inc bp
movzx edi, bh
inc sp
and ecx, edi
dec eax
rol edx, 0xfb
inc ecx
movsx ebx, dl
inc ebx
mov cl, byte [eax + ebx - 0x632d1fc5]
dec eax
lea eax, [edi*4 - 0x162b85f]
inc esi
add ecx, dword [esp + ecx - 0xaf]
inc ecx
shr bh, cl
inc ecx
sar al, 0x64
inc edx
sbb dword [esp + eax - 0x632d1ffb], ebx
inc di
mov dword [ebx + eax - 0x632d1ffc], edi
inc ecx
btr ecx, ebp
inc ecx
setb al
inc edi
mov edi, dword [ebp + eax - 0x632d1f05]
dec eax
cwde
cdq
dec eax
ror ebp, 0xb1
dec edi
lea ebp, [eax + ebp - 0x632d1f05]
or ax, bp
dec edx
div dword [esp + eax - 0x632d1f00]
inc eax
and bh, dl
inc ebp
xor edi, esi
dec eax
cdq
call fcn.018ed3db
dec ecx
sub ebp, 4
inc ebp
mov ecx, dword [ebp]
mov ebp, 0xf0bcfd84
inc ebp
xor ecx, esi
dec esp
lea edi, [ebp + ebp*4 + 0x5a0ec084]
inc esp
bt ebp, edi
inc ecx
ror ecx, 3
inc ecx
inc ecx
inc ecx
xor ecx, 0x2a01f2a5
mov edx, ebp
jmp 0x18cf7a0
dec ebx
lea ebx, [edi + edi + 0x28ce532]
inc ecx
neg ecx
dec ecx
and ebp, edi
dec eax
xadd ebx, edx
inc ecx
push esi
movzx ecx, bp
inc esp
movsx edx, bp
inc esp
xor dword [esp + ebp*2 - 0x1796800], ecx
inc esp
movsx esp, dx
dec esp
imul edi, ecx
inc ecx
mov esi, 0x29033aa7
inc ecx
pop esi
dec ecx
or edx, 0xc7002a3c
dec ebp
arpl cx, cx
dec ecx
adc esi, ecx
inc cx
sal esp, 0x67
inc bp
bts edi, edx
call fcn.0196e8ff
dec edi
inc ebx
or dh, byte [edx + 0x2d5143ee]
sbb al, 0x92
xchg ebp, eax
mov bh, 0x32
xchg ecx, eax
mov cl, 0xc3
cmp ecx, esi
add byte [esi + 0x43], ah
inc bx
inc ax
inc esp
movzx esp, bh
inc bp
mov dword [ebx + eax*2 - 0x8e8c], ecx
btc bx, bx
dec edi
lea ebp, [ebp - 0x13e]
dec bl
dec eax
cdq
inc ecx
and bh, ah
inc ecx
mov ebx, dword [ebp + eax*2 - 0x8e8c]
push eax
inc ecx
xor ebx, esi
jmp 0x120614e
movzx esi, byte [edx]
push 0x32bc78a3
xor esi, eax
jmp 0xf94091
push ebx
mov ebx, edx
shl edx, 0xae
sub ebx, edx
mov ebx, eax
movsx eax, dx
sar dl, 0x61
imul ax, ax
mov edx, ebx
rol al, 0x81
sbb eax, 0xe4173999
add eax, eax
shl edx, 2
xor ax, ax
sub eax, eax
btc eax, 0x26
mov eax, ebp
push 0x6d36ae35
shl word [esp], 0x26
jb 0x101666a