Function at 0x4095d0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov dword [esp + 0x40], ecx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0x10], 0x5d505689
mov dword [esp + 0x14], 0x9a5e55af
mov dword [esp + 0x18], 0xa65e54b0
mov dword [esp + 0x1c], 0x69a9eb92
mov dword [esp + 0x20], 0x999b9468
mov dword [esp + 0x24], 0x61649c67
mov dword [esp + 0x28], 0x68a967ad
mov dword [esp + 0x2c], 0x8895919a
mov dword [esp + 0x30], 0xd6ecd078
mov word [esp + 0x34], 0xe3ea
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edi + 0x10]
mov ebx, edi
and ebx, 0x11
mov ebp, edi
and ebp, 0x2e
xor ebp, 0x7ff90faf
sub ebx, ebp
mov ebp, ebx
and ebp, esi
add ebx, esi
add ebp, ebp
sub ebx, ebp
mov esi, 0x95
sub esi, ebx
add ebx, 0x6a
and esi, 0xac
and ebx, 0x53
sub ebx, esi
add bl, 0xad
mov byte [esp + edi + 0x10], bl
inc edi
cmp edi, 0x2c
jne 0x409650
mov dword [esp + 8], 0x9164607e
mov word [esp + 0xc], 0
mov byte [esp + 0xe], 0
mov edi, 0x1bb162e5
mov ebp, 0x644e9d1a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edi - 0x1bb162dd]
mov eax, edi
xor eax, ebx
lea esi, [eax + eax]
not esi
add esi, eax
and esi, edi
add esi, esi
mov eax, esi
xor eax, edi
and esi, ebp
add esi, esi
add eax, ebx
sub eax, esi
mov esi, eax
and esi, 6
xor eax, 0x86
lea eax, [eax + esi*2]
inc al
mov byte [esp + edi - 0x1bb162dd], al
inc edi
dec ebp
cmp edi, 0x1bb162ec
jne 0x4096c0
mov dword [esp + 0x44], 0x4d19be5
mov dword [esp + 0x48], 0x933010a
mov dword [esp + 0x4c], 0x32d6cc04
mov dword [esp + 0x50], 0x14111517
mov dword [esp + 0x54], 0x142b1d29
mov dword [esp + 0x58], 0x21eed71a
mov dword [esp + 0x5c], 0xde1f1b1f
mov dword [esp + 0x60], 0x566a5458
mov dword [esp + 0x64], 0x526491ab
mov dword [esp + 0x68], 0x9dbb5069
mov dword [esp + 0x6c], 0x566e5056
mov dword [esp + 0x70], 0x4986be86
mov dword [esp + 0x74], 0x754f7549
mov dword [esp + 0x78], 0xaa43784d
mov word [esp + 0x7c], 0xe98a
mov dword [esp + 0x7e], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi + 0x44]
lea esi, [edi + 0x24]
and esi, eax
lea ebx, [edi + eax]
add ebx, 0x24
add esi, esi
sub ebx, esi
add bl, 0x4c
mov byte [esp + edi + 0x44], bl
mov eax, edi
or eax, 1
add eax, edi
not edi
or edi, 1
add edi, eax
inc edi
cmp edi, 0x3e
jb 0x409790
mov ebp, dword [esp + 0x98]
add ebp, edx
mov word [esp], 0x3435
mov byte [esp + 2], 0xe
mov word [esp + 3], 0
xor edx, edx
xor edi, edi
nop
nop
movzx eax, byte [esp + edi]
mov ebx, edi
xor ebx, 0x4e0b957e
mov esi, edx
and esi, 2
sub esi, ebx
xor esi, eax
mov eax, esi
not eax
or eax, 0x8639eb75
add eax, esi
inc eax
or esi, 0x8639eb75
mov ebx, eax
and ebx, esi
xor esi, eax
lea eax, [esi + ebx*2]
inc al
mov byte [esp + edi], al
inc edi
add edx, 2
cmp edi, 5
jne 0x4097e0
movzx ebx, byte [esp]
mov edx, ebp
test bl, bl
je 0x40983b
lea edi, [esp + 1]
mov edx, ebp
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409830
mov byte [edx], 0
mov esi, dword [esp + 0x40]
movzx ebx, byte [esi + 0x60]
test bl, bl
mov eax, dword [esp + 0x9c]
je 0x40986b
lea edi, [esi + 0x61]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409860
mov byte [edx], 0
movzx ebx, byte [esp + 0x44]
test bl, bl
je 0x40988b
lea edi, [esp + 0x45]
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x409880
mov byte [edx], 0
movzx ebx, byte [eax]
test bl, bl
mov dword [esp + 0x3c], ebp
je 0x4098ab
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x4098a0
mov byte [edx], 0
movzx ecx, byte [esp + 8]
test cl, cl
je 0x4098cb
lea edi, [esp + 9]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4098c0
mov byte [edx], 0
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x4098eb
lea edi, [esp + 0x11]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4098e0
mov byte [edx], 0
mov eax, dword [esp + 0xa4]
mov ecx, eax
mov ebx, eax
shr ecx, 2
mov ebp, dword [esp + 0xa0]
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and ebx, 0xfffffffc
add edx, ebx
add ebx, ebp
mov ecx, eax
mov ebp, eax
shr ecx, 1
and ecx, 1
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebp
mov ecx, ebp
and ecx, 2
add edx, ecx
test al, 1
je 0x40993a
movzx eax, byte [ebx + ecx]
mov byte [edx], al
inc edx
mov dword [esp + 0x44], 0x8f898d8f
mov byte [esp + 0x48], 0x98
mov dword [esp + 0x49], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x5b
xor al, byte [esp + ecx + 0x44]
add al, 0x39
mov byte [esp + ecx + 0x44], al
inc ecx
cmp ecx, 9
jne 0x409960
mov dword [esp + 0x10], 0x6a694d4f
mov byte [esp + 0x14], 0x38
mov dword [esp + 0x15], 0
mov byte [esp + 0x19], 0
xor ecx, ecx
mov eax, ecx
add al, 0x8b
xor al, byte [esp + ecx + 0x10]
add al, 0x49
mov byte [esp + ecx + 0x10], al
inc ecx
cmp ecx, 0xa
jne 0x409990
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x4099cb
lea edi, [esp + 0x11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4099c0
mov byte [edx], 0
movzx ecx, byte [esi + 0x60]
test cl, cl
je 0x4099eb
lea edi, [esi + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x4099e0
mov byte [edx], 0
movzx ecx, byte [esp + 0x44]
test cl, cl
je 0x409a0b
lea edi, [esp + 0x45]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x409a00
mov byte [edx], 0
sub edx, dword [esp + 0x3c]
add dword [esi + 0x80], edx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret 0x10