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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x48
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edi, dword [ecx + 0x80]
mov word [esp + 4], 0x3735
mov byte [esp + 6], 0x4e
mov dword [esp + 7], 0
mov byte [esp + 0xb], 0
xor ebx, ebx
movzx eax, byte [esp + ebx + 4]
lea ebp, [ebx + 0x41cbfbf2]
and ebp, eax
add eax, ebx
add eax, 0x41cbfbf2
add ebp, ebp
sub eax, ebp
add al, 0x46
mov byte [esp + ebx + 4], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 8
jb 0x4093a0
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0x9a9c9872
mov dword [esp + 0x10], 0x879e
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x63
xor al, byte [esp + ebx + 0xc]
add al, 0x11
mov byte [esp + ebx + 0xc], al
mov eax, ebx
and eax, 1
xor ebx, 1
lea ebx, [ebx + eax*2]
cmp ebx, 8
jb 0x4093f0
mov dword [esp + 0x18], 0x304b8d93
mov dword [esp + 0x1c], 0x3b2d3f36
mov dword [esp + 0x20], 0x22427830
mov dword [esp + 0x24], 0x283b3b35
mov dword [esp + 0x28], 0x203d2b3f
mov dword [esp + 0x2c], 0x33726926
mov dword [esp + 0x30], 0x6e292d2d
mov dword [esp + 0x34], 0xc6263834
mov dword [esp + 0x38], 0xc2d087a1
mov dword [esp + 0x3c], 0x8fa5ccd7
mov byte [esp + 0x40], 0x6c
mov dword [esp + 0x41], 0
mov dword [esp + 0x44], 0
mov ebx, 0xe1
mov ebp, 0x1e
nop
nop
nop
movzx eax, byte [esp + ebx - 0xc9]
mov ecx, ebp
or ecx, eax
not eax
or eax, ebx
and eax, ecx
mov cl, 0x9a
sub cl, al
mov byte [esp + ebx - 0xc9], cl
inc ebx
dec ebp
cmp ebx, 0x111
jne 0x409480
mov ecx, dword [esp + 0x5c]
add ecx, edi
mov dword [esp], 0xf68c8d
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0xd6
xor al, byte [esp + ebx]
add al, 0xd2
mov byte [esp + ebx], al
inc ebx
cmp ebx, 4
jne 0x4094c0
movzx ebx, byte [esp]
mov edi, ecx
test bl, bl
mov eax, dword [esp + 0x14]
je 0x4094fc
lea ebp, [esp + 1]
mov edi, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x4094f0
mov byte [edi], 0
movzx ebx, byte [eax + 0x60]
test bl, bl
je 0x40951c
lea ebp, [eax + 0x61]
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x409510
mov byte [edi], 0
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x40953c
lea ebp, [esp + 0x19]
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [ebp]
inc ebp
test bl, bl
jne 0x409530
mov byte [edi], 0
movzx ebx, byte [esi]
test bl, bl
je 0x40955b
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 0x409550
mov byte [edi], 0
movzx ebx, byte [esp + 0xc]
test bl, bl
je 0x40957b
lea esi, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x409570
mov byte [edi], 0
movzx ebx, byte [edx]
test bl, bl
je 0x40959b
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 0x409590
mov byte [edi], 0
movzx edx, byte [esp + 4]
test dl, dl
je 0x4095bb
lea esi, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x4095b0
mov byte [edi], 0
sub edi, ecx
add dword [eax + 0x80], edi
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret 0xc