Function at 0x100306d0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x1008a00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x24], ebx
push edi
test esi, esi
je 0x10030ab6
mov dword [ebx + 0x3c8], 0x20
mov dword [ebx + 0x3cc], 0x10
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x3d4], xmm0
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x3f4], xmm0
mov eax, dword [ebx + 0x3c8]
mov ecx, dword [ebx + 0x3cc]
cmp eax, 0x10
je 0x10030745
cmp eax, 0x18
je 0x1003073b
mov eax, 0xe
jmp 0x1003075e
xor eax, eax
cmp ecx, 0x20
sete al
jmp 0x10030757
cmp ecx, 0x10
jne 0x1003074f
lea eax, [ecx - 6]
jmp 0x1003075e
xor eax, eax
cmp ecx, 0x18
setne al
lea eax, [eax*2 + 0xc]
mov dword [ebx + 0x3d0], eax
mov eax, ecx
cdq
xor ecx, ecx
and edx, 3
mov dword [ebp - 0x14], ecx
add eax, edx
sar eax, 2
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x3d0]
test eax, eax
js 0x100307aa
mov esi, dword [ebp - 0x18]
lea edx, [ebx + 8]
test esi, esi
jle 0x10030796
mov ecx, esi
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x3d0]
inc ecx
add edx, 0x20
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x10030787
mov esi, dword [ebp + 8]
xor edx, edx
test eax, eax
js 0x100307e1
mov esi, dword [ebp - 0x18]
lea edi, [ebx + 0x1e8]
mov dword [ebp - 0x14], edi
nop dword [eax]
test esi, esi
jle 0x100307cd
mov ecx, esi
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x14]
mov eax, dword [ebx + 0x3d0]
inc edx
add edi, 0x20
mov dword [ebp - 0x14], edi
cmp edx, eax
jle 0x100307c0
mov esi, dword [ebp + 8]
inc eax
lea ecx, [ebx + 0x414]
imul eax, dword [ebp - 0x18]
mov edi, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x3c8]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x14], eax
test eax, eax
jle 0x10030892
mov ebx, eax
movzx eax, byte [esi]
lea esi, [esi + 4]
shl eax, 0x18
lea edi, [edi + 4]
mov dword [edi - 4], eax
movzx edx, byte [esi - 3]
shl edx, 0x10
or edx, eax
mov dword [edi - 4], edx
movzx ecx, byte [esi - 2]
shl ecx, 8
or ecx, edx
mov dword [edi - 4], ecx
movzx eax, byte [esi - 1]
or eax, ecx
mov dword [edi - 4], eax
sub ebx, 1
jne 0x10030810
mov ecx, dword [ebp - 0x20]
xor edi, edi
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
cmp edi, dword [ebp - 0x28]
jge 0x10030a1c
mov eax, edi
mov ecx, dword [ecx]
cdq
inc edi
idiv dword [ebp - 0x18]
lea esi, [edx + eax*8]
mov dword [ebx + esi*4 + 8], ecx
mov ecx, dword [ebx + 0x3d0]
mov esi, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
lea ecx, [edx + ecx*8]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x1e8], eax
mov ecx, dword [ebp - 0x1c]
add ecx, 4
mov dword [ebp - 0x1c], ecx
cmp edi, esi
jl 0x10030850
jmp 0x10030896
xor edi, edi
mov esi, eax
cmp edi, dword [ebp - 0x28]
jge 0x10030a1c
mov dword [ebp - 0x1c], 0x100855f0
nop word [eax + eax]
mov edx, dword [ebx + esi*4 + 0x410]
mov eax, edx
sar eax, 0x10
movzx eax, al
movsx ecx, byte [eax + str.cw]
mov eax, dword [ebp - 0x1c]
inc dword [ebp - 0x1c]
movsx eax, byte [eax]
xor ecx, eax
mov eax, edx
sar eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + str.cw]
xor ecx, eax
movzx eax, dl
shl ecx, 8
sar edx, 0x18
movzx eax, byte [eax + str.cw]
xor ecx, eax
movzx eax, dl
shl ecx, 8
movzx eax, byte [eax + str.cw]
xor ecx, eax
xor dword [ebx + 0x414], ecx
cmp esi, 8
je 0x1003093b
cmp esi, 1
jle 0x1003092e
lea ecx, [ebx + 0x418]
lea edx, [esi - 1]
nop
mov eax, dword [ecx - 4]
lea ecx, [ecx + 4]
xor dword [ecx - 4], eax
sub edx, 1
jne 0x10030920
test esi, esi
jle 0x10030a13
jmp 0x100309bf
lea eax, [ebx + 0x418]
mov edx, 3
mov ecx, dword [eax - 4]
lea eax, [eax + 4]
xor dword [eax - 4], ecx
sub edx, 1
jne 0x10030946
mov edx, dword [ebx + 0x420]
mov eax, edx
sar eax, 0x18
movzx eax, al
movsx ecx, byte [eax + str.cw]
mov eax, edx
sar eax, 0x10
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + str.cw]
xor ecx, eax
mov eax, edx
sar eax, 8
movzx eax, al
shl ecx, 8
movzx eax, byte [eax + str.cw]
xor ecx, eax
movzx eax, dl
shl ecx, 8
mov edx, 3
movzx eax, byte [eax + str.cw]
xor ecx, eax
xor dword [ebx + 0x424], ecx
lea ecx, [ebx + 0x428]
mov eax, dword [ecx - 4]
lea ecx, [ecx + 4]
xor dword [ecx - 4], eax
sub edx, 1
jne 0x100309b1
lea ecx, [ebx + 0x414]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], ecx
nop
cmp edi, dword [ebp - 0x28]
jge 0x10030a1c
mov eax, edi
mov ecx, dword [ecx]
cdq
inc edi
idiv dword [ebp - 0x18]
lea esi, [edx + eax*8]
mov dword [ebx + esi*4 + 8], ecx
mov ecx, dword [ebx + 0x3d0]
mov esi, dword [ebp - 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x24]
lea ecx, [edx + ecx*8]
mov eax, dword [eax]
mov dword [ebx + ecx*4 + 0x1e8], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
inc eax
add ecx, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], ecx
cmp eax, esi
jl 0x100309d0
cmp edi, dword [ebp - 0x28]
jl 0x100308b0
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp dword [ebx + 0x3d0], ecx
jle 0x10030a9f
mov eax, dword [ebp - 0x18]
lea edx, [ebx + 0x208]
mov dword [ebp - 0x14], edx
test eax, eax
jle 0x10030a8d
mov esi, edx
mov edi, eax
mov edx, dword [esi]
lea esi, [esi + 4]
mov eax, edx
sar eax, 0x18
movzx ecx, al
mov eax, edx
sar eax, 0x10
movzx eax, al
mov ecx, dword [ecx*4 + 0x10085a10]
xor ecx, dword [eax*4 + 0x100848f0]
mov eax, edx
sar eax, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x10086210]
movzx eax, dl
xor ecx, dword [eax*4 + 0x10085610]
mov dword [esi - 4], ecx
sub edi, 1
jne 0x10030a40
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
inc ecx
add edx, 0x20
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], edx
cmp ecx, dword [ebx + 0x3d0]
jl 0x10030a38
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov byte [ebx + 4], 1
xor ecx, ebp
pop ebx
call fcn.10006166
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x74706d45
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0xb], 0x79656b20
mov byte [ebp - 0xc], 0x79
mov byte [ebp - 7], 0
call fcn.100044b0
push 0x10088cac
lea eax, [ebp - 0x34]
push eax
call fcn.10007c7b
int3