Function at 0x40a430
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, 0x98
mov edi, dword [esp + 0xac]
mov dword [esp + 0x68], ecx
add edi, dword [ecx + 0x60]
mov dword [esp + 0x6c], 0xa5a8aad1
mov dword [esp + 0x70], 0x165a55b3
mov dword [esp + 0x74], 0x4a526438
mov dword [esp + 0x78], 0x51410f26
mov dword [esp + 0x7c], 0x41474450
mov dword [esp + 0x80], 0x49445c5b
mov dword [esp + 0x84], 0x40014b05
mov dword [esp + 0x88], 0x5055495e
mov dword [esp + 0x8c], 0xeaece840
mov dword [esp + 0x90], 0xc7ee
mov byte [esp + 0x94], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x28
ja 0x40a4ee
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x6c]
add eax, 0xf6ab877b
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x99
mov ecx, dword [esp]
mov byte [esp + ecx + 0x6c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x29
jb 0x40a4c0
mov dword [esp], 0xb780bca6
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 7
ja 0x40a558
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx]
lea edx, [eax + ecx]
add edx, 0xa4292cde
add eax, 0xde
and eax, ecx
mov ecx, edx
xor ecx, eax
add ecx, eax
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0xaa
mov ecx, dword [esp + 8]
mov byte [esp + ecx], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 8
jb 0x40a510
mov dword [esp + 0x10], 0x627c2837
mov dword [esp + 0x14], 0x667a1410
mov dword [esp + 0x18], 0x75626c17
mov dword [esp + 0x1c], 0x6e697261
mov dword [esp + 0x20], 0x5e111d62
mov dword [esp + 0x24], 0x1c6bb1bb
mov dword [esp + 0x28], 0x1319171e
mov dword [esp + 0x2c], 0x1a625414
mov dword [esp + 0x30], 0xc0b0b11
mov dword [esp + 0x34], 0xc010b07
mov dword [esp + 0x38], 0xb527d0e
mov dword [esp + 0x3c], 0x46050101
mov dword [esp + 0x40], 0x2e3e2c10
mov dword [esp + 0x44], 0x2a3c6f45
mov dword [esp + 0x48], 0x6741383f
mov dword [esp + 0x4c], 0x3e3a383a
mov dword [esp + 0x50], 0x237a5662
mov dword [esp + 0x54], 0x2f252327
mov dword [esp + 0x58], 0x5229203b
mov word [esp + 0x5c], 0x9776
mov dword [esp + 0x5e], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x51
ja 0x40a643
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x5ead04af
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x95
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x52
jb 0x40a610
mov eax, dword [esp + 0xb0]
movzx ecx, byte [esp + 0x10]
mov edx, edi
test cl, cl
je 0x40a66b
lea esi, [esp + 0x11]
mov edx, edi
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40a660
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x40a68b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x40a680
mov byte [edx], 0
movzx eax, byte [esp]
test al, al
je 0x40a6ab
lea ecx, [esp + 1]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a6a0
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xb4]
mov byte [edx], 0
movzx eax, byte [esp + 0x6c]
test al, al
mov dword [esp + 0x64], edi
je 0x40a6db
lea ecx, [esp + 0x6d]
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a6d0
mov byte [edx], 0
mov ecx, ebx
shr ecx, 2
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
and eax, 0xfffffffc
lea esi, [edx + eax]
add eax, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, eax
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test bl, 1
je 0x40a718
mov ecx, ebx
and ecx, 2
movzx eax, byte [eax + ecx]
mov byte [esi + ecx], al
mov dword [esp + 0x10], 0x4e416563
mov dword [esp + 0x14], 0x425a3432
mov dword [esp + 0x18], 0x12413030
mov dword [esp + 0x1c], 0x281b2f18
mov dword [esp + 0x20], 0x131c2817
mov dword [esp + 0x24], 0x7f7d5027
mov word [esp + 0x28], 0x7d7b
mov byte [esp + 0x2a], 0x86
mov dword [esp + 0x2b], 0
mov byte [esp + 0x2f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
mov esi, dword [esp + 0x64]
ja 0x40a7ae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x10]
add eax, 0x93b6cfe5
xor eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
add al, 0x87
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x40a780
add edx, ebx
movzx eax, byte [esp + 0x10]
test al, al
je 0x40a7cb
lea ecx, [esp + 0x11]
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a7c0
mov byte [edx], 0
sub edx, esi
mov eax, dword [esp + 0x68]
add dword [eax + 0x60], edx
add esp, 0x98
pop esi
pop edi
pop ebx
pop ebp
ret 0x10