Function at 0x40d5b0
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 esi, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
mov edi, dword [ecx + 0x60]
mov dword [esp + 0x64], 0x7b7c7a4f
mov dword [esp + 0x68], 0x3e767f69
mov dword [esp + 0x6c], 0x62768854
mov dword [esp + 0x70], 0x6f7b254a
mov dword [esp + 0x74], 0x6779786c
mov dword [esp + 0x78], 0x67607861
mov dword [esp + 0x7c], 0x642b9923
mov dword [esp + 0x80], 0x4c4f6b72
mov dword [esp + 0x84], 0x3230345c
mov dword [esp + 0x88], 0x2d32
mov eax, 0xa1db6382
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + eax + 0x5e249ce2]
mov ecx, eax
and ecx, ebp
mov edx, ecx
and edx, 0xfffffffd
mov ebx, ecx
and ebx, 2
or ecx, 2
imul ecx, ebx
xor ebx, 2
imul ebx, edx
add ecx, ebx
add ebp, eax
mov edx, ecx
xor edx, ebp
not ecx
and ecx, ebp
add ecx, ecx
sub ecx, edx
add cl, 0x76
mov byte [esp + eax + 0x5e249ce2], cl
inc eax
cmp eax, 0xa1db63aa
jne 0x40d630
mov dword [esp], 0x23383c42
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov ebp, 0x21358888
nop
nop
nop
nop
movzx ebx, byte [esp + ebp - 0x21358888]
mov edx, ebx
and edx, ebp
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0x8d
mul cl
mov ecx, eax
add cl, bl
mov eax, edx
shr al, 1
and al, 1
or dl, 2
mul dl
add al, al
sub cl, al
movzx eax, cl
add eax, ebp
add al, 0x58
mov byte [esp + ebp - 0x21358888], al
inc ebp
cmp ebp, 0x2135888f
jne 0x40d690
mov dword [esp + 0x10], 0xc6c0bcbd
mov dword [esp + 0x14], 0xc2c2b0ac
mov dword [esp + 0x18], 0xffcac08d
mov dword [esp + 0x1c], 0xfac7fec3
mov dword [esp + 0x20], 0x82f7c3c2
mov dword [esp + 0x24], 0xc895afa9
mov dword [esp + 0x28], 0xd5efddd6
mov dword [esp + 0x2c], 0xd68a90d8
mov dword [esp + 0x30], 0xd0ddd1d3
mov dword [esp + 0x34], 0xd8dfd1dd
mov dword [esp + 0x38], 0x9ddaf3a6
mov dword [esp + 0x3c], 0xe2a3afa3
mov dword [esp + 0x40], 0x92a69094
mov dword [esp + 0x44], 0x96a8d5ff
mov dword [esp + 0x48], 0xc9e78cb5
mov dword [esp + 0x4c], 0x8ab2b48a
mov dword [esp + 0x50], 0x85c2eac2
mov dword [esp + 0x54], 0xb983b9bd
mov dword [esp + 0x58], 0xd6bf84b9
mov word [esp + 0x5c], 0x1dfe
mov byte [esp + 0x60], 0
mov word [esp + 0x5e], 0
xor eax, eax
mov ebx, dword [esp + 0xa0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x18
xor cl, byte [esp + eax + 0x10]
add cl, 0x88
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x51
jne 0x40d790
add ebx, edi
movzx ecx, byte [esp + 0x10]
mov eax, ebx
test cl, cl
je 0x40d7cb
lea edx, [esp + 0x11]
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d7c0
mov byte [eax], 0
movzx ecx, byte [esi]
test cl, cl
je 0x40d7eb
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40d7e0
mov byte [eax], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40d80b
lea edx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d800
mov byte [eax], 0
movzx ecx, byte [esp + 0x64]
test cl, cl
mov dword [esp + 8], ebx
je 0x40d82b
lea edx, [esp + 0x65]
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d820
mov byte [eax], 0
mov ebx, dword [esp + 0xac]
mov ecx, ebx
shr ecx, 2
mov edx, dword [esp + 0xa8]
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ebp, ebx
and ebp, 0xfffffffc
lea esi, [eax + ebp]
add ebp, dword [esp + 0xa8]
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, esi
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test bl, 1
je 0x40d881
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx edx, byte [ebp + ecx]
mov byte [esi + ecx], dl
mov dword [esp + 0x10], 0x1e610503
mov dword [esp + 0x14], 0x222ad4d2
mov dword [esp + 0x18], 0xd221d0d0
mov dword [esp + 0x1c], 0xd8ebdfe8
mov dword [esp + 0x20], 0xf3ecd8d7
mov dword [esp + 0x24], 0x6f6d30c7
mov word [esp + 0x28], 0x6d6b
mov byte [esp + 0x2a], 0x66
mov word [esp + 0x2b], 0
xor ecx, ecx
xor esi, esi
mov ebx, dword [esp + 8]
nop
nop
nop
nop
mov edi, esi
xor edi, 0xc3
mov edx, ecx
and edx, 0x38
sub edx, edi
xor dl, byte [esp + esi + 0x10]
add dl, 0xcf
mov byte [esp + esi + 0x10], dl
inc esi
add ecx, 2
cmp esi, 0x1d
jne 0x40d8d0
add eax, dword [esp + 0xac]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x40d91b
lea edx, [esp + 0x11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d910
mov byte [eax], 0
mov ecx, eax
not ecx
and ecx, ebx
not ebx
and ebx, eax
sub ebx, ecx
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], ebx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10