Function at 0x40d250
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 esi, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov edi, dword [ecx + 0x60]
mov dword [esp + 0x5c], 0xc5c0cef9
mov dword [esp + 0x60], 0xac6cdd7
mov dword [esp + 0x64], 0x2ec6bce0
mov dword [esp + 0x68], 0x3929eb02
mov dword [esp + 0x6c], 0x392b2c38
mov dword [esp + 0x70], 0x313c243f
mov dword [esp + 0x74], 0x28f94ff5
mov dword [esp + 0x78], 0x383d213a
mov dword [esp + 0x7c], 0xcec4c028
mov word [esp + 0x80], 0xd3ca
mov dword [esp + 0x82], 0
mov byte [esp + 0x86], 0
mov ebp, 0x93ab14f5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ebp + 0x6c54eb67]
mov edx, ebx
and edx, ebp
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0xfd
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, 0x37
mov byte [esp + ebp + 0x6c54eb67], al
inc ebp
cmp ebp, 0x93ab1520
jne 0x40d2e0
mov dword [esp], 0xd7c0dc26
xor eax, eax
nop
nop
nop
nop
mov ecx, eax
and ecx, 2
mov edx, eax
and edx, 0xac
or edx, 2
imul edx, ecx
mov ecx, eax
xor ecx, 0xae
add ecx, edx
xor cl, byte [esp + eax]
add cl, 0x9a
mov byte [esp + eax], cl
inc eax
cmp eax, 4
jne 0x40d330
mov dword [esp + 8], 0x5e508485
mov dword [esp + 0xc], 0x52528084
mov dword [esp + 0x10], 0x574a5085
mov dword [esp + 0x14], 0x6a6f6673
mov dword [esp + 0x18], 0xb26f7372
mov dword [esp + 0x1c], 0x788dc7d9
mov dword [esp + 0x20], 0x7d67757e
mov dword [esp + 0x24], 0x7e9aa068
mov dword [esp + 0x28], 0x60656163
mov dword [esp + 0x2c], 0x68776175
mov dword [esp + 0x30], 0x75baa36e
mov dword [esp + 0x34], 0x52939793
mov dword [esp + 0x38], 0x829e808c
mov dword [esp + 0x3c], 0x8e984d57
mov dword [esp + 0x40], 0x496f849d
mov dword [esp + 0x44], 0x9a829c9a
mov dword [esp + 0x48], 0x9d524a52
mov dword [esp + 0x4c], 0x89938995
mov dword [esp + 0x50], 0x7e978c99
mov word [esp + 0x54], 0x566
mov byte [esp + 0x5a], 0
mov dword [esp + 0x56], 0
mov eax, 0x47b7f154
mov ebp, dword [esp + 0x9c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x47b7f14c]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x5c
mov byte [esp + eax - 0x47b7f14c], cl
inc eax
cmp eax, 0x47b7f1a7
jne 0x40d420
add ebp, edi
movzx ecx, byte [esp + 8]
mov eax, ebp
test cl, cl
je 0x40d46b
lea edx, [esp + 9]
mov eax, ebp
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d460
mov byte [eax], 0
movzx ecx, byte [esi]
test cl, cl
je 0x40d48b
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 0x40d480
mov byte [eax], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40d4ab
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 0x40d4a0
mov byte [eax], 0
movzx ecx, byte [esp + 0x5c]
test cl, cl
je 0x40d4cb
lea edx, [esp + 0x5d]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40d4c0
mov byte [eax], 0
mov edx, dword [esp + 0xa8]
mov ecx, edx
mov esi, edx
shr ecx, 2
mov ebx, dword [esp + 0xa4]
mov edx, ebx
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, esi
not ecx
or ecx, 0xfffffffc
add ecx, esi
mov edi, esi
lea esi, [eax + ecx]
inc esi
lea edx, [ebx + ecx]
inc edx
mov ecx, edi
shr ecx, 1
and ecx, 1
mov ebx, edx
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 0x40d528
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [esi + ecx], dl
mov dword [esp + 8], 0x52533735
mov dword [esp + 0xc], 0x767a989a
mov dword [esp + 0x10], 0x8e738484
mov dword [esp + 0x14], 0x8cb981b4
mov dword [esp + 0x18], 0xb9b88c81
mov dword [esp + 0x1c], 0x1d1f7c89
mov word [esp + 0x20], 0x1f1d
mov byte [esp + 0x22], 0x16
mov word [esp + 0x23], 0
mov ecx, 0xa
mov esi, 0xf5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 2]
mov edi, edx
not edi
or edi, esi
or edx, ecx
and edx, edi
add dl, 0xce
mov byte [esp + ecx - 2], dl
inc ecx
dec esi
cmp ecx, 0x27
jne 0x40d580
add eax, dword [esp + 0xa8]
movzx ecx, byte [esp + 8]
test cl, cl
je 0x40d5cb
lea edx, [esp + 9]
nop
nop
nop
nop
nop
nop
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 0x40d5c0
mov byte [eax], 0
mov ecx, eax
xor ecx, ebp
not ebp
and ebp, eax
add ebp, ebp
sub ebp, ecx
mov eax, dword [esp + 4]
add dword [eax + 0x60], ebp
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret 0x10