Function at 0x101a5eed
Capabilities:
Encode data using base64
Execute anti-debugging instructions

Disassembly:
jae 0x100dbb43
jne 0x10162e09
sub eax, eax
jmp 0x10138921
je 0x1013fe31
mov edx, 4
stc
shl edx, 0
cmovle cx, cx
xadd eax, ecx
mov eax, dword [edx + 0x10081004]
bsr dx, di
cmp ebp, eax
bswap dx
not eax
xor eax, 0x9b113e23
bts ecx, eax
jmp 0x100f0ecb
call fcn.100052f7
jmp 0x10177600
inc eax
clc
cmc
lea eax, [eax + eax]
test esi, edi
stc
mov eax, dword [esp + eax]
mov dword [0x1008ee74], eax
cmp esp, esi
xor eax, eax
jmp 0x1014179f
mov ecx, 4
ror dx, cl
dec dx
adc dx, si
imul edx, ecx, 3
or ecx, edi
rcr ch, 3
mov ecx, dword [edx + 0x10081004]
not ecx
test ah, dl
xor eax, ecx
not ch
mov dword [ebp - 0x484], eax
cdq
mov edx, 4
shl edx, 0
mov eax, dword [edx + 0x10081004]
shld ecx, ebp, 0x81
movsx edx, cx
xor cx, bp
not eax
mov edx, ebp
rol ecx, 0x99
sar ecx, 0xb6
xor eax, 0x9b113f98
sbb ch, 0x81
mov edx, 0xaf320d2e
mov ecx, 4
bts dx, si
imul edx, ecx, 3
mov ecx, dword [edx + 0x10081004]
test esp, 0xe2113720
not ecx
test ch, 0xa5
clc
xor eax, ecx
movsx ecx, bx
mov dword [ebp - 0x480], eax
and ax, 0xc3f
xor ax, 0xa484
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x484]
jmp 0x1013d9df
inc eax
clc
stc
add eax, eax
inc eax
cmp sp, sp
add dword [0x1008ee74], eax
mov eax, 0x1007f950
jmp 0x10002a56
inc eax
jmp 0x100e3940
add eax, dword [ebp + 0x38]
jmp 0x1017a97d
mov eax, 4
inc ch
and cx, bp
shl eax, 0
mov ecx, dword [eax + 0x10081004]
movzx eax, dx
adc dx, 0x3925
test si, 0xfe97
not ecx
rcr ax, cl
rol ax, cl
xor ecx, 0x9b113e99
shl al, cl
test dx, si
xchg ah, ah
mov edx, 4
clc
ror ax, 0x88
imul eax, edx, 3
stc
adc dh, ch
movzx edx, dx
mov edx, dword [eax + 0x10081004]
not edx
xor ecx, edx
mov dword [ebp - 0x488], ecx
sbb al, 0x12
bt edx, 0x32
mov eax, dword [ebp + 0x38]
xor eax, dword [ebp + 0x38]
sbb dx, 0x24bf
mov ecx, dword [ebp + 0x38]
sub ecx, dword [ebp - 0x488]
rcl dh, 0x2d
shrd edx, ecx, 0x2d
mov edx, dword [ebp - 0x44]
stc
test ch, 0x3e
mov byte [edx + ecx], al
mov eax, dword [ebp - 0x488]
test edi, edi
rol ecx, cl
ror cx, 0x25
xor eax, dword [ebp - 0x488]
mov dword [ebp - 0x488], eax
cmc
btr edx, 0x88
mov ecx, dword [ebp + 0x38]
movsx eax, di
shrd dx, dx, 0x37
bsf edx, edx
xor ecx, dword [ebp + 0x38]
cdq
sal ah, 0x8a
mov dword [ebp + 0x38], ecx
test esp, eax
movzx ecx, dx
inc ah
mov edx, dword [ebp - 0x44]
jmp 0x1005515c
inc eax
jmp 0x100fbc84
xor eax, eax
stc
sal ah, 0x12
mov eax, ebp
inc ebp
or bp, 0xeb03
push eax
mov eax, esp
bsf ebp, edx
cmc
dec ebp
mov ebp, eax
mov eax, dword [0x1008ee74]
cmp sp, 0xea33
xor eax, dword [0x1008e8e4]
jmp 0x1007edbe
mov dl, byte [ebp - 0x6c0]
mov byte [ebp - 0x96], dl
neg ax
mov ch, cl
mov eax, dword [ebp - 0x47c]
ror ecx, 0x84
bts cx, bx
xor eax, dword [ebp - 0x47c]
mov ecx, 0xecb08581
bsf ecx, edx
sbb cl, 0xaa
mov dword [ebp - 0x47c], eax
bswap cx
movzx ecx, byte [ebp - 0x96]
cmp esi, ebp
stc
test ecx, ecx
jmp 0x100d864e
xor edx, edx
div dword [ebp - 0x480]
mov eax, dword [ebp + 0x38]
clc
movsx ecx, byte [ecx + eax]
xor ecx, edx
or dh, 0xb0
inc eax
add ax, bx
mov edx, dword [ebp - 0x44]
xchg al, ah
mov eax, dword [ebp + 0x38]
test ax, dx
stc
jmp 0x10055a24
push ebp
jl 0x101a5eee
jbe 0x101a5efc
mov ebp, edi
mov edi, dword [esp + ebp - 0x7632b5b3]
mov dword [esp + 0xc], 0x89759865
mov ebp, dword [esp + ebp - 0x7632b5bf]
jge 0x100c46ec