Function at 0x1000d6f0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x100d8054]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
mov esi, dword [0x101dbe34]
push edi
mov eax, dword [esi + 0x3ddc]
cmp eax, dword [esi + 0x3dd8]
je 0x1000db24
xor edi, edi
cmp dword [esi + 0x5a40], edi
jle 0x1000d754
xor ebx, ebx
nop dword [eax + eax]
mov eax, dword [esi + 0x5a48]
add eax, ebx
cmp dword [eax + 4], 2
jne 0x1000d748
push eax
mov eax, dword [eax + 0xc]
push esi
call eax
add esp, 8
inc edi
add ebx, 0x14
cmp edi, dword [esi + 0x5a40]
jl 0x1000d730
mov edi, dword [0x101dbe34]
call fcn.100134f0
cmp dword [edi + 0x3e14], 1
jle 0x1000d776
call fcn.10012a00
cmp dword [edi + 0x3e14], 1
jg 0x1000d768
mov eax, dword [esi + 0x8c]
lea ebx, [esi + 0x59e8]
mov dword [esp + 0x24], eax
test eax, eax
je 0x1000d875
lea edx, [esi + 0x59f8]
mov ecx, ebx
mov edi, 0xc
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1000d7b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x1000d7a0
jmp 0x1000d875
test byte [esi + 0x5aa0], 0x20
je 0x1000d85e
movaps xmm0, xmmword [0x100d07b0]
xor ecx, ecx
movups xmmword [esp + 0x28], xmm0
mov dword [esp + 0x68], 0x773d6975
movaps xmm0, xmmword [0x100d0920]
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x6c], 0x3d69757e
movaps xmm0, xmmword [0x100d0da0]
movups xmmword [esp + 0x48], xmm0
mov word [esp + 0x70], 0x5172
movaps xmm0, xmmword [0x100d0e10]
movups xmmword [esp + 0x58], xmm0
mov byte [esp + 0x72], 0
mov al, byte [esp + 0x28]
xor byte [esp + ecx + 0x29], al
inc ecx
cmp ecx, 0x49
jb 0x1000d811
movss xmm0, dword [ebx + 8]
sub esp, 0x10
movzx eax, byte [ebx]
cvtps2pd xmm0, xmm0
mov byte [esp + 0x82], 0
movsd qword [esp + 8], xmm0
movss xmm0, dword [ebx + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
lea eax, [esp + 0x3d]
push eax
call fcn.1001b270
mov ecx, dword [esi + 0x8c]
add esp, 0x18
jmp 0x1000d862
mov ecx, dword [esp + 0x24]
mov eax, dword [0x101dbe34]
push ebx
mov eax, dword [eax + 0x47b4]
push dword [eax]
call ecx
add esp, 8
mov eax, dword [esi + 0x3e38]
mov byte [esi + 0x3de5], 0
test eax, eax
je 0x1000d896
cmp byte [eax + 0xa8], 0
jne 0x1000d896
mov byte [eax + 0xa6], 0
call fcn.10012a00
mov edi, dword [0x101dbe34]
mov ebx, edi
cmp dword [ebx + 0x490c], 0
je 0x1000d8b7
call fcn.10019f30
mov edi, dword [0x101dbe34]
cmp dword [ebx + 0x47b8], 0
je 0x1000d8ee
cmp byte [edi + 0x480d], 0
je 0x1000d8ee
cmp dword [edi + 0x4858], 0
jne 0x1000d8ee
cmp dword [edi + 0x48b0], 0
jne 0x1000d8ee
mov eax, dword [ebx + 0x4810]
test al, 0xf
je 0x1000d8ee
test al, al
js 0x1000d8ee
call fcn.10019370
cmp byte [esi + 0x493c], 0
je 0x1000d9c8
mov eax, dword [esi + 0x495c]
mov bl, byte [esi + 0x4982]
inc eax
cmp eax, dword [esi + 0x3dd8]
jge 0x1000d97e
test byte [esi + 0x4940], 0x20
jne 0x1000d97a
mov eax, dword [esi + 0x4948]
cmp byte [edi + eax + 0xdc4], 0
je 0x1000d97a
add eax, 0x281
cmp eax, 0x200
jl 0x1000d93c
cmp eax, 0x28c
jl 0x1000d95f
cmp eax, 0x1000
je 0x1000d95f
cmp eax, 0x2000
je 0x1000d95f
cmp eax, 0x4000
je 0x1000d95f
cmp eax, 0x8000
je 0x1000d95f
cmp eax, 0x800
jne 0x1000d97e
test eax, 0xf800
je 0x1000d96d
mov ecx, eax
call fcn.10007b70
lea eax, [eax + eax*2]
cmp byte [edi + eax*4 + 0x26c8], 0
je 0x1000d97e
mov al, 1
jmp 0x1000d980
xor al, al
test bl, bl
jne 0x1000d988
test al, al
je 0x1000d98d
call fcn.1001a1d0
cmp byte [esi + 0x493c], 0
je 0x1000d9c8
mov eax, dword [esi + 0x4944]
cmp eax, dword [esi + 0x3dd8]
jge 0x1000d9c8
test byte [esi + 0x4940], 1
jne 0x1000d9c8
push 0x100cf074
mov byte [esi + 0x493d], 1
call fcn.100158f0
add esp, 4
mov byte [esi + 0x493d], 0
mov eax, dword [esi + 0x3dd8]
mov byte [esi + 0x3de4], 0
mov dword [esi + 0x3ddc], eax
call fcn.1000b380
mov ecx, dword [esi + 0x3e0c]
lea ebx, [esi + 0x3e08]
test ecx, ecx
jns 0x1000da08
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, ebx
call fcn.1001ba80
mov dword [ebx], 0
mov ecx, ebx
push dword [esi + 0x3df0]
call fcn.1001ba80
mov ecx, dword [esi + 0x3df0]
xor edi, edi
test ecx, ecx
je 0x1000da5d
nop word [eax + eax]
mov eax, dword [esi + 0x3df8]
mov edx, dword [eax + edi*4]
cmp byte [edx + 0xa6], 0
je 0x1000da4b
test dword [edx + 8], 0x1000000
jne 0x1000da52
mov ecx, ebx
call fcn.1000ce20
mov ecx, dword [esi + 0x3df0]
inc edi
cmp edi, ecx
jne 0x1000da30
mov eax, dword [ebx]
mov dword [esi + 0x3df0], eax
mov eax, dword [esi + 0x3df4]
mov dword [ebx], ecx
mov ecx, dword [ebx + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x3df8]
mov dword [esi + 0x3df4], ecx
mov ecx, dword [ebx + 8]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x3e2c]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x3df8], ecx
mov byte [eax + 0x10], 0
mov byte [esi + 0x3768], 0
mov dword [esi + 0xdd0], 0
mov dword [esi + 0xdcc], 0
mov ecx, dword [esi + 0x3774]
test ecx, ecx
jns 0x1000dadf
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x3770]
call fcn.1001be80
xor edi, edi
mov dword [esi + 0x3770], 0
cmp dword [esi + 0x5a40], edi
jle 0x1000db24
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [esi + 0x5a48]
add eax, ebx
cmp dword [eax + 4], 3
jne 0x1000db18
push eax
mov eax, dword [eax + 0xc]
push esi
call eax
add esp, 8
inc edi
add ebx, 0x14
cmp edi, dword [esi + 0x5a40]
jl 0x1000db00
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10046dd3
mov esp, ebp
pop ebp
ret