Function at 0x40d220
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 dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 0x64], 0xa5a0be89
mov dword [esp + 0x68], 0xfaa6bdb7
mov dword [esp + 0x6c], 0xbea6ac80
mov dword [esp + 0x70], 0xa9b9fbe2
mov dword [esp + 0x74], 0x89bbbca8
mov dword [esp + 0x78], 0x918c848f
mov dword [esp + 0x7c], 0x98c99fd5
mov dword [esp + 0x80], 0x888d818a
mov dword [esp + 0x84], 0xfee4e098
mov dword [esp + 0x88], 0xf3fa
xor eax, eax
nop
mov edx, eax
add dl, 0xcd
xor dl, byte [esp + eax + 0x64]
dec dl
mov byte [esp + eax + 0x64], dl
inc eax
cmp eax, 0x28
jne 0x40d290
mov dword [esp + 4], 0x998c88b2
mov byte [esp + 8], 0
mov esi, 0xd937e75b
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + esi + 0x26c818a9]
xor edi, esi
mov eax, 0x3e1784c7
sub eax, edi
or eax, 1
lea ebp, [edi + eax]
add ebp, 0xc1e87b39
mov edx, ebp
and edx, 0xfd
mov eax, ebp
and eax, 2
or ebp, 2
imul ebp, eax
xor eax, 2
imul eax, edx
mov ebx, edi
or ebx, 0xfe
and edi, 0xfe
mov edx, 0xc7
sub edx, edi
and edx, ebx
not edx
add edx, ebp
add edx, eax
mov byte [esp + esi + 0x26c818a9], dl
inc esi
cmp esi, 0xd937e760
jne 0x40d2c0
mov dword [esp + 0x10], 0x1e04d0d3
mov dword [esp + 0x14], 0x21e2c28
mov dword [esp + 0x18], 0x50e0433
mov dword [esp + 0x1c], 0xa010609
mov dword [esp + 0x20], 0xc2090506
mov dword [esp + 0x24], 0x7c2fe9e7
mov dword [esp + 0x28], 0x7f71037a
mov dword [esp + 0x2c], 0x7e56bc04
mov dword [esp + 0x30], 0xc777709
mov dword [esp + 0x34], 0x6c790f7b
mov dword [esp + 0x38], 0x67be556a
mov dword [esp + 0x3c], 0xa26d6969
mov dword [esp + 0x40], 0x721a7468
mov dword [esp + 0x44], 0x4e64b355
mov dword [esp + 0x48], 0x8b69505b
mov dword [esp + 0x4c], 0x5a5e5056
mov dword [esp + 0x50], 0x5f866286
mov dword [esp + 0x54], 0x4b5d575b
mov dword [esp + 0x58], 0x7e41485f
mov word [esp + 0x5c], 0xbb9a
mov byte [esp + 0x62], 0
mov dword [esp + 0x5e], 0
xor esi, esi
xor edi, edi
mov ecx, dword [esp + 0xa0]
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edi + 0x10]
mov edx, esi
and edx, 0x52
mov ebp, edi
xor ebp, 0x8ca75929
add ebp, edx
lea edx, [ebp*2]
not edx
add edx, ebp
and ebp, eax
lea ebx, [eax + eax]
not ebx
add ebx, eax
and edx, ebx
or edx, ebp
mov eax, 0x17ed5e75
sub eax, edx
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov edx, eax
xor edx, 0x44
and eax, 0x3b
add eax, eax
sub eax, edx
mov byte [esp + edi + 0x10], al
inc edi
add esi, 2
cmp edi, 0x53
jne 0x40d3e0
add ecx, dword [esp]
movzx eax, byte [esp + 0x10]
mov edx, ecx
test al, al
je 0x40d45b
lea esi, [esp + 0x11]
mov edx, ecx
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d450
mov byte [edx], 0
mov esi, dword [esp + 0xa4]
movzx eax, byte [esi]
test al, al
je 0x40d47b
inc esi
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x40d470
mov dword [esp], ecx
mov byte [edx], 0
movzx eax, byte [esp + 4]
test al, al
je 0x40d49b
lea ecx, [esp + 5]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d490
mov byte [edx], 0
movzx eax, byte [esp + 0x64]
test al, al
je 0x40d4bb
lea ecx, [esp + 0x65]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d4b0
mov byte [edx], 0
mov esi, dword [esp + 0xac]
mov ecx, esi
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 eax, esi
not eax
or eax, 0xfffffffc
add eax, esi
mov edi, esi
lea esi, [edx + eax]
inc esi
add eax, ebx
inc eax
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 0x40d517
mov ecx, dword [esp + 0xac]
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x42436f6d
mov dword [esp + 0x14], 0x5e5a080a
mov dword [esp + 0x18], 0x16430c0c
mov dword [esp + 0x1c], 0x1419111c
mov dword [esp + 0x20], 0x9081411
mov dword [esp + 0x24], 0x75775419
mov dword [esp + 0x28], 0x7e7775
mov ecx, 0x482c9ee6
mov esi, 0x19
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x482c9ed6]
lea eax, [ecx - 0x482c9ec0]
not edi
mov ebx, ecx
and ebx, edi
lea ebp, [ebx + ebx]
not ebp
add ebp, ebx
mov ebx, esi
and ebx, 0xcb
and eax, 0x34
or eax, ebx
xor eax, 0xcb
or eax, edi
and eax, ebp
mov bl, 0x81
sub bl, al
mov byte [esp + ecx - 0x482c9ed6], bl
inc ecx
dec esi
cmp ecx, 0x482c9f02
jne 0x40d560
add edx, dword [esp + 0xac]
movzx eax, byte [esp + 0x10]
test al, al
je 0x40d5cb
lea ecx, [esp + 0x11]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40d5c0
mov byte [edx], 0
sub edx, dword [esp]
mov eax, dword [esp + 0xc]
add dword [eax + 0x60], edx
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10