Function at 0x40dea0
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, 0x80
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
mov dword [esp], edx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0x14], 0x65686a51
mov dword [esp + 0x18], 0x965a5573
mov dword [esp + 0x1c], 0x4a522478
mov dword [esp + 0x20], 0x51418f66
mov dword [esp + 0x24], 0x41474450
mov dword [esp + 0x28], 0x49445c5b
mov dword [esp + 0x2c], 0x40814b85
mov dword [esp + 0x30], 0x5055495e
mov dword [esp + 0x34], 0xaaaca840
mov dword [esp + 0x38], 0x47ae
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea ebp, [esi + esi]
mov edi, ebp
and edi, 0x36
mov ebx, esi
xor ebx, 0xdb
add ebx, edi
xor bl, byte [esp + esi + 0x14]
add bl, 0xb9
mov byte [esp + esi + 0x14], bl
and ebp, 2
xor esi, 1
add esi, ebp
cmp esi, 0x28
jb 0x40df20
mov dword [esp + 0xc], 0xf7e0ec86
mov word [esp + 0x10], 0
mov esi, 0xc74d86d6
mov edi, 0x29
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + esi + 0x38b27936]
mov ebp, esi
or ebp, ebx
not ebx
or ebx, edi
and ebx, ebp
add ebx, 0x1b7c5dd1
mov ebp, ebx
and ebp, 1
xor ebx, 1
lea ebx, [ebx + ebp*2]
mov byte [esp + esi + 0x38b27936], bl
inc esi
dec edi
cmp esi, 0xc74d86dc
jne 0x40df70
mov dword [esp + 0x40], 0x28ff85b7
mov dword [esp + 0x44], 0x2f252b2a
mov dword [esp + 0x48], 0x2ef6e028
mov dword [esp + 0x4c], 0x20272725
mov dword [esp + 0x50], 0x38353f2b
mov dword [esp + 0x54], 0x378ee13a
mov dword [esp + 0x58], 0xf231353d
mov dword [esp + 0x5c], 0xc232c0c4
mov dword [esp + 0x60], 0xbe48fbe9
mov dword [esp + 0x64], 0xfb9d444b
mov dword [esp + 0x68], 0x4a4e4c46
mov dword [esp + 0x6c], 0x4ff69af6
mov dword [esp + 0x70], 0x5b51574b
mov dword [esp + 0x74], 0x8e555caf
mov word [esp + 0x78], 0xc3ea
mov dword [esp + 0x7a], 0
mov word [esp + 0x7e], 0
mov esi, 0x9f
mov edi, 0x60
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0x5f]
mov ebx, edi
xor ebx, esi
and ebx, ebp
xor ebx, esi
add bl, 0xe5
mov byte [esp + esi - 0x5f], bl
inc esi
dec edi
cmp esi, 0xdf
jne 0x40e040
add dword [esp], edx
mov word [esp + 4], 0x2c2d
mov byte [esp + 6], 0xc2
mov dword [esp + 7], 0
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 4]
mov edi, edx
or edi, 0x1458ddb0
mov ebx, edi
and ebx, esi
add ebx, ebx
xor edi, ebx
mov ebp, 0x6ba7224f
sub ebp, edx
and ebp, ebx
add esi, edi
add esi, 0x9a43ab8f
add ebp, ebp
mov edi, esi
sub edi, ebp
and esi, 1
xor edi, 1
lea ebx, [edi + esi*2]
mov byte [esp + edx + 4], bl
mov esi, edx
not esi
or esi, 1
add esi, edx
or edx, 1
add edx, esi
inc edx
cmp edx, 7
jb 0x40e080
movzx ebx, byte [esp + 4]
mov edx, dword [esp]
test bl, bl
je 0x40e0eb
lea esi, [esp + 5]
mov edx, dword [esp]
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40e0e0
mov byte [edx], 0
movzx ebx, byte [ecx + 0x60]
test bl, bl
je 0x40e10b
lea esi, [ecx + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40e100
mov byte [edx], 0
movzx ebx, byte [esp + 0x40]
test bl, bl
je 0x40e12b
lea esi, [esp + 0x41]
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x40e120
mov byte [edx], 0
movzx ebx, byte [eax]
test bl, bl
je 0x40e14b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x40e140
mov byte [edx], 0
movzx eax, byte [esp + 0xc]
test al, al
je 0x40e16b
lea esi, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40e160
mov byte [edx], 0
movzx eax, byte [esp + 0x14]
test al, al
mov dword [esp + 0x3c], ecx
je 0x40e18b
lea esi, [esp + 0x15]
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40e180
mov byte [edx], 0
mov eax, dword [esp + 0xa0]
mov ecx, eax
shr ecx, 2
mov ebp, dword [esp + 0x9c]
mov esi, ebp
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ebx, eax
and ebx, 0xfffffffc
lea esi, [edx + ebx]
add ebx, ebp
mov ecx, eax
shr ecx, 1
and ecx, 1
mov ebp, ebx
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test al, 1
je 0x40e1dc
mov ecx, dword [esp + 0xa0]
and ecx, 2
movzx ebx, byte [ebx + ecx]
mov byte [esi + ecx], bl
mov dword [esp + 0x40], 0x898f8b8d
mov byte [esp + 0x44], 0x84
mov dword [esp + 0x45], 0
mov word [esp + 0x49], 0
mov ecx, 0xa0
mov esi, 0x5f
mov eax, dword [esp + 0x3c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x60]
lea edi, [ebx + ebx]
not edi
add edi, ebx
and edi, ecx
and ebx, esi
or ebx, edi
add bl, 0xe0
mov byte [esp + ecx - 0x60], bl
inc ecx
dec esi
cmp ecx, 0xab
jne 0x40e210
mov dword [esp + 0x14], 0x9a99fdff
mov byte [esp + 0x18], 0xc8
mov dword [esp + 0x19], 0
mov dword [esp + 0x1c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
add bl, 0x53
xor bl, byte [esp + ecx + 0x14]
add bl, 0x61
mov byte [esp + ecx + 0x14], bl
inc ecx
cmp ecx, 0xc
jne 0x40e260
add edx, dword [esp + 0xa0]
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x40e29b
lea esi, [esp + 0x15]
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40e290
mov byte [edx], 0
movzx ecx, byte [eax + 0x60]
test cl, cl
je 0x40e2bb
lea esi, [eax + 0x61]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40e2b0
mov byte [edx], 0
movzx ecx, byte [esp + 0x40]
test cl, cl
je 0x40e2db
lea esi, [esp + 0x41]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40e2d0
mov byte [edx], 0
sub edx, dword [esp]
mov ecx, dword [eax + 0x80]
mov esi, ecx
and esi, edx
xor edx, ecx
lea ecx, [edx + esi*2]
mov dword [eax + 0x80], ecx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret 0x10