Function at 0x4091e0
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 edi, dword [ecx + 0x80]
mov word [esp + 8], 0x9795
mov byte [esp + 0xa], 0x9e
mov word [esp + 0xb], 0
mov byte [esp + 0xd], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
add bl, 0x1a
xor bl, byte [esp + eax + 8]
add bl, 0x7e
mov byte [esp + eax + 8], bl
inc eax
cmp eax, 6
jne 0x409220
mov dword [esp + 0x14], 0xbe8480ae
mov dword [esp + 0x18], 0xb3ba
mov byte [esp + 0x1c], 0
mov ecx, 0x6b870e5d
mov ebp, 0x9478f1a2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx - 0x6b870e49]
mov ebx, ecx
and ebx, eax
add ebx, ebx
sub ebx, eax
add ebx, ebp
and ebx, ecx
add ebx, ebx
sub eax, ebx
add eax, ecx
mov ebx, eax
not ebx
and ebx, 2
and eax, 0xfd
sub eax, ebx
add al, 0x31
mov byte [esp + ecx - 0x6b870e49], al
inc ecx
dec ebp
cmp ecx, 0x6b870e66
jne 0x409260
mov dword [esp + 0x24], 0xc0fb2523
mov dword [esp + 0x28], 0xcbd5c7ce
mov dword [esp + 0x2c], 0x32f208c0
mov dword [esp + 0x30], 0x383b3b3d
mov dword [esp + 0x34], 0x30353b37
mov dword [esp + 0x38], 0x23e2093e
mov dword [esp + 0x3c], 0xe6393535
mov dword [esp + 0x40], 0x3e2e383c
mov dword [esp + 0x44], 0x3220ff11
mov dword [esp + 0x48], 0xf71d342f
mov byte [esp + 0x4c], 0xd4
mov dword [esp + 0x4d], 0
mov word [esp + 0x51], 0
mov ebp, 0xbaecd4ef
mov ebx, 0x75d9a9de
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
and ecx, 0xc
mov eax, ebp
xor eax, 6
add eax, ecx
xor al, byte [esp + ebp + 0x45132b35]
add al, 0x37
mov byte [esp + ebp + 0x45132b35], al
inc ebp
add ebx, 2
cmp ebp, 0xbaecd51e
jne 0x409310
add edx, edi
mov dword [esp + 0x10], edx
mov word [esp], 0x787f
mov byte [esp + 2], 0x8a
mov word [esp + 3], 0
mov byte [esp + 5], 0
mov edx, 0x24e395e3
mov ebx, 0x1c
nop
movzx ecx, byte [esp + edx - 0x24e395e3]
mov ebp, ebx
and ebp, ecx
mov eax, edx
xor eax, ecx
mov edi, edx
and edi, ecx
add edi, ebp
add eax, ecx
sub eax, edi
mov ecx, eax
xor ecx, 0xb871ed70
and eax, 0x78e128f
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov byte [esp + edx - 0x24e395e3], al
inc edx
dec ebx
cmp edx, 0x24e395e9
jne 0x409360
movzx eax, byte [esp]
mov ecx, dword [esp + 0x10]
mov edi, ecx
test al, al
je 0x4093cb
lea ebx, [esp + 1]
mov edi, ecx
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4093c0
mov byte [edi], 0
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 0x60]
test al, al
mov edx, dword [esp + 0x70]
je 0x4093fb
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 0x4093f0
mov byte [edi], 0
movzx eax, byte [esp + 0x24]
test al, al
je 0x40941b
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 0x409410
mov byte [edi], 0
movzx eax, byte [esi]
test al, al
je 0x40943b
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 0x409430
mov byte [edi], 0
movzx eax, byte [esp + 0x14]
test al, al
je 0x40945b
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 0x409450
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x40947b
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 0x409470
mov byte [edi], 0
movzx eax, byte [esp + 8]
test al, al
je 0x40949b
lea edx, [esp + 9]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x409490
mov byte [edi], 0
sub edi, dword [esp + 0x10]
add dword [ecx + 0x80], edi
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 0xc