Function at 0x40d3f0
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, 0x88
mov dword [esp + 8], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp + 4], eax
mov dword [esp + 0x5c], 0x5000ed9
mov dword [esp + 0x60], 0xca060d37
mov dword [esp + 0x64], 0x2e061c20
mov dword [esp + 0x68], 0x1929ebc2
mov dword [esp + 0x6c], 0x192b2c18
mov dword [esp + 0x70], 0x111c241f
mov dword [esp + 0x74], 0x68d90fd5
mov dword [esp + 0x78], 0x585d615a
mov dword [esp + 0x7c], 0x8e848068
mov dword [esp + 0x80], 0xf38a
mov byte [esp + 0x84], 0
mov ebp, 0xdae1b525
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ebp + 0x251e4b37]
mov esi, ebp
and esi, edi
mov edx, esi
and edx, 0x7d
mov ebx, esi
and ebx, 2
mov eax, esi
or eax, 0xfffffffd
inc eax
imul eax, edx
or esi, 2
imul esi, ebx
lea edx, [edi + ebp]
add eax, edi
sub eax, esi
add eax, ebp
add eax, 0x554037bc
and edx, 1
or eax, 1
add eax, edx
add eax, 0xcdc6cb74
mov edx, eax
and edx, 0x16
xor eax, 0x16
lea eax, [eax + edx*2]
mov byte [esp + ebp + 0x251e4b37], al
inc ebp
cmp ebp, 0xdae1b54e
jne 0x40d470
mov dword [esp], 0x13182432
xor esi, esi
mov edi, 0x144d7b
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi]
mov eax, edi
and eax, 0x14447a
mov ebx, esi
and ebx, 1
add eax, ebx
add eax, 0x642b2084
xor eax, edx
mov edx, eax
and edx, 0x6b
add edx, edx
xor edx, 0xd4
xor eax, 0x11
add eax, edx
inc al
mov byte [esp + esi], al
inc esi
dec edi
cmp esi, 4
jne 0x40d4e0
mov dword [esp + 0xc], 0x5a58dcdd
mov dword [esp + 0x10], 0x5e5e282c
mov dword [esp + 0x14], 0x536e582d
mov dword [esp + 0x18], 0x5653526f
mov dword [esp + 0x1c], 0x364b6766
mov dword [esp + 0x20], 0x702d1311
mov dword [esp + 0x24], 0x7d437d72
mov dword [esp + 0x28], 0x42263870
mov dword [esp + 0x2c], 0x48457977
mov dword [esp + 0x30], 0x407b497d
mov dword [esp + 0x34], 0x753e1742
mov dword [esp + 0x38], 0xe4f434f
mov dword [esp + 0x3c], 0x665a7874
mov dword [esp + 0x40], 0x62502503
mov dword [esp + 0x44], 0x210b6c55
mov dword [esp + 0x48], 0x665e6466
mov dword [esp + 0x4c], 0x1d560e26
mov dword [esp + 0x50], 0x211f211d
mov dword [esp + 0x54], 0x7a132411
mov dword [esp + 0x58], 0xbd52
mov esi, 0x3e
mov edi, 1
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
nop
mov edx, edi
and edx, 0xdb
mov eax, esi
and eax, 0x24
or eax, edx
xor al, byte [esp + esi - 0x32]
xor al, 0xdb
add al, 0xa
mov byte [esp + esi - 0x32], al
inc esi
dec edi
cmp esi, 0x8e
jne 0x40d5d0
add ebp, dword [esp + 4]
movzx eax, byte [esp + 0xc]
mov edx, ebp
test al, al
je 0x40d61b
lea esi, [esp + 0xd]
mov edx, ebp
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d610
mov byte [edx], 0
movzx eax, byte [ecx]
test al, al
je 0x40d63b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d630
mov byte [edx], 0
movzx eax, byte [esp]
test al, al
je 0x40d65b
lea ecx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d650
mov byte [edx], 0
movzx eax, byte [esp + 0x5c]
test al, al
je 0x40d67b
lea ecx, [esp + 0x5d]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d670
mov byte [edx], 0
mov eax, dword [esp + 0xa8]
mov ecx, eax
mov esi, eax
shr ecx, 2
mov ebx, dword [esp + 0xa4]
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, esi
mov eax, esi
and eax, 0xfffffffc
lea esi, [edx + eax]
add eax, ebx
shr ecx, 1
and ecx, 1
mov ebx, eax
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [esp + 0xa8]
test cl, 1
je 0x40d6cd
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0xc], 0xdad9e5f7
mov dword [esp + 0x10], 0xd6d6040e
mov dword [esp + 0x14], 0x1ec91808
mov dword [esp + 0x18], 0x10071300
mov dword [esp + 0x1c], 0xf0c101b
mov dword [esp + 0x20], 0xf3edc813
mov word [esp + 0x24], 0x8def
mov byte [esp + 0x26], 0x82
mov word [esp + 0x27], 0
mov ecx, 0x27
mov esi, 0xd8
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x1b]
mov eax, esi
xor eax, ecx
and eax, edi
xor eax, ecx
add al, 0x3d
mov byte [esp + ecx - 0x1b], al
inc ecx
dec esi
cmp ecx, 0x44
jne 0x40d720
add edx, dword [esp + 0xa8]
movzx eax, byte [esp + 0xc]
test al, al
je 0x40d75b
lea ecx, [esp + 0xd]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d750
mov byte [edx], 0
mov eax, edx
not eax
and eax, ebp
not ebp
and ebp, edx
sub ebp, eax
mov eax, dword [esp + 8]
add dword [eax + 0x60], ebp
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret 0x10