Function at 0x1002ab20
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10039fd8
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x10043330]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10043330]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], eax
mov byte [esp + 0x3c], al
mov dword [esp + 0x68], eax
mov byte [esp + 0x54], al
mov dword [esp + 0x55], eax
mov eax, 0xaaaaaaab
mul ecx
mov esi, edx
shr esi, 1
lea eax, [esi + esi*2]
sub ecx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
lea edi, [esi*4]
je 0x1002abca
lea edi, [esi*4 + 4]
push 4
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
call ebp
test eax, eax
je 0x1002abee
cmp dword [esp + 0x50], 0x10
jb 0x1002ada7
mov ecx, dword [esp + 0x3c]
push ecx
jmp 0x1002ad9f
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
cmp eax, edi
jb 0x1002ad8d
push eax
mov eax, dword [esp + 0x1c]
push eax
call ebp
test eax, eax
jne 0x1002ad8d
test esi, esi
jbe 0x1002ac9c
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x20], esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x58], al
jmp 0x1002ac30
movzx edx, byte [eax + ebp]
mov ecx, 3
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
shl edx, cl
add eax, 1
add edi, edx
cmp eax, 3
jl 0x1002ac30
xor esi, esi
xor edx, edx
mov ecx, 0x1a
sub ecx, edx
mov eax, edi
shr eax, cl
add edx, 6
add esi, 1
and eax, 0x3f
cmp edx, 0x18
mov al, byte [ebx + eax]
mov byte [esp + esi + 0x53], al
jl 0x1002ac51
lea eax, [esp + 0x54]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1002ac78
sub eax, edx
push eax
lea ecx, [esp + 0x58]
push ecx
lea eax, [esp + 0x40]
call fcn.10015ee0
add ebp, 3
sub dword [esp + 0x20], 1
jne 0x1002ac1c
mov esi, dword [esp + 0x1c]
xor eax, eax
xor edi, edi
test esi, esi
mov dword [esp + 0x54], eax
mov byte [esp + 0x58], al
jbe 0x1002ad2e
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add edx, ecx
lea ebx, [ebx]
movzx ebx, byte [edx + eax]
mov ecx, 3
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
shl ebx, cl
add eax, 1
add edi, ebx
cmp eax, esi
jb 0x1002acc0
test esi, esi
jbe 0x1002ad2e
xor edx, edx
xor esi, esi
mov bl, 0x3d
mov ecx, 0x1a
sub ecx, esi
mov eax, edi
shr eax, cl
and eax, 0x3f
jne 0x1002ad18
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x1002ad09
cmp edx, ecx
jle 0x1002ad18
mov byte [esp + edx + 0x54], bl
jmp 0x1002ad23
cmp ecx, 2
jne 0x1002ad18
cmp edx, ecx
jle 0x1002ad18
mov byte [esp + edx + 0x54], bl
jmp 0x1002ad23
mov ecx, dword [esp + 0x30]
mov al, byte [ecx + eax]
mov byte [esp + edx + 0x54], al
add esi, 6
add edx, 1
cmp esi, 0x18
jl 0x1002ace6
lea eax, [esp + 0x54]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1002ad35
sub eax, edx
push eax
lea ecx, [esp + 0x58]
push ecx
lea eax, [esp + 0x40]
call fcn.10015ee0
mov edi, dword [esp + 0x50]
cmp edi, 0x10
mov ebp, dword [esp + 0x3c]
mov eax, ebp
jae 0x1002ad62
lea eax, [esp + 0x3c]
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
push esi
push eax
push edx
call fcn.100304b0
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp edi, 0x10
mov dword [eax], esi
jb 0x1002ad89
push ebp
call fcn.1002b322
add esp, 4
mov al, 1
jmp 0x1002ada9
cmp dword [esp + 0x50], 0x10
mov ecx, dword [esp + 0x14]
mov dword [ecx], edi
jb 0x1002ada7
mov edx, dword [esp + 0x3c]
push edx
call fcn.1002b322
add esp, 4
xor al, al
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.1002b6af
add esp, 0x58
ret 0x18