Function at 0x10040cf0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009b3b1
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x40
mov eax, dword [0x100b1010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], ecx
mov edi, dword [ebx + 8]
test edi, edi
je 0x10040f0f
mov ecx, edi
call fcn.1007e380
test al, al
je 0x10040f0f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x1d8]
call eax
test al, al
je 0x10040f0f
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100b76f0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10186ec0]
cmp eax, dword [ecx + 4]
jle 0x10040e38
push 0x10186ec0
call fcn.1009832a
add esp, 4
cmp dword [0x10186ec0], 0xffffffff
jne 0x10040e38
mov dword [ebp - 4], 0
mov dl, 0x25
mov dword [ebp - 0x28], 0x477a4825
xor ecx, ecx
mov dword [ebp - 0x24], 0x4061566c
mov dword [ebp - 0x20], 0x4c565043
mov word [ebp - 0x1c], 0x424b
mov byte [ebp - 0x1a], 0
lea eax, [ebp - 0x27]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xd
jae 0x10040dd4
mov dl, byte [ebp - 0x28]
jmp 0x10040dc3
mov byte [ebp - 0x1a], 0
mov dl, 0x41
mov dword [ebp - 0x40], 0x1e150541
xor eax, eax
mov dword [ebp - 0x3c], 0x2d111202
mov dword [ebp - 0x38], 0x33243820
mov byte [ebp - 0x34], 0
lea ecx, [ebp - 0x3f]
xor byte [ecx + eax], dl
inc eax
cmp eax, 0xb
jae 0x10040e06
mov dl, byte [ebp - 0x40]
jmp 0x10040df5
mov ecx, dword [0x100bdcec]
lea eax, [ebp - 0x27]
push 0
push eax
lea eax, [ebp - 0x3f]
mov byte [ebp - 0x34], 0
push eax
call fcn.1007d4a0
push 0x10186ec0
mov dword [0x10186eb4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100982d9
add esp, 4
mov eax, dword [0x10186eb4]
cmp byte [edi + eax], 0
je 0x10040f0f
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.1003f9e0
add esp, 4
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
psrldq xmm0, 8
movd eax, xmm0
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x10040f0f
cmp dword [ebp - 0x1c], 0
je 0x10040f0f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x10]
call eax
mov ecx, edi
mov eax, dword [eax]
mov esi, dword [eax + 0x20]
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
call esi
mov ecx, dword [ebx + 0xc]
neg al
mov esi, dword [ebp - 0x48]
mov dh, 0x5e
sbb al, al
mov byte [ebp - 0x30], dh
and al, 0xa6
mov byte [ebp - 0x2c], 0
dec al
mov byte [ebp - 0x2c], 0
mov byte [ebp - 0x43], al
mov ah, 0x18
mov al, byte [ebx + 0xe]
xor ah, dh
mov byte [ebp - 0x42], al
mov dl, 0x1b
mov byte [ebp - 0x2d], ah
mov al, 0x1a
xor al, dh
mov byte [ebp - 0x41], ch
mov byte [ebp - 0x2f], al
xor dl, dh
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2e], dl
mov edx, dword [esi]
add edx, dword [ebp - 0x1c]
push eax
push ecx
mov eax, esp
push edx
mov byte [eax], cl
mov cl, ch
mov byte [eax + 1], cl
mov cl, byte [ebp - 0x42]
mov byte [eax + 2], cl
mov cl, byte [ebp - 0x43]
mov byte [eax + 3], cl
mov eax, dword [ebp - 0x4c]
add eax, 5
push eax
push 1
push 1
push 0
push dword [0x100b7f08]
call fcn.1003eae0
add esp, 0x20
add dword [esi], 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1009823a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8