Function at 0x10015970
Capabilities:
Contain obfuscated stackstrings
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cc129
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [0x100e7260]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x51], 0x53525150
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov dword [ebp - 0x5e], 0x46454443
mov word [ebp - 0x44], 0x6463
mov dword [ebp - 0x57], 0x4d4c4b4a
mov word [ebp - 0x4d], 0x5554
mov dword [ebp - 0x36], 0x74737271
mov dword [ebp - 0x2a], 0x35343332
mov word [ebp - 0x21], 0x2f
mov dword [ebp - 0x32], 0x78777675
mov dword [ebp - 0x3a], 0x706f6e6d
mov word [ebp - 0x41], 0x6766
mov word [ebp - 0x47], 0x615a
mov dword [ebp - 0x26], 0x39383736
mov word [ebp - 0x4a], 0x5857
mov byte [ebp - 0x22], 0x2b
mov dword [ebp - 0x3e], 0x6c6b6a69
mov word [ebp - 0x60], 0x4241
mov dword [ebp - 0x2e], 0x31307a79
mov word [ebp - 0x59], 0x4948
mov byte [ebp - 0x48], 0x59
mov byte [ebp - 0x45], 0x62
mov word [ebp - 0x53], 0x4f4e
mov byte [ebp - 0x42], 0x65
mov byte [ebp - 0x3f], 0x68
mov byte [ebp - 0x4b], 0x56
mov byte [ebp - 0x5a], 0x47
mov byte [edi], 0
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 4], 0
mov dword [ebp - 0x64], 1
test eax, eax
je 0x10015cf8
mov ecx, dword [ebp + 0xc]
lea esp, [esp]
dec eax
mov dword [ebp + 0x10], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp + ebx - 0x14], al
inc ebx
mov ah, byte [ebp - 0x12]
mov dl, byte [ebp - 0x13]
mov dh, byte [ebp - 0x14]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0xd], ah
mov byte [ebp - 0x1a], dl
mov byte [ebp - 0x19], dh
cmp ebx, 3
jne 0x10015b64
mov al, dh
mov cl, dh
shr al, 2
and cl, 3
mov byte [ebp - 0x18], al
mov al, dl
shl cl, 4
shr al, 4
add cl, al
mov al, ah
mov byte [ebp - 0x17], cl
mov cl, dl
and cl, 0xf
shr al, 6
shl cl, 2
add cl, al
mov al, ah
and al, 0x3f
mov byte [ebp - 0x16], cl
mov byte [ebp - 0x15], al
xor ebx, ebx
nop
movzx eax, byte [ebp + ebx - 0x18]
mov ecx, dword [edi + 0x10]
mov dl, byte [ebp + eax - 0x60]
or eax, 0xffffffff
sub eax, ecx
mov byte [ebp - 0x1b], dl
cmp eax, 1
jbe 0x10015b99
lea esi, [ecx + 1]
cmp esi, 0xfffffffe
ja 0x10015b99
mov eax, dword [edi + 0x14]
cmp eax, esi
jae 0x10015b1d
push ecx
push esi
mov ecx, edi
call fcn.10002743
mov dl, byte [ebp - 0x1b]
test esi, esi
je 0x10015b4f
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x10015b37
mov eax, dword [edi]
jmp 0x10015b39
test esi, esi
jne 0x10015b10
mov dword [edi + 0x10], esi
cmp eax, 0x10
jb 0x10015b30
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x10015b4f
mov eax, edi
mov byte [eax], 0
jmp 0x10015b4f
mov eax, edi
mov byte [eax + ecx], dl
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], esi
jb 0x10015b49
mov eax, dword [edi]
jmp 0x10015b4b
mov eax, edi
mov byte [eax + esi], 0
inc ebx
cmp ebx, 4
jl 0x10015ad0
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov dl, byte [ebp - 0x1a]
mov dh, byte [ebp - 0x19]
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x10015a70
test ebx, ebx
je 0x10015cf8
mov eax, ebx
cmp ebx, 3
jge 0x10015ba8
cmp eax, 3
jae 0x10015ba3
mov byte [ebp + eax - 0x14], 0
inc eax
cmp eax, 3
jl 0x10015b81
mov cl, byte [ebp - 0x12]
mov dl, byte [ebp - 0x13]
mov dh, byte [ebp - 0x14]
jmp 0x10015bab
push str.string_too_long
call fcn.1001e7d5
call fcn.1003e44c
mov cl, byte [ebp - 0xd]
mov al, dh
and dh, 3
shr al, 2
mov byte [ebp - 0x18], al
mov al, dl
shr al, 4
and dl, 0xf
shl dh, 4
add dh, al
shl dl, 2
mov al, cl
mov byte [ebp - 0x17], dh
shr al, 6
and cl, 0x3f
add dl, al
mov byte [ebp - 0x15], cl
mov byte [ebp - 0x16], dl
lea eax, [ebx + 1]
xor edx, edx
mov dword [ebp - 0x14], edx
test eax, eax
jle 0x10015c7c
lea esp, [esp]
movzx eax, byte [ebp + edx - 0x18]
mov ecx, dword [edi + 0x10]
mov al, byte [ebp + eax - 0x60]
mov byte [ebp - 0xd], al
or eax, 0xffffffff
sub eax, ecx
cmp eax, 1
jbe 0x10015b99
lea esi, [ecx + 1]
cmp esi, 0xfffffffe
ja 0x10015b99
mov eax, dword [edi + 0x14]
cmp eax, esi
jae 0x10015c35
push ecx
push esi
mov ecx, edi
call fcn.10002743
mov edx, dword [ebp - 0x14]
test esi, esi
je 0x10015c6d
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x10015c4f
mov eax, dword [edi]
jmp 0x10015c51
test esi, esi
jne 0x10015c28
mov dword [edi + 0x10], esi
cmp eax, 0x10
jb 0x10015c48
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x10015c6d
mov eax, edi
mov byte [eax], 0
jmp 0x10015c6d
mov eax, edi
mov dl, byte [ebp - 0xd]
mov byte [eax + ecx], dl
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], esi
jb 0x10015c64
mov eax, dword [edi]
jmp 0x10015c66
mov eax, edi
mov edx, dword [ebp - 0x14]
mov byte [eax + esi], 0
inc edx
lea eax, [ebx + 1]
mov dword [ebp - 0x14], edx
cmp edx, eax
jl 0x10015bf0
cmp ebx, 3
jge 0x10015cf8
mov ecx, dword [edi + 0x10]
or eax, 0xffffffff
sub eax, ecx
inc ebx
cmp eax, 1
jbe 0x10015b99
lea esi, [ecx + 1]
cmp esi, 0xfffffffe
ja 0x10015b99
mov eax, dword [edi + 0x14]
cmp eax, esi
jae 0x10015cc0
push ecx
push esi
mov ecx, edi
call fcn.10002743
test esi, esi
je 0x10015cf3
cmp dword [edi + 0x14], 0x10
mov ecx, dword [edi + 0x10]
jb 0x10015cda
mov eax, dword [edi]
jmp 0x10015cdc
test esi, esi
jne 0x10015cb3
mov dword [edi + 0x10], esi
cmp eax, 0x10
jb 0x10015cd3
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x10015cf3
mov eax, edi
mov byte [eax], 0
jmp 0x10015cf3
mov eax, edi
mov byte [ecx + eax], 0x3d
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], esi
jb 0x10015ced
mov eax, dword [edi]
jmp 0x10015cef
mov eax, edi
mov byte [esi + eax], 0
cmp ebx, 3
jl 0x10015c81
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret