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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov esi, dword [esp + 0x68]
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x18], eax
mov word [esp + 8], 0x3b3d
mov byte [esp + 0xa], 0x22
mov dword [esp + 0xb], 0
mov ebp, 0xa129f888
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ebp + 0x5ed60780]
mov ecx, ebx
and ecx, ebp
mov eax, ecx
or al, 0xfd
inc al
mov edx, ecx
and dl, 0x8d
mul dl
mov edx, eax
add dl, bl
mov eax, ecx
shr al, 1
and al, 1
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, ebp
add al, 0x58
mov byte [esp + ebp + 0x5ed60780], al
inc ebp
cmp ebp, 0xa129f88f
jne 0x409430
mov dword [esp + 0x10], 0x46484452
mov dword [esp + 0x14], 0x2d56
mov eax, 0x94dfa68c
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x6b205984]
mov edx, eax
and edx, ebx
mov ebp, edx
and ebp, 0xffffff9d
mov edi, edx
and edi, 2
mov ecx, edx
or ecx, 0xfffffffd
inc ecx
imul ecx, ebp
or edx, 2
imul edx, edi
add ecx, ebx
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0x43
xor ecx, 0x43
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax + 0x6b205984], cl
inc eax
cmp eax, 0x94dfa694
jne 0x409490
mov dword [esp + 0x20], 0xb8ef2517
mov dword [esp + 0x24], 0xbfc5bbba
mov dword [esp + 0x28], 0x3e1600b8
mov dword [esp + 0x2c], 0x40474745
mov dword [esp + 0x30], 0x48354f3b
mov dword [esp + 0x34], 0x37fe014a
mov dword [esp + 0x38], 0x1251554d
mov dword [esp + 0x3c], 0x22522024
mov dword [esp + 0x40], 0x2e58eb19
mov dword [esp + 0x44], 0xeb0d245b
mov byte [esp + 0x48], 0xcc
mov dword [esp + 0x49], 0
mov dword [esp + 0x4c], 0
mov eax, 0x3d94a277
mov ebx, dword [esp + 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x3d94a257]
xor ecx, eax
mov edx, ecx
and edx, 0x2910a07a
xor ecx, 0x6b3abc7a
lea ecx, [ecx + edx*2]
add ecx, 0xcc18d3ac
mov edx, ecx
xor edx, 0x85
and ecx, 5
lea ecx, [edx + ecx*2]
add cl, 2
mov byte [esp + eax - 0x3d94a257], cl
inc eax
cmp eax, 0x3d94a2a7
jne 0x409550
add ebx, dword [esp + 0x18]
mov word [esp], 0xe8f7
mov byte [esp + 2], 0xda
mov word [esp + 3], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx]
mov edx, ecx
xor edx, 0xb8d383cf
add edx, eax
xor edx, edi
mov edi, edx
and edi, 1
or edx, 1
add edx, edi
add dl, 0xf4
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 5
jne 0x4095b0
movzx ecx, byte [esp]
mov eax, ebx
test cl, cl
je 0x4095fb
lea edx, [esp + 1]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4095f0
mov byte [eax], 0
mov edi, dword [esp + 0x1c]
movzx ecx, byte [edi + 0x60]
test cl, cl
je 0x40961b
lea edx, [edi + 0x61]
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409610
mov byte [eax], 0
movzx ecx, byte [esp + 0x20]
test cl, cl
je 0x40963b
lea edx, [esp + 0x21]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409630
mov byte [eax], 0
movzx ecx, byte [esi]
test cl, cl
je 0x40965b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x409650
mov byte [eax], 0
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x40967b
lea edx, [esp + 0x11]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409670
mov byte [eax], 0
mov edx, dword [esp + 0x6c]
movzx ecx, byte [edx]
test cl, cl
je 0x40969b
inc edx
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x409690
mov byte [eax], 0
movzx ecx, byte [esp + 8]
test cl, cl
je 0x4096bb
lea edx, [esp + 9]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4096b0
mov byte [eax], 0
sub eax, ebx
add dword [edi + 0x80], eax
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret 0xc