Function at 0x40da50
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, 0x60
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + 0x60]
mov dword [esp + 0x14], eax
mov word [esp], 0x2537
mov byte [esp + 2], 0x2a
mov dword [esp + 3], 0
mov edi, 0x83e54207
nop
nop
movzx ecx, byte [esp + edi + 0x7c1abdf9]
mov ebx, edi
and ebx, ecx
add ebx, ebx
sub ecx, ebx
add ecx, edi
mov ebx, ecx
and ebx, 1
or ecx, 1
add ecx, ebx
add cl, 0xdc
mov byte [esp + edi + 0x7c1abdf9], cl
inc edi
cmp edi, 0x83e5420e
jne 0x40da80
mov dword [esp + 8], 0x121014fe
mov word [esp + 0xc], 0x1d12
mov dword [esp + 0xe], 0
mov word [esp + 0x12], 0
mov ebx, 0x7b
mov eax, 0x22f17f85
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + ebx - 0x73]
mov edi, eax
and edi, 0xe2
mov ebp, eax
or ebp, 0x1d
add ebp, ebx
or ebp, edi
mov edi, ecx
and edi, 0xffffffe2
or edi, 0x11
and ecx, 0x1d
xor ecx, ebp
xor ecx, edi
xor cl, 0xf3
add cl, 0x9e
mov byte [esp + ebx - 0x73], cl
inc ebx
dec eax
cmp ebx, 0x87
jne 0x40dae0
mov dword [esp + 0x1c], 0x7e44b0b3
mov dword [esp + 0x20], 0x427eaca8
mov dword [esp + 0x24], 0x454e4493
mov dword [esp + 0x28], 0x4a414649
mov dword [esp + 0x2c], 0x82494546
mov dword [esp + 0x30], 0x5c6fa9a7
mov dword [esp + 0x34], 0x5f51435a
mov dword [esp + 0x38], 0x5e769c44
mov dword [esp + 0x3c], 0x4c575749
mov dword [esp + 0x40], 0xac594f5b
mov dword [esp + 0x44], 0xa75e75aa
mov dword [esp + 0x48], 0x62ada9a9
mov dword [esp + 0x4c], 0x92ba94a8
mov dword [esp + 0x50], 0x8ea45375
mov dword [esp + 0x54], 0x4b69b0bb
mov byte [esp + 0x58], 0x28
mov dword [esp + 0x59], 0
mov byte [esp + 0x5d], 0
mov edi, 0x228b11d9
mov ebp, 0xdd74ee26
nop
nop
nop
movzx ecx, byte [esp + edi - 0x228b11bd]
mov ebx, edi
and ebx, ecx
mov eax, ebx
and eax, 0xfffffffd
mov edx, ebx
and edx, 2
or ebx, 2
imul ebx, edx
xor edx, 2
imul edx, eax
add ebx, edx
lea eax, [edi + ecx]
mov edx, ebp
sub edx, ecx
and edx, ebx
not ebx
and ebx, eax
sub ebx, edx
mov eax, ebx
and eax, 0x42
xor ebx, 0xc2
lea eax, [ebx + eax*2]
inc al
mov byte [esp + edi - 0x228b11bd], al
inc edi
dec ebp
cmp edi, 0x228b121b
jne 0x40dbb0
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x1c]
mov edi, eax
test cl, cl
je 0x40dc2b
lea ebx, [esp + 0x1d]
mov edi, eax
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [ebx]
inc ebx
test cl, cl
jne 0x40dc20
mov byte [edi], 0
movzx ecx, byte [esi]
test cl, cl
je 0x40dc4d
inc esi
mov edx, dword [esp + 0x7c]
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40dc40
jmp 0x40dc51
mov edx, dword [esp + 0x7c]
mov byte [edi], 0
movzx ecx, byte [esp + 8]
test cl, cl
je 0x40dc7b
lea esi, [esp + 9]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40dc70
mov byte [edi], 0
movzx ecx, byte [edx]
test cl, cl
je 0x40dc9b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40dc90
mov byte [edi], 0
movzx ecx, byte [esp]
test cl, cl
je 0x40dcbb
lea edx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40dcb0
mov byte [edi], 0
sub edi, eax
mov eax, dword [esp + 0x18]
add dword [eax + 0x60], edi
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret 0xc