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

Disassembly:
xor ecx, ebx
inc edx
lea ecx, [ecx + edx*8 + 0x4e2606f7]
cbw
xor ecx, 0x1da6b9a4
not ecx
cbw
sar ax, 5
xchg edx, eax
adc ecx, 0xcc2246b9
or eax, eax
neg dl
imul dx, dx
bswap ecx
setae dl
idiv al
lea eax, [eax*8 + 0x58a4ec83]
xor ebx, ecx
lea edx, [eax*2 - 0x57fa7a66]
btr edx, eax
push edx
add esi, ecx
neg eax
pop eax
js fcn.00caa7a7
add byte [eax], al
add byte [ebp + 0x6d], al
jo 0x995c46
jns 0x995c17
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add byte [ecx + 0x37482ef2], al
lds edx, [ebx]
invalid
adc ah, bh
aas
and bl, byte [edx - 0x7e4f6447]
inc esp
inc ecx
movzx edx, ax
dec edx
lea edi, [edx + ebp*8 + 0x47169891]
call fcn.00d15dd2
add byte [eax], al
add byte [ebx + 0x72], al
popal
je 0x995cc5
inc esi
imul ebp, dword [ebp + 0x41], 0xad0f6600
shl byte [esi - 0x77], 1
push es
mov edx, 0x209c041c
pop ecx
add ecx, 0xfff33aa6
jmp ecx
out 0x41, eax
ror eax, 3
push ebp
inc edi
lea eax, [eax + esi*4 + 0x7730a751]
push edx
inc edx
movzx ecx, word [esp + esi - 3]
ror bl, 0x46
inc ecx
ror eax, 3
dec eax
bswap eax
inc ecx
bswap eax
inc ecx
bts esp, 0x3e
dec edx
mov dword [esp + esi*8 - 0x60], esi
inc ecx
sal bh, 0xc4
dec eax
idiv edi
neg ax
inc esi
xor dword [esp + esi + 9], eax
dec edx
mov esi, dword [esp + esi + 9]
inc cx
shr esp, 0x4a
inc ecx
bts ebp, ebx
inc ecx
bt ebp, 7
dec ebp
arpl ax, ax
dec ebp
adc ecx, eax
dec edi
mov edx, dword [esi + edx - 7]
dec esi
lea eax, [edx + 0x493abd00]
inc ecx
sub ah, 0x2e
pop eax
inc ecx
pop edi
inc ecx
pop esp
pop eax
jbe fcn.0098d067
mov eax, 0xe502ee89
dec esp
lea ebp, [eax*2 + 0x543b1a2a]
inc ebp
mov esp, dword [ebx]
dec ecx
add ebx, 4
dec esi
lea esi, [ebp*2 - 0x40c71ad4]
jmp 0xc8b2af
inc ecx
movsx ebx, dh
inc esp
xor esp, esi
inc ecx
dec ch
movsx edi, bl
inc ecx
ror esp, 1
mov ebp, 0x2e26842f
inc eax
shr bh, 0xa1
inc ebp
lea esp, [esp + ebp - 0x271c4080]
inc ebp
btr ebp, esi
inc eax
movsx edx, bh
inc ecx
neg esp
inc ebp
mov edi, ebp
inc ecx
rol esp, 1
inc ecx
shr ebp, 0xa9
mul ebp
inc ebp
movzx eax, bh
push esi
dec eax
bt edi, 0x94
inc esi
xor dword [esp + ebp - 0xf207b], esp
bts ebx, ebp
movzx esi, bp
pop esi
dec eax
imul edi
dec ebp
arpl sp, sp
dec ebp
add ecx, esp
inc cx
rol edi, 0x4b
sub eax, eax
inc edi
movzx esp, byte [ebx + ebp*2 - 0x1e40f6]
btr ebx, eax
inc ebp
sub ebp, ebp
dec edi
lea ebx, [ebp + ebx + 1]
inc esp
xor ah, dh
or di, 0x330e
dec eax
sal eax, 0xa8
cdq
inc ecx
neg ah
inc esp
or dh, bl
inc ecx
not ah
inc ecx
adc ah, 0x8f
dec ecx
inc ebp
cbw
imul bx, di
inc ecx
not ah
movzx ecx, dx
inc ecx
xor dh, ah
dec eax
add ecx, ebp
dec esp
adc esp, esp
inc esi
mov ebp, dword [eax]
inc ecx
push esi
pop edi
dec eax
dec edx
dec ebp
lea edx, [edx + eax*2 - 4]
inc esi
mov dword [eax + edx], ebp
cwd
jne fcn.0098d067
mov dword [esp], edi
push esi
mov esi, 0xb6a2ecb0
pushfd
push esi
neg dword [esp]
xor esi, 0x86082f2c
mov esi, edx
jno 0xd8c990
mov edi, eax
call fcn.00cdb367
mov edx, 0x8ab4109c
or dx, dx
lea eax, [edx + edx*8 - 0x66f1f167]
mov ecx, ebp
sets dl
not edx
setge dl
lea ebp, [ebp + eax - 0x7962a417]
cdq
shl eax, 0x84
mov word [ebp + edx], cx
mov ecx, eax
mov ecx, dword [edi + edx*4]
mul edx
lea edi, [edi + edx*4 + 4]
and edx, 0x6f0b5f90
inc edx
jge 0x995b7c