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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov ebp, dword [esp + 0x98]
mov edi, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 0x10], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1a], 0x4c595926
mov dword [esp + 0x1e], 0x14f445c
mov dword [esp + 0x22], 0x554f7729
mov dword [esp + 0x26], 0x4052123b
mov dword [esp + 0x2a], 0x70545741
mov dword [esp + 0x2e], 0x78756f74
mov dword [esp + 0x32], 0x7f324632
mov dword [esp + 0x36], 0x67667863
mov dword [esp + 0x3a], 0xc5dddb71
mov dword [esp + 0x3e], 0xdac3
mov eax, 0x8d
mov ecx, 0x72
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
and ebx, 0x5e
mov edx, eax
and edx, 0xa1
or edx, ebx
xor dl, byte [esp + eax - 0x73]
xor dl, 0x5e
add dl, 0x98
mov byte [esp + eax - 0x73], dl
inc eax
dec ecx
cmp eax, 0xb5
jne 0x4098e0
mov dword [esp + 0xa], 0x23282c02
mov byte [esp + 0xe], 0
mov ebx, 0x342be320
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ebx - 0x342be316]
mov edx, esi
not edx
or edx, ebx
add edx, esi
inc dl
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, edx
shr al, 1
and al, 1
or dl, 2
mul dl
add al, al
sub cl, al
movzx eax, cl
add eax, ebx
mov byte [esp + ebx - 0x342be316], al
inc ebx
cmp ebx, 0x342be325
jne 0x409920
mov dword [esp + 0x42], 0x1dc2faf2
mov dword [esp + 0x46], 0x1820101d
mov dword [esp + 0x4a], 0x63bda513
mov dword [esp + 0x4e], 0x6d626c68
mov dword [esp + 0x52], 0x6d686466
mov dword [esp + 0x56], 0x5095be6d
mov dword [esp + 0x5a], 0xb7747a68
mov dword [esp + 0x5e], 0x4f794d4f
mov dword [esp + 0x62], 0x437f80a4
mov dword [esp + 0x66], 0x84a8417e
mov dword [esp + 0x6a], 0x7f454141
mov dword [esp + 0x6e], 0x78bd97b9
mov dword [esp + 0x72], 0x4c744c46
mov dword [esp + 0x76], 0x9b704972
mov word [esp + 0x7a], 0xc8b5
mov eax, 0x37
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xb]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x48
mov byte [esp + eax + 0xb], cl
inc eax
cmp eax, 0x71
jne 0x4099f0
mov eax, dword [esp + 0x14]
add dword [esp], eax
mov word [esp + 4], 0x607
mov byte [esp + 6], 0x2c
mov word [esp + 7], 0
mov eax, 0xfa
mov ecx, 5
mov ebx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x5a
mov edx, eax
and edx, 0xa5
or edx, esi
xor dl, byte [esp + eax - 0xf6]
xor dl, 0x5a
add dl, 0x30
mov byte [esp + eax - 0xf6], dl
inc eax
dec ecx
cmp eax, 0xff
jne 0x409a40
movzx eax, byte [esp + 4]
mov esi, dword [esp]
test al, al
je 0x409a8b
lea ecx, [esp + 5]
mov esi, dword [esp]
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409a80
mov byte [esi], 0
movzx eax, byte [ebx + 0x60]
test al, al
je 0x409aab
lea ecx, [ebx + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409aa0
mov byte [esi], 0
movzx eax, byte [esp + 0x42]
test al, al
je 0x409acb
lea ecx, [esp + 0x43]
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409ac0
mov byte [esi], 0
movzx eax, byte [edi]
test al, al
je 0x409aeb
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [edi]
inc edi
test al, al
jne 0x409ae0
mov byte [esi], 0
movzx eax, byte [esp + 0xa]
test al, al
je 0x409b0b
lea ecx, [esp + 0xb]
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409b00
mov byte [esi], 0
movzx eax, byte [esp + 0x1a]
test al, al
je 0x409b2b
lea ecx, [esp + 0x1b]
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x409b20
mov byte [esi], 0
mov ebx, dword [esp + 0x9c]
mov ecx, ebx
shr ecx, 2
mov eax, ebp
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
add ebp, eax
add eax, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 2
add eax, ecx
test bl, 1
je 0x409b71
movzx ecx, byte [ebp + ecx]
mov byte [eax], cl
inc eax
mov dword [esp + 0x42], 0x484c4a42
mov byte [esp + 0x46], 0x33
mov word [esp + 0x47], 0
mov ecx, 0x7335f108
mov esi, 0xf8
nop
movzx edx, byte [esp + ecx - 0x7335f0c6]
mov edi, edx
not edi
or edi, esi
lea ebx, [ecx + edi]
add edx, edi
inc edx
or edx, ebx
neg edx
lea edi, [edx + edx]
and edi, 0x72
xor edx, 0xc6
sub edx, edi
add dl, 2
mov byte [esp + ecx - 0x7335f0c6], dl
inc ecx
dec esi
cmp ecx, 0x7335f10f
jne 0x409b90
mov dword [esp + 0x1a], 0xb58a6c68
mov word [esp + 0x1e], 0x49
mov ecx, 0xb0ca819d
nop
nop
movzx edx, byte [esp + ecx + 0x4f357e7d]
xor edx, ecx
mov esi, edx
and esi, 0x17
xor edx, 0x17
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx + 0x4f357e7d], dl
inc ecx
cmp ecx, 0xb0ca81a3
jne 0x409be0
movzx ecx, byte [esp + 0x1a]
test cl, cl
mov esi, dword [esp + 0x10]
je 0x409c2b
lea edx, [esp + 0x1b]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409c20
mov byte [eax], 0
movzx ecx, byte [esi + 0x60]
test cl, cl
je 0x409c4b
lea edx, [esi + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409c40
mov byte [eax], 0
movzx ecx, byte [esp + 0x42]
test cl, cl
je 0x409c6b
lea edx, [esp + 0x43]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409c60
mov byte [eax], 0
sub eax, dword [esp]
mov ecx, dword [esi + 0x80]
mov edx, ecx
and edx, eax
xor eax, ecx
lea eax, [eax + edx*2]
mov dword [esi + 0x80], eax
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10