Function at 0x837ad3
Capabilities:
Encode data using base64
Encrypt data using aes mixcolumns step
Parse pe header

Disassembly:
call fcn.0097db5a
lea ecx, [edx*8 - 0x7942a5ef]
not eax
xor eax, 0xd721e735
bswap ecx
shr edx, 0xd8
xor ebx, eax
inc dx
xor ecx, edx
adc edi, eax
movsx eax, cx
jmp edi
rol eax, 3
not eax
xor ebx, eax
dec edx
imul cx, dx
adc ebp, eax
rol dx, 0x28
adc cl, byte [edi + ecx*4]
add edi, 1
xor cl, bl
call fcn.0082a0d7
mov edx, 0x4fb5b81d
mov ecx, dword [esi + edx - 0x4fb5b81d]
mov dx, word [esi + edx - 0x4fb5b819]
mov eax, 0x4199de27
lea esi, [esi + eax - 0x4199de21]
lea eax, [eax + eax - 0x45644072]
mov word ss:[ecx + eax*2 - 0x7b9ef7b8], dx
mov ecx, eax
mov edx, ecx
lea ebp, [ebp + eax*2 - 0x7b9ef7bc]
mov ecx, dword [eax + ebp - 0x3dcf7bdc]
xor edx, edx
xadd dl, dh
adc edx, 0xdb139b15
xor ecx, ebx
shl dx, 7
sal edx, 0x2b
xor ecx, 0x7695c30b
shr eax, 0x47
lea ecx, [ecx + edx + 0x41d03f2d]
xor ecx, 0xee249423
bswap ecx
push eax
xor eax, edx
call fcn.007dbbe1
mov eax, 0x800cd42a
lea eax, [eax + 0x31ae2e8a]
movsx edx, ax
lea ebp, [ebp + edx*2 - 0x56c]
lea ecx, [edx + eax*2 - 0x10c3086f]
dec al
not ecx
mov eax, dword [edx + ebp - 0x2b4]
btr cx, cx
jb 0x950e9e
push ecx
xor eax, ebx
inc eax
bswap eax
pop edx
neg eax
not ecx
rol cx, cl
not eax
shr dl, 0xc4
adc ecx, ecx
xor cx, cx
xor ebx, eax
push edx
jmp 0x97ddb2
sar cl, 0x41
neg eax
bts edx, ecx
sbb cx, cx
ror eax, 2
lea eax, [eax + ecx*4 + 0x36166690]
btr ecx, edx
btr edx, 0xa7
xor ebx, eax
add esi, eax
xchg dh, dl
lea eax, [edx + edx - 0x186091d7]
dec al
jmp esi
and cx, cx
mov edx, ecx
sbb ebp, 2
add edx, ecx
pop ecx
not dl
mov word [ebp], ax
btc dx, 0x21
shr dl, 0x62
mov ecx, edx
mov eax, dword [esi]
sub dx, dx
and edx, ecx
dec dl
adc esi, 4
xor edx, 0xa4814491
jb 0x99909e
xor eax, ebx
or cx, 0x3b29
jle 0xcb27cf
mov eax, 0x862d64b5
sal ax, 0xa1
sbb ebp, 4
movzx edx, al
cdq
mov eax, dword [ebp]
imul edx, edx
xor eax, ebx
xor eax, 0x3bb404b5
add eax, 0xd319d20e
sub edx, edx
xor eax, 0x9b8459ab
ror eax, 1
xor ebx, eax
btc dx, dx
adc esi, eax
sar edx, 0xcb
lea eax, [edx*4 + 0x5c18858f]
lea ebp, [ebp + edx - 1]
shl al, 0x42
js 0x7dd231
bts ax, dx
xor dl, byte [ebp + edx]
xor dl, bl
or al, 0xa
lea eax, [eax - 0x7a671d4f]
add ax, 0xd2bf
neg dl
bswap eax
not dl
or eax, eax
sub eax, 0x2e8ed426
sbb dl, 0x1a
bts ax, ax
neg dl
inc ax
xor bl, dl
xor eax, eax
push ebp
bt eax, eax
xchg ah, al
rol eax, 0xe1
push esi
movsx ebp, ax
setno al
shr ebp, 0xd5
push ebx
movsx ebx, al
or ebp, edi
sar bl, 0x84
rol ebx, 0xc3
sub ebx, ebx
or ebx, edx
add eax, eax
mov edx, ebx
bt eax, 0x23
shl edx, 2
cwde
and ax, 0xe7ac
jnp 0x820eae
xor eax, ebp
call fcn.008c765f
fidivr dword [edi - 0xe9b6b4e]
out dx, eax
push esp
fisttp word [edx + eax*4]
inc edi
ficomp dword [edi + 0x7ff3820c]
pop eax
test dword [edx + eax*4], 0xd744fbf3
or al, 0x82
add esp, dword [esi - 0x21]
or al, 0x82
adc ebp, dword [esi]
xchg dword [edx + eax*4], ecx
add esi, dword [eax - 0x39]
or al, 0x82
call 0x8a35bc2d
xchg byte [bx + di], dl
mov ecx, 0xbf62e8c
jge 0x837c1b
inc eax
dec edx
js 0x82b50b
ror bx, 1
inc bx
inc si
xchg dword [esp + eax - 0x5906d188], esi
ror bx, 1
movzx ecx, ax
inc sp
xor esp, ebx
inc ecx
pop edi
dec edx
lea edi, [edi + eax - 0x5906d18e]
inc bp
bts ecx, ebp
shr ax, 0x4f
inc cx
mov dword [eax + edi - 0x5906d18c], ebx
push eax
inc ecx
pop esi
jns fcn.008c5046
xor ecx, ebx
push 0xe7873a92
dec word [esp + 0xe]
cmp al, byte [edi + 0x4cff66e7]
and al, 0xe
add ecx, 0x8a3482a8
mov dword [esp + 8], 0x1baf7281
sar word [esp + 0xe], 0x2f
sbb esp, dword [esi - 0x3f]
jl 0x8a5a89
push cs
das
xor ecx, 0x2b3e23af
call fcn.007c3ece
push edx
sal dword [esi - 0x27], 0x19
pop di
xor dword [esi + esi + 0x35a091c8], edi
cwde
jle 0x8a5a4b
xchg ecx, eax
mov al, byte [0xc876f677]
xchg ecx, eax
mov al, byte [0xa0bc09bd]
jecxz 0x8a5a60
int1
sbb ecx, dword [edi]
inc ebx
sbb dword [ebx + 0x21bb749b], edx
push cs
sahf
mov al, byte [0xc017ef72]
push eax
pop edi
salc
mov byte [0x7aed876a], al
arpl word [esi], si
fstp dword [eax + 0xa]
aam 0xa0
pushal
sar byte [esi - 0x4c], 1
stosd dword es:[edi], eax
imul ecx, dword [eax - 0x51], 0xffffffa0
or dword [ecx - 0x59], ecx
out dx, eax
cmp eax, 0x53990956
xchg edi, eax
mov cl, 0x8f
or dh, byte [edx + 0x4b]
xchg dword [ecx - 0x1c46f571], esi
ret
jmp 0xa37095
lea edi, [edi + eax*8 - 0x700817fc]
sets al
xor ecx, ebx
neg word [esp + eax*2 - 0x1c020600]
neg ecx
sub dl, al
xchg dword [esp + eax*4 - 0x38040c00], edx
ror edx, 0xd2
inc ecx
bswap ecx
mov word [esp + eax*8 - 0x70081800], 0xb8b3
neg ecx
xor ebx, ecx
cdq
add ebp, ecx
sar word [esp + edx], 0xc9
pop edx
jae fcn.007194ad
add esi, eax
call fcn.009866ea
rol dword [esp + 2], 0xb1
jb 0x8a5a01
mov esi, dword [esi*4 + 0x7741f4]
not dword [esp + 2]
shr ecx, 8
xor ecx, esi
rol dword [esp + 4], 0x62
shr dword [esp + 2], 0xee
dec byte [esp + 6]
inc edx
rol dword [esp + 4], 0xce
xor ecx, 0xdb89e503
add word [esp + 4], 0x2720
dec eax
call fcn.0071bc3b
ror eax, 3
btr ecx, edx
cmovae edx, ecx
lea eax, [edx + eax - 0x32209efa]
and cx, cx
sbb edx, ecx
bswap eax
push edx
shr ecx, cl
not dl
rol eax, 3
call fcn.00cac25f
mov ecx, dword [edi]
mov edx, 0xe415c403
add edi, 4
xor ecx, ebx
sub ecx, 0x6b17f828
mov eax, edx
push eax
bswap ecx
dec eax
not ecx
shr eax, 0x24
sub dword [esp + eax*4 - 0x39057100], 0xcf175a03
ror ecx, 2
rol dword [esp + eax*2 - 0x1c82b880], 0xca
adc al, al
and eax, 0x5e2f0114
xor ebx, ecx
sar ax, 0xc3
lea esi, [esi + eax - 0xe010004]
xadd dl, ah
mov dword [esi + eax - 0xe010300], ecx
mov ecx, dword [edi + eax*4 - 0x38040c00]
jne 0xa09c1e
mov ecx, 0x6636a90c
mov eax, dword [edi + ecx - 0x6636a90c]
shl ecx, 0x12
imul cx, cx
adc edi, 4
movzx edx, cx
sal ecx, 0x48
not edx
xor eax, ebx
rol dl, 0x26
neg eax
sub eax, edx
bswap eax
sub cl, 0xb0
neg eax
xadd edx, ecx
inc dl
xor ebx, eax
lea ecx, [edx - 0x2976974c]
shl ecx, 0xf2
add ebp, eax
mov eax, dword [edi + edx*2 - 0x600000a0]
lea edi, [edx + edi - 0x3000004c]
lea ecx, [ecx*2 + 0x3a01117]
xor eax, ebx
btr ecx, ecx
and cx, 0x62a4
sbb eax, 0x6b17f828
bswap eax
not eax
imul ecx, ecx
ror eax, 2
xor ebx, eax
bswap ecx
and edx, 0x7d86f5bf
neg dx
lea esi, [esi + edx*2 - 0x6001ffe4]
mov dword [esi + ecx*2 - 0x200000b4], eax
lea eax, [edx + edx*8 + 0x550d8ea6]
sar ecx, cl
sete cl
jns fcn.007194ad