Function at 0x4035b8
Capabilities:
Check for peb ntglobalflag flag
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov esi, esp
mov dword [esi + 0x68], ebp
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
lea eax, [esi + 0x70]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x403e60
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
xorps xmm0, xmm0
movaps xmmword [esi + 0x50], xmm0
movaps xmmword [esi + 0x40], xmm0
movaps xmmword [esi + 0x30], xmm0
movaps xmmword [esi + 0x20], xmm0
mov byte [esi + 0x60], 0
movdqa xmm3, xmmword [0x612030]
movdqa xmm4, xmmword [0x612040]
xor eax, eax
movdqa xmm0, xmmword [0x612060]
movdqa xmm1, xmmword [0x612070]
movdqa xmm6, xmm4
pxor xmm6, xmmword [0x612050]
movdqa xmm5, xmm0
pcmpgtd xmm5, xmm6
movd ecx, xmm5
test cl, 1
je 0x403654
mov ecx, eax
add cl, 0x41
mov byte [esi + eax + 0x20], cl
movdqa xmm6, xmm5
psrlq xmm6, 0x10
movd ecx, xmm6
shr ecx, 0x10
test cl, 1
je 0x403672
mov ecx, eax
add cl, 0x42
mov byte [esi + eax + 0x21], cl
pextrw ecx, xmm5, 4
test cl, 1
je 0x403685
mov ecx, eax
add cl, 0x43
mov byte [esi + eax + 0x22], cl
pextrw ecx, xmm5, 6
test cl, 1
je 0x403698
mov ecx, eax
add cl, 0x44
mov byte [esi + eax + 0x23], cl
movdqa xmm6, xmm3
pxor xmm6, xmmword [0x612050]
movdqa xmm5, xmm0
pcmpgtd xmm5, xmm6
pextrw ecx, xmm5, 0
test cl, 1
je 0x4036bf
mov ecx, eax
add cl, 0x45
mov byte [esi + eax + 0x24], cl
pextrw ecx, xmm5, 2
test cl, 1
je 0x4036d2
mov ecx, eax
add cl, 0x46
mov byte [esi + eax + 0x25], cl
pextrw ecx, xmm5, 4
test cl, 1
je 0x4036e5
mov ecx, eax
add cl, 0x47
mov byte [esi + eax + 0x26], cl
pextrw ecx, xmm5, 7
test cl, 1
je 0x4036f8
mov ecx, eax
add cl, 0x48
mov byte [esi + eax + 0x27], cl
add eax, 8
paddd xmm4, xmm1
paddd xmm3, xmm1
cmp eax, 0x20
jne 0x40362e
movdqa xmm3, xmmword [0x612030]
movdqa xmm4, xmmword [0x612040]
mov eax, 0xffffffe0
movdqa xmm5, xmmword [0x612080]
movdqa xmm6, xmm4
pxor xmm6, xmmword [0x612050]
movdqa xmm2, xmm0
pcmpgtd xmm2, xmm6
movdqa xmm6, xmm4
paddd xmm6, xmm5
movd ecx, xmm2
test cl, 1
je 0x40375b
movd ecx, xmm6
mov edx, eax
add dl, 0x81
mov byte [esi + ecx + 0x20], dl
movdqa xmm7, xmm2
psrlq xmm7, 0x10
movd ecx, xmm7
shr ecx, 0x10
test cl, 1
je 0x403782
pshufd xmm7, xmm6, 0x55
movd ecx, xmm7
mov edx, eax
add dl, 0x82
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm2, 4
test cl, 1
je 0x40379e
pshufd xmm7, xmm6, 0xee
movd ecx, xmm7
mov edx, eax
add dl, 0x83
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm2, 6
test cl, 1
je 0x4037ba
pshufd xmm2, xmm6, 0xff
movd ecx, xmm2
mov edx, eax
add dl, 0x84
mov byte [esi + ecx + 0x20], dl
movdqa xmm6, xmm3
paddd xmm6, xmm5
movdqa xmm2, xmm3
pxor xmm2, xmmword [0x612050]
movdqa xmm7, xmm0
pcmpgtd xmm7, xmm2
pextrw ecx, xmm7, 0
test cl, 1
je 0x4037ed
movd ecx, xmm6
mov edx, eax
add dl, 0x85
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 2
test cl, 1
je 0x403809
pshufd xmm2, xmm6, 0x55
movd ecx, xmm2
mov edx, eax
add dl, 0x86
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 4
test cl, 1
je 0x403825
pshufd xmm2, xmm6, 0xee
movd ecx, xmm2
mov edx, eax
add dl, 0x87
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 7
test cl, 1
je 0x403841
pshufd xmm2, xmm6, 0xff
movd ecx, xmm2
mov edx, eax
add dl, 0x88
mov byte [esi + ecx + 0x20], dl
paddd xmm4, xmm1
paddd xmm3, xmm1
add eax, 8
jne 0x403729
movdqa xmm2, xmmword [0x612030]
movdqa xmm3, xmmword [0x612040]
mov eax, 0xfffffff0
movdqa xmm4, xmmword [0x612090]
movdqa xmm5, xmmword [str.4444]
movdqa xmm0, xmm3
pxor xmm0, xmmword [0x612050]
movdqa xmm7, xmm4
pcmpgtd xmm7, xmm0
movdqa xmm6, xmm3
paddd xmm6, xmm5
movd ecx, xmm7
test cl, 1
je 0x4038a9
movd ecx, xmm6
mov edx, eax
add dl, 0x40
mov byte [esi + ecx + 0x20], dl
movdqa xmm0, xmm7
psrlq xmm0, 0x10
movd ecx, xmm0
shr ecx, 0x10
test cl, 1
je 0x4038d0
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
mov edx, eax
add dl, 0x41
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 4
test cl, 1
je 0x4038ec
pshufd xmm0, xmm6, 0xee
movd ecx, xmm0
mov edx, eax
add dl, 0x42
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 6
test cl, 1
je 0x403908
pshufd xmm0, xmm6, 0xff
movd ecx, xmm0
mov edx, eax
add dl, 0x43
mov byte [esi + ecx + 0x20], dl
movdqa xmm6, xmm2
paddd xmm6, xmm5
movdqa xmm0, xmm2
pxor xmm0, xmmword [0x612050]
movdqa xmm7, xmm4
pcmpgtd xmm7, xmm0
pextrw ecx, xmm7, 0
test cl, 1
je 0x40393b
movd ecx, xmm6
mov edx, eax
add dl, 0x44
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 2
test cl, 1
je 0x403957
pshufd xmm0, xmm6, 0x55
movd ecx, xmm0
mov edx, eax
add dl, 0x45
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 4
test cl, 1
je 0x403973
pshufd xmm0, xmm6, 0xee
movd ecx, xmm0
mov edx, eax
add dl, 0x46
mov byte [esi + ecx + 0x20], dl
pextrw ecx, xmm7, 7
test cl, 1
je 0x40398f
pshufd xmm0, xmm6, 0xff
movd ecx, xmm0
mov edx, eax
add dl, 0x47
mov byte [esi + ecx + 0x20], dl
paddd xmm3, xmm1
paddd xmm2, xmm1
add eax, 8
jne 0x403877
mov word [esi + 0x5e], 0x2f2b
xor edx, edx
mov dword [ebx], edx
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov ecx, dword [ebp + 0xc]
sub edi, 1
jb 0x403a81
mov al, byte [ecx]
inc ecx
mov byte [esi + edx + 0xd], al
inc edx
cmp edx, 3
jne 0x4039ba
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x18], edi
mov al, byte [esi + 0xd]
mov cl, byte [esi + 0xe]
mov edx, eax
shr dl, 2
mov byte [esi + 0x14], dl
mov edx, ecx
shr dl, 4
shl al, 4
or al, dl
and al, 0x3f
mov byte [esi + 0x15], al
mov al, byte [esi + 0xf]
mov edx, eax
shr dl, 6
shl cl, 2
or cl, dl
and cl, 0x3f
mov byte [esi + 0x16], cl
and al, 0x3f
mov byte [esi + 0x17], al
xor edx, edx
xor eax, eax
cmp eax, 3
ja 0x403a76
mov dword [esi + 0x10], eax
movzx eax, byte [esi + eax + 0x14]
mov al, byte [esi + eax + 0x20]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
cmp ecx, edx
jae 0x403a45
lea edi, [ecx + 1]
mov dword [ebx + 0x10], edi
mov edi, ebx
cmp edx, 0xf
jbe 0x403a39
mov edi, dword [ebx]
mov byte [edi + ecx], al
mov byte [edi + ecx + 1], 0
xor edx, edx
jmp 0x403a6d
mov dword [esi + 0x78], 0
mov cl, byte [esi + 0xc]
mov byte [esp + 4], cl
movsx eax, al
mov dword [esp + 8], eax
mov dword [esp], 1
mov ecx, ebx
call fcn.00403d34
sub esp, 0xc
xor edx, edx
mov eax, dword [esi + 0x10]
inc eax
mov ebx, dword [ebp + 8]
jmp 0x403a0f
mov edi, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
jmp 0x4039ba
test edx, edx
je 0x403bb5
mov dword [esi + 0x10], edx
cmp edx, 2
jg 0x403ab5
mov edx, dword [esi + 0x10]
lea eax, [esi + edx]
add eax, 0xd
mov ecx, 3
sub ecx, edx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.005e2800
mov al, byte [esi + 0xd]
mov cl, byte [esi + 0xe]
mov edx, eax
shr dl, 2
mov byte [esi + 0x14], dl
mov edx, ecx
shr dl, 4
shl al, 4
or al, dl
and al, 0x3f
mov byte [esi + 0x15], al
mov al, byte [esi + 0xf]
mov edx, eax
shr dl, 6
shl cl, 2
or cl, dl
and cl, 0x3f
mov byte [esi + 0x16], cl
and al, 0x3f
mov byte [esi + 0x17], al
xor ecx, ecx
mov eax, dword [esi + 0x10]
cmp ecx, eax
jg 0x403bb0
mov dword [esi + 0x18], ecx
movzx eax, byte [esi + ecx + 0x14]
mov al, byte [esi + eax + 0x20]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
cmp ecx, edx
jae 0x403b29
lea edi, [ecx + 1]
mov dword [ebx + 0x10], edi
mov edi, ebx
cmp edx, 0xf
jbe 0x403b1c
mov edi, dword [ebx]
mov byte [edi + ecx], al
mov byte [edi + ecx + 1], 0
mov eax, dword [esi + 0x10]
jmp 0x403b52
mov dword [esi + 0x78], 0
mov cl, byte [esi + 0xc]
mov byte [esp + 4], cl
movsx eax, al
mov dword [esp + 8], eax
mov dword [esp], 1
mov ecx, ebx
call fcn.00403d34
sub esp, 0xc
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
inc ecx
mov ebx, dword [ebp + 8]
jmp 0x403aef
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
cmp eax, ecx
jae 0x403b82
lea edx, [eax + 1]
mov dword [ebx + 0x10], edx
mov edx, ebx
cmp ecx, 0xf
jbe 0x403b77
mov edx, dword [ebx]
mov word [edx + eax], 0x3d
mov eax, dword [esi + 0x10]
jmp 0x403bac
mov dword [esi + 0x78], 0
mov al, byte [esi + 0xc]
mov byte [esp + 4], al
mov dword [esp + 8], 0x3d
mov dword [esp], 1
mov ecx, ebx
call fcn.00403d34
sub esp, 0xc
mov eax, dword [esi + 0x10]
inc eax
mov ebx, dword [ebp + 8]
cmp eax, 2
jle 0x403b5b
mov eax, dword [esi + 0x70]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc