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

Disassembly:
sub esp, 0x518
push ebx
push ebp
push esi
push edi
mov edi, 0x104
lea eax, [esp + 0x21c]
push edi
xor ebx, ebx
mov esi, ecx
push ebx
push eax
call fcn.00407f10
add esp, 0xc
lea eax, [esp + 0x21c]
push eax
push ebx
push ebx
push 0x1c
push ebx
push 0xcc4e6191
push 1
call fcn.004011e9
pop ecx
pop ecx
call eax
movaps xmm0, xmmword [0x416970]
mov ecx, ebx
movups xmmword [esp + 0x11], xmm0
mov byte [esp + 0x21], bl
movsx eax, byte [esp + 0x11]
and eax, 0x8000000f
jns 0x4042ee
dec eax
or eax, 0xfffffff0
inc eax
sub byte [esp + ecx + 0x12], al
inc ecx
cmp ecx, 0xf
jb 0x4042dd
lea eax, [esp + 0x12]
mov byte [esp + 0x21], bl
push eax
lea eax, [esp + 0x220]
mov ebp, 0xf9b697a2
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
push edi
lea eax, [esp + 0x428]
push ebx
push eax
call fcn.00407f10
add esp, 0xc
lea eax, [esp + 0x21c]
push eax
lea eax, [esp + 0x428]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
mov cl, 0x7c
mov dword [esp + 0x11], 0x190f297c
mov dword [esp + 0x15], 0x1d385c0e
mov eax, ebx
mov dword [esp + 0x19], 0x201d08
xor byte [esp + eax + 0x12], cl
inc eax
cmp eax, 0xa
jae 0x404372
mov cl, byte [esp + 0x11]
jmp 0x404362
lea eax, [esp + 0x12]
mov byte [esp + 0x1c], bl
push eax
lea eax, [esp + 0x428]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
push 8
pop ecx
xor eax, eax
lea edi, [esp + 0xb0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x320]
mov edi, 0x104
push edi
push ebx
push eax
call fcn.00407f10
add esp, 0xc
lea eax, [esp + 0x21c]
push eax
lea eax, [esp + 0x324]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x26]
call fcn.00404f60
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x324]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
lea eax, [esp + 0x320]
mov ecx, esi
push eax
lea eax, [esp + 0x428]
push eax
call fcn.00402c82
push edi
lea eax, [esp + 0x11c]
push ebx
push eax
call fcn.00407f10
movaps xmm0, xmmword [0x4169c0]
add esp, 0xc
movups xmmword [esp + 0x23], xmm0
mov ecx, ebx
mov word [esp + 0x43], 0x3f57
movaps xmm0, xmmword [0x416960]
movups xmmword [esp + 0x33], xmm0
mov byte [esp + 0x45], bl
mov al, byte [esp + 0x23]
xor byte [esp + ecx + 0x24], al
inc ecx
cmp ecx, 0x21
jb 0x40444b
lea eax, [esp + 0x24]
mov byte [esp + 0x45], bl
push eax
lea eax, [esp + 0x11c]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
mov cl, 0x64
mov dword [esp + 0x11], 0x160c0764
mov dword [esp + 0x15], 0x4a01090b
mov eax, ebx
mov dword [esp + 0x19], 0x11c01
xor byte [esp + eax + 0x12], cl
inc eax
cmp eax, 0xa
jae 0x4044a1
mov cl, byte [esp + 0x11]
jmp 0x404491
lea eax, [esp + 0x12]
mov byte [esp + 0x1c], bl
push eax
lea eax, [esp + 0x11c]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
movaps xmm0, xmmword [0x4169d0]
mov ecx, ebx
movups xmmword [esp + 0x46], xmm0
mov dword [esp + 0x96], 0x62756265
movaps xmm0, xmmword [0x416990]
movups xmmword [esp + 0x56], xmm0
mov dword [esp + 0x9a], 0x736a652e
movaps xmm0, xmmword [0x416a00]
movups xmmword [esp + 0x66], xmm0
mov word [esp + 0x9e], 0x3e
movaps xmm0, xmmword [0x4169a0]
movups xmmword [esp + 0x76], xmm0
movaps xmm0, xmmword [str.mf.e4e22_..vtfs.R]
movups xmmword [esp + 0x86], xmm0
movsx eax, byte [esp + 0x46]
and eax, 0x8000000f
jns 0x40452f
dec eax
or eax, 0xfffffff0
inc eax
sub byte [esp + ecx + 0x47], al
inc ecx
cmp ecx, 0x58
jb 0x40451e
lea eax, [esp + 0x47]
mov byte [esp + 0x9f], bl
push eax
lea eax, [esp + 0x11c]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
push 0x416854
lea eax, [esp + 0x11c]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
lea eax, [esp + 0x320]
push eax
lea eax, [esp + 0x11c]
push eax
push ebp
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
push 0x44
pop esi
push esi
lea eax, [esp + 0xd8]
push ebx
push eax
call fcn.00407f10
xor eax, eax
mov dword [esp + 0xe0], esi
lea edi, [esp + 0xac]
mov dword [esp + 0xe8], 0x41e550
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xd8]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x138]
push eax
push ebx
push 0x57ae26e9
push ebx
call fcn.004011e9
pop ecx
pop ecx
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x518
ret