Function at 0x40d330
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, 0x8c
mov ebx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp + 4], eax
mov dword [esp + 0x60], 0x7d787aa1
mov dword [esp + 0x64], 0xbe7a7d43
mov dword [esp + 0x68], 0x7a424c58
mov dword [esp + 0x6c], 0x4171b78e
mov dword [esp + 0x70], 0x717f7c40
mov dword [esp + 0x74], 0x494c744b
mov dword [esp + 0x78], 0x50915b8d
mov dword [esp + 0x7c], 0x606d6966
mov dword [esp + 0x80], 0xbac4b850
mov word [esp + 0x84], 0xcfc6
mov dword [esp + 0x86], 0
mov byte [esp + 0x8a], 0
mov eax, 0x57
mov esi, 0x28
nop
nop
mov edi, esi
and edi, 0x5d
mov edx, eax
and edx, 0xa2
or edx, edi
xor dl, byte [esp + eax + 9]
xor dl, 0x5d
add dl, 0x4d
mov byte [esp + eax + 9], dl
inc eax
dec esi
cmp eax, 0x82
jne 0x40d3c0
mov dword [esp], 0xc1cc3026
xor eax, eax
nop
mov edx, eax
add dl, 0xb1
xor dl, byte [esp + eax]
add dl, 0x8b
mov byte [esp + eax], dl
inc eax
cmp eax, 4
jne 0x40d3f0
mov dword [esp + 0xc], 0x1214282f
mov dword [esp + 0x10], 0xe0a3c20
mov dword [esp + 0x14], 0xd72743f
mov dword [esp + 0x18], 0x6790271
mov dword [esp + 0x1c], 0x36017572
mov dword [esp + 0x20], 0x45ba1db
mov dword [esp + 0x24], 0x3790f06
mov dword [esp + 0x28], 0xa524c0c
mov dword [esp + 0x2c], 0x40b0b01
mov dword [esp + 0x30], 0x14111b0f
mov dword [esp + 0x34], 0x6ba24516
mov dword [esp + 0x38], 0x5e1d1111
mov dword [esp + 0x3c], 0x66166460
mov dword [esp + 0x40], 0x5a24974d
mov dword [esp + 0x44], 0x9f715827
mov dword [esp + 0x48], 0x562a285a
mov dword [esp + 0x4c], 0x539a7e92
mov dword [esp + 0x50], 0x374d332f
mov dword [esp + 0x54], 0x6249304b
mov word [esp + 0x58], 0xaf8e
mov word [esp + 0x5e], 0
mov dword [esp + 0x5a], 0
mov esi, 0xf0ff72b
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + esi - 0xf0ff71f]
xor ebp, esi
lea eax, [ebp + 8]
mov edx, 0x4b4fd3d7
sub edx, ebp
or edx, 1
lea edi, [edx + ebp]
add edi, 0xb4b02c29
mov ebx, edi
and ebx, 0xfd
mov edx, edi
and edx, 2
or edi, 2
imul edi, edx
xor edx, 2
imul edx, ebx
mov ebx, 0xd7
sub ebx, ebp
and ebx, 0xe0
and eax, 0x1f
or eax, ebx
xor eax, 0xe1
add eax, edi
add eax, edx
mov byte [esp + esi - 0xf0ff71f], al
inc esi
cmp esi, 0xf0ff77f
jne 0x40d4c0
add ecx, dword [esp + 4]
movzx eax, byte [esp + 0xc]
mov edx, ecx
test al, al
je 0x40d54b
lea esi, [esp + 0xd]
mov edx, ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d540
mov byte [edx], 0
mov esi, dword [esp + 0xa4]
movzx eax, byte [esi]
test al, al
je 0x40d56b
inc esi
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d560
mov dword [esp + 4], ecx
mov byte [edx], 0
movzx eax, byte [esp]
test al, al
je 0x40d58b
lea ecx, [esp + 1]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d580
mov byte [edx], 0
movzx eax, byte [esp + 0x60]
test al, al
je 0x40d5ab
lea ecx, [esp + 0x61]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d5a0
mov byte [edx], 0
mov eax, dword [esp + 0xac]
mov ecx, eax
mov esi, eax
shr ecx, 2
mov ebx, dword [esp + 0xa8]
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, esi
mov eax, esi
and eax, 0xfffffffc
lea esi, [edx + eax]
add eax, ebx
mov ecx, edi
mov ebp, edi
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, ebp
test cl, 1
je 0x40d603
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0xc], 0x16114d33
mov dword [esp + 0x10], 0x121aece2
mov dword [esp + 0x14], 0xe211e0e0
mov dword [esp + 0x18], 0x18dbe7d8
mov dword [esp + 0x1c], 0x2324181f
mov dword [esp + 0x20], 0xb7c5e01f
mov dword [esp + 0x24], 0xbeb5cb
mov ecx, 0x5fe4e671
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x5fe4e665]
mov eax, esi
and eax, 0x22
mov ebx, ecx
sub ebx, eax
mov ebp, ebx
and ebp, eax
xor ebx, eax
lea eax, [ebx + ebp*2]
xor eax, edi
mov edi, eax
not edi
and edi, 0x43
and eax, 0xbc
sub eax, edi
add al, 0xe
mov byte [esp + ecx - 0x5fe4e665], al
inc ecx
add esi, 2
cmp ecx, 0x5fe4e68d
jne 0x40d650
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0xc]
test al, al
je 0x40d6bb
lea ecx, [esp + 0xd]
nop
nop
nop
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 0x40d6b0
mov byte [edx], 0
sub edx, dword [esp + 4]
mov eax, dword [esp + 8]
add dword [eax + 0x60], edx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10