Function at 0x40a820
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, 0x80
mov dword [esp], ecx
mov edx, dword [ecx + 0x80]
mov dword [esp + 0x14], 0x9fa4a6d3
mov dword [esp + 0x18], 0x1a625b51
mov dword [esp + 0x1c], 0x565a6044
mov dword [esp + 0x20], 0x6b47052e
mov dword [esp + 0x24], 0x5b41406c
mov dword [esp + 0x28], 0x73484049
mov dword [esp + 0x2c], 0x4c0f710f
mov dword [esp + 0x30], 0x544b4f56
mov dword [esp + 0x34], 0xe6e8e47c
mov dword [esp + 0x38], 0xcdd6
mov edi, 0x52a00efc
mov eax, 0xad5ff103
nop
nop
nop
movzx esi, byte [esp + edi - 0x52a00ee8]
mov ebp, eax
and ebp, 0xac08d1c0
mov ebx, edi
and ebx, 0x42000e3f
or ebx, ebp
xor ebx, esi
mov esi, ebx
and esi, 0x13
xor ebx, 0xd3
or ebx, esi
add ebx, esi
inc bl
mov byte [esp + edi - 0x52a00ee8], bl
inc edi
dec eax
cmp edi, 0x52a00f24
jne 0x40a890
mov dword [esp + 0xc], 0x69647842
mov word [esp + 0x10], 0
xor ebx, ebx
nop
mov eax, ebx
add al, 0xe7
xor al, byte [esp + ebx + 0xc]
add al, 0x7d
mov byte [esp + ebx + 0xc], al
inc ebx
cmp ebx, 6
jne 0x40a8e0
mov dword [esp + 0x40], 0x6439fffd
mov dword [esp + 0x44], 0x615f6966
mov dword [esp + 0x48], 0x5632246c
mov dword [esp + 0x4c], 0x64696d63
mov dword [esp + 0x50], 0x744f6551
mov dword [esp + 0x54], 0x49022376
mov dword [esp + 0x58], 0x3a7b7f73
mov dword [esp + 0x5c], 0x4a764c40
mov dword [esp + 0x60], 0x7644092f
mov dword [esp + 0x64], 0x3d177841
mov dword [esp + 0x68], 0x724a787a
mov dword [esp + 0x6c], 0x713a1a32
mov dword [esp + 0x70], 0x556b4d71
mov dword [esp + 0x74], 0x66f5065
mov word [esp + 0x78], 0xc12e
mov dword [esp + 0x7a], 0
xor ebx, ebx
mov ecx, dword [esp + 0x94]
nop
nop
nop
nop
mov eax, ebx
add al, 0x7e
xor al, byte [esp + ebx + 0x40]
add al, 0x8a
mov byte [esp + ebx + 0x40], al
inc ebx
cmp ebx, 0x3e
jne 0x40a980
add ecx, edx
mov word [esp + 4], 0xdcdd
mov byte [esp + 6], 0x22
mov dword [esp + 7], 0
mov edx, 0xf97f2dc8
mov edi, 0x37
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx + 0x680d23c]
mov esi, edi
and esi, eax
mov ebx, edx
xor ebx, eax
mov ebp, edx
and ebp, eax
add ebp, esi
add ebx, eax
sub ebx, ebp
add bl, 0x18
mov byte [esp + edx + 0x680d23c], bl
inc edx
dec edi
cmp edx, 0xf97f2dcf
jne 0x40a9c0
movzx ebx, byte [esp + 4]
mov edx, ecx
test bl, bl
je 0x40aa0b
lea edi, [esp + 5]
mov edx, ecx
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x40aa00
mov byte [edx], 0
mov eax, dword [esp]
movzx ebx, byte [eax + 0x60]
test bl, bl
je 0x40aa3d
lea edi, [eax + 0x61]
mov eax, dword [esp + 0x98]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x40aa30
jmp 0x40aa44
mov eax, dword [esp + 0x98]
mov byte [edx], 0
movzx ebx, byte [esp + 0x40]
test bl, bl
je 0x40aa6b
lea edi, [esp + 0x41]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [edi]
inc edi
test bl, bl
jne 0x40aa60
mov byte [edx], 0
movzx ebx, byte [eax]
test bl, bl
mov dword [esp + 0x3c], ecx
je 0x40aa8b
inc eax
nop
nop
nop
nop
nop
nop
mov byte [edx], bl
inc edx
movzx ebx, byte [eax]
inc eax
test bl, bl
jne 0x40aa80
mov byte [edx], 0
movzx ecx, byte [esp + 0xc]
test cl, cl
je 0x40aaab
lea edi, [esp + 0xd]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x40aaa0
mov byte [edx], 0
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x40aacb
lea edi, [esp + 0x15]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x40aac0
mov byte [edx], 0
mov ebx, dword [esp + 0xa0]
mov ecx, ebx
shr ecx, 2
mov esi, dword [esp + 0x9c]
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ebp, ebx
and ebp, 0xfffffffc
add edx, ebp
add ebp, esi
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, ebx
and ecx, 2
add edx, ecx
test bl, 1
je 0x40ab16
movzx eax, byte [ebp + ecx]
mov byte [edx], al
inc edx
mov dword [esp + 0x40], 0x89878b85
mov byte [esp + 0x44], 0xac
mov dword [esp + 0x45], 0
xor ecx, ecx
nop
nop
nop
movzx eax, byte [esp + ecx + 0x40]
mov esi, ecx
and esi, 4
xor esi, 0xb8af9fe4
mov ebx, ecx
and ebx, 0xb
sub ebx, esi
xor ebx, eax
mov eax, ebx
not eax
and eax, 1
add ebx, 0x73
or ebx, 1
add ebx, eax
mov byte [esp + ecx + 0x40], bl
inc ecx
cmp ecx, 9
jne 0x40ab30
mov dword [esp + 0x14], 0x32331715
mov byte [esp + 0x18], 0xc
mov dword [esp + 0x19], 0
mov ecx, 0xdfe25983
mov edi, 0x7d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ecx + 0x201da691]
lea ebx, [ecx - 1]
lea eax, [edi - 0x60]
and eax, 0x1a
and ebx, 0x85
or ebx, eax
xor ebx, 0xe5
and ebx, ebp
not ebp
or ebp, edi
lea eax, [ecx + ebp]
mov esi, ebx
not esi
and esi, eax
xor ebx, eax
add ebx, ebp
sub ebx, esi
add ebx, ecx
add bl, 0x76
mov byte [esp + ecx + 0x201da691], bl
inc ecx
dec edi
cmp ecx, 0xdfe2598c
jne 0x40ab90
movzx ecx, byte [esp + 0x14]
test cl, cl
je 0x40abfd
lea edi, [esp + 0x15]
mov eax, dword [esp]
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x40abf0
jmp 0x40ac00
mov eax, dword [esp]
mov byte [edx], 0
movzx ecx, byte [eax + 0x60]
test cl, cl
je 0x40ac1b
lea edi, [eax + 0x61]
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x40ac10
mov byte [edx], 0
movzx ecx, byte [esp + 0x40]
test cl, cl
je 0x40ac3b
lea edi, [esp + 0x41]
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x40ac30
mov byte [edx], 0
sub edx, dword [esp + 0x3c]
add dword [eax + 0x80], edx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret 0x10