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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov eax, dword [ecx + 0x80]
mov dword [esp + 0x18], eax
mov word [esp], 0x9795
mov byte [esp + 2], 0x9e
mov word [esp + 3], 0
mov byte [esp + 5], 0
mov ebx, 0x3ebfb75a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebx - 0x3ebfb75a]
mov ebp, ebx
and ebp, eax
add ebp, ebp
sub eax, ebp
add eax, ebx
mov ebp, eax
and ebp, 0x3d
xor eax, 0x3d
lea eax, [eax + ebp*2]
inc al
mov byte [esp + ebx - 0x3ebfb75a], al
inc ebx
cmp ebx, 0x3ebfb760
jne 0x409150
mov dword [esp + 0x10], 0x9290946e
mov dword [esp + 0x14], 0x8d92
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ebx + 0x10]
lea edi, [ebx + 0xe2]
mov eax, edi
or eax, ebp
and edi, ebp
sub eax, edi
add al, 0x96
mov byte [esp + ebx + 0x10], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 8
jb 0x4091a0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0x683f05f7
mov dword [esp + 0x24], 0x6f656b6a
mov dword [esp + 0x28], 0x6e362068
mov dword [esp + 0x2c], 0x60676765
mov dword [esp + 0x30], 0x78757f6b
mov dword [esp + 0x34], 0x770e217a
mov dword [esp + 0x38], 0x3271757d
mov dword [esp + 0x3c], 0x42724044
mov dword [esp + 0x40], 0x7e483b29
mov dword [esp + 0x44], 0x3b1d444b
mov byte [esp + 0x48], 0xdc
mov word [esp + 0x49], 0
mov byte [esp + 0x4b], 0
xor ebx, ebx
mov edi, ebx
not edi
and edi, 1
mov eax, ebx
and eax, 0x3e
sub eax, edi
xor al, byte [esp + ebx + 0x20]
add al, 5
mov byte [esp + ebx + 0x20], al
inc ebx
cmp ebx, 0x2c
jne 0x409230
mov word [esp + 8], 0x9495
mov byte [esp + 0xa], 0xce
mov word [esp + 0xb], 0
mov ebx, 0xd2
mov ebp, 0x2d
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebx - 0xca]
mov edi, ebp
or edi, eax
not eax
or eax, ebx
and eax, edi
mov cl, 0xe5
sub cl, al
mov byte [esp + ebx - 0xca], cl
inc ebx
dec ebp
cmp ebx, 0xd7
jne 0x409270
mov ecx, dword [esp + 0x60]
add ecx, dword [esp + 0x18]
movzx ebx, byte [esp + 8]
mov edi, ecx
test bl, bl
je 0x4092bc
lea ebp, [esp + 9]
mov edi, ecx
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x4092b0
mov byte [edi], 0
mov eax, dword [esp + 0x1c]
movzx ebx, byte [eax + 0x60]
test bl, bl
je 0x4092dc
lea ebp, [eax + 0x61]
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x4092d0
mov byte [edi], 0
movzx ebx, byte [esp + 0x20]
test bl, bl
je 0x4092fc
lea ebp, [esp + 0x21]
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x4092f0
mov byte [edi], 0
movzx ebx, byte [esi]
test bl, bl
je 0x40931b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409310
mov byte [edi], 0
movzx ebx, byte [esp + 0x10]
test bl, bl
je 0x40933b
lea esi, [esp + 0x11]
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409330
mov byte [edi], 0
movzx ebx, byte [edx]
test bl, bl
je 0x40935b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x409350
mov byte [edi], 0
movzx edx, byte [esp]
test dl, dl
je 0x40937b
lea esi, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x409370
mov byte [edi], 0
sub edi, ecx
add dword [eax + 0x80], edi
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret 0xc