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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x74
mov dword [esp + 8], ecx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0xe], 0xe7fcfed3
mov dword [esp + 0x12], 0xbae2fbf1
mov dword [esp + 0x16], 0xfeeae0cc
mov dword [esp + 0x1a], 0xebffbda6
mov dword [esp + 0x1e], 0xcbc1c0d4
mov dword [esp + 0x22], 0xd3c8c0c9
mov dword [esp + 0x26], 0xc487d187
mov dword [esp + 0x2a], 0xcccbc7ce
mov dword [esp + 0x2e], 0xbeb8bcc4
mov word [esp + 0x32], 0xb5be
mov edi, 0xde20b10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edi - 0xde20b02]
xor ebx, edi
mov eax, ebx
not eax
or eax, 0x10efa77f
add eax, ebx
lea ebp, [ebx + ebx]
and ebp, 0x1c406fe
sub ebx, ebp
lea ebp, [ebx + eax*2]
lea eax, [ebx + eax*2]
add eax, 0x90efa781
mov ebx, eax
not ebx
or ebx, 1
mov esi, eax
and esi, 0xfe
xor eax, 1
add eax, ebx
sub eax, esi
lea eax, [eax + ebp*2]
add eax, 0x21df4f02
inc al
mov byte [esp + edi - 0xde20b02], al
inc edi
cmp edi, 0xde20b36
jne 0x409440
mov dword [esp + 4], 0xe6dfd9c1
mov edi, 0xcaf6fc3b
mov ebp, 0xc4
nop
nop
nop
movzx ebx, byte [esp + edi + 0x350903c9]
lea eax, [ebp - 0x80]
and eax, 0x41
mov esi, edi
and esi, 6
or esi, eax
xor esi, 0x86
and esi, ebp
mov eax, edi
or eax, ebx
not ebx
or ebx, esi
and ebx, eax
add bl, 0x28
mov byte [esp + edi + 0x350903c9], bl
inc edi
dec ebp
cmp edi, 0xcaf6fc3f
jne 0x4094b0
mov dword [esp + 0x3a], 0x64498385
mov dword [esp + 0x3e], 0x616b7962
mov dword [esp + 0x42], 0x7a56bc64
mov dword [esp + 0x46], 0x64796567
mov dword [esp + 0x4a], 0x74736d71
mov dword [esp + 0x4e], 0x79bea772
mov dword [esp + 0x52], 0x8e4f534f
mov dword [esp + 0x56], 0x46524440
mov dword [esp + 0x5a], 0x4a448993
mov dword [esp + 0x5e], 0x8d934841
mov dword [esp + 0x62], 0x565e5856
mov dword [esp + 0x66], 0x51968e96
mov dword [esp + 0x6a], 0x555f5551
mov dword [esp + 0x6e], 0x825b505d
mov word [esp + 0x72], 0x4162
xor edi, edi
mov ecx, dword [esp + 0x88]
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi + 0x3a]
mov ebx, 0x14299537
sub ebx, edi
or ebx, eax
mov esi, 0x37
sub esi, edi
and esi, eax
not ebx
or ebx, esi
mov eax, ebx
and eax, 0x3f
add eax, eax
xor ebx, 0x40
sub eax, ebx
mov byte [esp + edi + 0x3a], al
add edi, 0x15f72721
mov eax, edi
and eax, 0x60
xor edi, 0xea08d8e0
lea edi, [edi + eax*2]
cmp edi, 0x3a
jb 0x409570
add ecx, edx
mov word [esp + 1], 0x2c2d
mov byte [esp + 3], 2
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx + 1]
mov eax, edx
and eax, edi
or edi, edx
or edi, 0x7038e00
xor edi, eax
add edi, 0x77c78fff
mov eax, edi
and eax, 1
xor edi, 1
lea eax, [edi + eax*2]
mov byte [esp + edx + 1], al
inc edx
cmp edx, 3
jne 0x4095d0
movzx ebx, byte [esp + 1]
mov edx, ecx
test bl, bl
je 0x40961b
lea edi, [esp + 2]
mov edx, ecx
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409610
mov byte [edx], 0
mov eax, dword [esp + 8]
movzx ebx, byte [eax + 0x60]
test bl, bl
je 0x40964d
lea edi, [eax + 0x61]
mov eax, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409640
jmp 0x409654
mov eax, dword [esp + 0x8c]
mov byte [edx], 0
movzx ebx, byte [esp + 0x3a]
test bl, bl
je 0x40967b
lea edi, [esp + 0x3b]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409670
mov byte [edx], 0
movzx ebx, byte [eax]
test bl, bl
mov dword [esp + 0x34], ecx
je 0x40969b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x409690
mov byte [edx], 0
movzx ecx, byte [esp + 4]
test cl, cl
je 0x4096bb
lea edi, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4096b0
mov byte [edx], 0
movzx ecx, byte [esp + 0xe]
test cl, cl
je 0x4096db
lea edi, [esp + 0xf]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4096d0
mov byte [edx], 0
mov ebx, dword [esp + 0x94]
mov ecx, ebx
shr ecx, 2
mov esi, dword [esp + 0x90]
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and ebx, 0xfffffffc
add edx, ebx
add ebx, esi
mov ecx, eax
mov esi, eax
shr ecx, 1
and ecx, 1
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, esi
mov eax, esi
and eax, 2
add edx, eax
test cl, 1
je 0x409729
movzx eax, byte [ebx + eax]
mov byte [edx], al
inc edx
mov dword [esp + 0x3a], 0x43454d4b
mov byte [esp + 0x3e], 0x4a
mov ecx, 0x555456f6
mov edi, 9
movzx eax, byte [esp + ecx - 0x555456bc]
mov esi, edi
xor esi, ecx
and esi, eax
xor esi, ecx
lea eax, [esi + 0x555d484f]
mov ebx, eax
and ebx, 1
mov ebp, 0xb0
sub ebp, esi
and ebp, 0xd2
and eax, 0x2d
or eax, ebp
xor eax, 0xd3
lea eax, [eax + ebx*2]
mov byte [esp + ecx - 0x555456bc], al
inc ecx
dec edi
cmp ecx, 0x555456fb
jne 0x409740
mov dword [esp + 0xe], 0x253adcd8
mov byte [esp + 0x12], 0xd9
mov ecx, 0xad
mov edi, 0x12
nop
nop
nop
mov eax, edi
and eax, 0x15
mov ebx, ecx
and ebx, 0xaa
or ebx, eax
xor bl, byte [esp + ecx - 0x9f]
xor bl, 0x15
add bl, 0x98
mov byte [esp + ecx - 0x9f], bl
inc ecx
dec edi
cmp ecx, 0xb2
jne 0x4097a0
movzx ecx, byte [esp + 0xe]
test cl, cl
je 0x4097ed
lea edi, [esp + 0xf]
mov eax, dword [esp + 8]
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4097e0
jmp 0x4097f1
mov eax, dword [esp + 8]
mov byte [edx], 0
movzx ecx, byte [eax + 0x60]
test cl, cl
je 0x40980b
lea edi, [eax + 0x61]
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409800
mov byte [edx], 0
movzx ecx, byte [esp + 0x3a]
test cl, cl
je 0x40982b
lea edi, [esp + 0x3b]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409820
mov byte [edx], 0
sub edx, dword [esp + 0x34]
add dword [eax + 0x80], edx
add esp, 0x74
pop esi
pop edi
pop ebx
pop ebp
ret 0x10