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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x20], ecx
mov eax, dword [ecx + 0x80]
mov dword [esp], eax
mov word [esp + 4], 0x4d4f
mov byte [esp + 6], 0x7a
mov word [esp + 7], 0
mov byte [esp + 9], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 4]
lea ebp, [eax - 0x67376095]
xor ebp, ebx
mov ebx, ebp
and ebx, 0x68
xor ebp, 0xe8
lea ebx, [ebx*2]
add ebx, ebp
inc bl
mov byte [esp + eax + 4], bl
mov ebx, eax
and ebx, 1
xor eax, 1
lea eax, [eax + ebx*2]
cmp eax, 6
jb 0x409310
mov dword [esp + 0x14], 0x767c7046
mov dword [esp + 0x18], 0x637a
mov byte [esp + 0x1c], 0
xor ebx, ebx
xor ebp, ebp
movzx ecx, byte [esp + ebp + 0x14]
mov edi, ebp
xor edi, 0x88c4b817
mov eax, ebx
and eax, 0x10
sub eax, edi
xor eax, ecx
mov ecx, eax
and ecx, 1
or eax, 1
add eax, ecx
add al, 0x72
mov byte [esp + ebp + 0x14], al
inc ebp
add ebx, 2
cmp ebp, 9
jne 0x409360
mov dword [esp + 0x24], 0x28ff85b7
mov dword [esp + 0x28], 0x2f252b2a
mov dword [esp + 0x2c], 0x2ef6e028
mov dword [esp + 0x30], 0x20272725
mov dword [esp + 0x34], 0x38353f2b
mov dword [esp + 0x38], 0x378ee13a
mov dword [esp + 0x3c], 0xf231353d
mov dword [esp + 0x40], 0xc232c0c4
mov dword [esp + 0x44], 0xbe48fbe9
mov dword [esp + 0x48], 0xfb9d444b
mov byte [esp + 0x4c], 0xdc
mov dword [esp + 0x4d], 0
xor ebp, ebp
nop
nop
mov eax, ebp
and eax, 0x1d
mov ecx, ebp
and ecx, 2
mov edi, ecx
xor edi, 2
imul edi, eax
or eax, 2
imul eax, ecx
mov ebx, ebp
xor ebx, 0x9f
add ebx, edi
add ebx, eax
xor bl, byte [esp + ebp + 0x24]
add bl, 0xe5
mov byte [esp + ebp + 0x24], bl
inc ebp
cmp ebp, 0x2d
jne 0x4093f0
add edx, dword [esp]
mov dword [esp], edx
mov word [esp + 0xc], 0x8083
mov byte [esp + 0xe], 0xfe
mov dword [esp + 0xf], 0
mov edi, 0x97fc7ab
mov ebp, 0x55
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ebp - 0x49]
mov ebx, ebp
and ebx, eax
mov ecx, ebx
and ecx, 0x5d
mov edx, ebx
and edx, 2
or ebx, 2
imul ebx, edx
xor edx, 2
imul edx, ecx
add ebx, edx
lea ecx, [edi + ebx]
not ebx
add ebx, ebp
and ebx, eax
not eax
and eax, ecx
sub ebx, eax
add bl, 0x57
mov byte [esp + ebp - 0x49], bl
dec edi
inc ebp
cmp ebp, 0x5c
jne 0x409450
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp]
mov edi, ecx
test al, al
je 0x4094bb
lea ebx, [esp + 0xd]
mov edi, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4094b0
mov byte [edi], 0
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 0x60]
test al, al
mov edx, dword [esp + 0x70]
je 0x4094eb
lea ebx, [ecx + 0x61]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4094e0
mov byte [edi], 0
movzx eax, byte [esp + 0x24]
test al, al
je 0x40950b
lea ebx, [esp + 0x25]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x409500
mov byte [edi], 0
movzx eax, byte [esi]
test al, al
je 0x40952b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x409520
mov byte [edi], 0
movzx eax, byte [esp + 0x14]
test al, al
je 0x40954b
lea esi, [esp + 0x15]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [esi]
inc esi
test al, al
jne 0x409540
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x40956b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x409560
mov byte [edi], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40958b
lea edx, [esp + 5]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x409580
mov byte [edi], 0
sub edi, dword [esp]
add dword [ecx + 0x80], edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 0xc