Function at 0x100018b0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
mov ecx, 0x10
mov esi, 0x10045e20
lea edi, [ebp - 0x44]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 8]
add esi, 0xfffffffe
xor ecx, ecx
test esi, esi
jle 0x10001942
jmp 0x100018e0
movzx edi, byte [edx + ecx]
shr edi, 2
movzx ebx, byte [ebp + edi - 0x44]
mov byte [eax], bl
movsx edi, byte [edx + ecx]
movzx ebx, byte [edx + ecx + 1]
and edi, 3
shr ebx, 4
shl edi, 4
or edi, ebx
movzx ebx, byte [ebp + edi - 0x44]
mov byte [eax + 1], bl
movsx ebx, byte [edx + ecx + 1]
movzx edi, byte [edx + ecx + 2]
and ebx, 0xf
add ebx, ebx
shr edi, 6
add ebx, ebx
or edi, ebx
movzx ebx, byte [ebp + edi - 0x44]
mov byte [eax + 2], bl
movsx edi, byte [edx + ecx + 2]
and edi, 0x3f
movzx ebx, byte [ebp + edi - 0x44]
mov byte [eax + 3], bl
add ecx, 3
add eax, 4
cmp ecx, esi
jl 0x100018e0
cmp ecx, dword [ebp + 8]
jge 0x100019be
movzx esi, byte [ecx + edx]
shr esi, 2
mov bl, byte [ebp + esi - 0x44]
mov esi, dword [ebp + 8]
dec esi
mov byte [eax], bl
cmp ecx, esi
jne 0x10001981
movsx ecx, byte [ecx + edx]
and ecx, 3
add ecx, ecx
mov dl, byte [ebp + ecx*8 - 0x44]
mov byte [eax + 1], dl
pop edi
mov byte [eax + 2], 0x3d
add eax, 3
pop esi
mov word [eax], 0x3d
pop ebx
mov esp, ebp
pop ebp
ret 4
lea esi, [ecx + edx + 1]
movsx ecx, byte [ecx + edx]
movzx edx, byte [esi]
and ecx, 3
shl ecx, 4
shr edx, 4
or ecx, edx
movzx ecx, byte [ebp + ecx - 0x44]
mov byte [eax + 1], cl
movsx edx, byte [esi]
and edx, 0xf
movzx ecx, byte [ebp + edx*4 - 0x44]
pop edi
mov byte [eax + 2], cl
add eax, 3
pop esi
mov word [eax], 0x3d
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov byte [eax], 0
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x10001a40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
sub esp, 8
cmp ecx, dword [esi + 4]
jae 0x10001a6a
mov eax, ecx
mov edx, dword [esi]
mov dword [edx + eax*4], 0
inc eax
cmp eax, dword [esi + 4]
jb 0x10001a50
mov dword [esi + 4], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret 4
push ebx
mov ebx, dword [esi + 8]
cmp ebx, ecx
jae 0x10001afa
lea eax, [ecx*4]
push edi
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov edi, dword [esi]
add esp, 4
mov dword [ebp - 8], eax
test eax, eax
jne 0x10001ab9
test ebx, ebx
je 0x10001a9f
dec ebx
mov dword [edi + ebx*4], 0
jne 0x10001a95
mov ecx, dword [edi]
mov dword [ebp + 8], ecx
mov edx, dword [ebp + 8]
push edi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
push 1
call dword [sym.imp.MSVCRT.dll_exit]
lea ecx, [ebx*4]
push ecx
push edi
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
test ebx, ebx
je 0x10001ada
nop
dec ebx
mov dword [edi + ebx*4], 0
jne 0x10001ad0
mov edx, dword [edi]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push edi
call dword [sym.imp.MSVCRT.dll_free]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 8]
add esp, 4
mov dword [esi], ecx
mov dword [esi + 8], edx
mov ecx, edx
pop edi
mov eax, dword [esi + 4]
pop ebx
cmp eax, ecx
jae 0x10001b10
mov edx, dword [esi]
mov dword [edx + eax*4], 0
inc eax
cmp eax, ecx
jb 0x10001b02
xor eax, eax
mov esp, ebp
pop ebp
ret 4