Function at 0x40a130
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov edi, dword [ebp + 8]
add edi, dword [ecx + 0x60]
mov dword [esp + 0x80], 0xfff6f4ab
mov dword [esp + 0x84], 0xbcfcf3c9
mov dword [esp + 0x88], 0xc0fcead2
mov dword [esp + 0x8c], 0xcbc789ac
mov dword [esp + 0x90], 0xfbf9faca
mov dword [esp + 0x94], 0xc3c2fac1
mov dword [esp + 0x98], 0xca8fc58f
mov dword [esp + 0x9c], 0xeaf3cff4
mov dword [esp + 0xa0], 0xb0b2b6da
mov dword [esp + 0xa4], 0x41b4
mov byte [esp + 0xa8], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x28
ja 0x40a229
nop
nop
nop
nop
mov esi, dword [esp + 8]
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x80]
mov edx, 0xf7b00e6e
sub edx, esi
add esi, 0x91
or edx, eax
not eax
or eax, esi
add eax, edx
mov edx, 0xfffffffe
sub edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, eax
xor edx, 8
and eax, 8
lea eax, [edx + eax*2]
inc al
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x80], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x29
jb 0x40a1d0
mov dword [esp + 8], 0xfbc2c6e4
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x40a296
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx esi, byte [esp + edx + 8]
lea edx, [eax - 0x58f10aa1]
add eax, 0x5f
and eax, esi
or edx, esi
sub edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
add al, 0x67
mov edx, dword [esp]
mov byte [esp + edx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x40a260
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], 0x56506c6d
mov dword [esp + 0x24], 0x5252607c
mov dword [esp + 0x28], 0x4fbab07d
mov dword [esp + 0x2c], 0x4ab74eb3
mov dword [esp + 0x30], 0x7247b3b2
mov dword [esp + 0x34], 0xb8651f19
mov dword [esp + 0x38], 0xc53fcdc6
mov dword [esp + 0x3c], 0xc61a00c8
mov dword [esp + 0x40], 0xc0cdc1c3
mov dword [esp + 0x44], 0xc8cfc1cd
mov dword [esp + 0x48], 0x2d6a03d6
mov dword [esp + 0x4c], 0x12d3dfd3
mov dword [esp + 0x50], 0x22d62024
mov dword [esp + 0x54], 0x26d8650f
mov dword [esp + 0x58], 0x59371ce5
mov dword [esp + 0x5c], 0x1ae2e41a
mov dword [esp + 0x60], 0x15523a52
mov dword [esp + 0x64], 0xe913e9ed
mov dword [esp + 0x68], 0x260ff409
mov word [esp + 0x6c], 0x6d4e
mov dword [esp + 0x72], 0
mov dword [esp + 0x6e], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x55
ja 0x40a39d
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x20]
lea edx, [eax + 0xa8]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x4ce288a8
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x68
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x56
jb 0x40a360
mov eax, dword [ebp + 0xc]
movzx ecx, byte [esp + 0x20]
mov edx, edi
test cl, cl
je 0x40a3cb
lea esi, [esp + 0x21]
mov edx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [esi]
inc esi
test cl, cl
jne 0x40a3c0
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x40a3eb
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 0x40a3e0
mov byte [edx], 0
movzx eax, byte [esp + 8]
test al, al
je 0x40a40b
lea ecx, [esp + 9]
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a400
mov ebx, dword [ebp + 0x10]
mov byte [edx], 0
movzx eax, byte [esp + 0x80]
test al, al
mov dword [esp + 0x7c], edi
je 0x40a43b
lea ecx, [esp + 0x81]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a430
mov byte [edx], 0
mov esi, dword [ebp + 0x14]
mov ecx, esi
shr ecx, 2
mov eax, ebx
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, esi
mov eax, esi
xor eax, 3
or esi, 0xfffffffc
and esi, eax
add esi, edx
mov eax, edi
not eax
or eax, 0xfffffffc
add eax, edi
add ebx, eax
inc ebx
mov ecx, edi
mov eax, edi
xor ecx, 0xfffffffc
or eax, 3
and eax, ecx
mov dword [esp + 0x78], eax
mov ecx, eax
shr ecx, 1
mov dword [esp + 0x18], ebx
mov edi, esi
mov eax, dword [esp + 0x18]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x78]
mov edi, eax
or edi, 1
mov ecx, eax
xor ecx, 0xfffffffe
and ecx, edi
je 0x40a53d
and eax, 0xfffffffe
add esi, eax
add ebx, eax
mov edi, ecx
and edi, 7
je 0x40a4df
mov dword [esp + 0x18], ecx
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [ebx + eax]
mov byte [esi + eax], cl
inc eax
cmp edi, eax
jne 0x40a4c0
add ebx, eax
add esi, eax
mov ecx, dword [esp + 0x18]
mov edi, ecx
sub edi, eax
cmp ecx, 8
jae 0x40a4e6
jmp 0x40a53d
mov edi, ecx
cmp ecx, 8
jb 0x40a53d
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [ebx + ecx]
mov byte [esi + ecx], al
movzx eax, byte [ebx + ecx + 1]
mov byte [esi + ecx + 1], al
movzx eax, byte [ebx + ecx + 2]
mov byte [esi + ecx + 2], al
movzx eax, byte [ebx + ecx + 3]
mov byte [esi + ecx + 3], al
movzx eax, byte [ebx + ecx + 4]
mov byte [esi + ecx + 4], al
movzx eax, byte [ebx + ecx + 5]
mov byte [esi + ecx + 5], al
movzx eax, byte [ebx + ecx + 6]
mov byte [esi + ecx + 6], al
movzx eax, byte [ebx + ecx + 7]
mov byte [esi + ecx + 7], al
add ecx, 8
cmp edi, ecx
jne 0x40a4f0
mov dword [esp + 0x20], 0x5457b3b9
mov dword [esp + 0x24], 0x68641a18
mov dword [esp + 0x28], 0x877061a
mov dword [esp + 0x2c], 0x2350132
mov dword [esp + 0x30], 0x393a0e0d
mov dword [esp + 0x34], 0xa5a37e0d
mov word [esp + 0x38], 0x9ba1
mov byte [esp + 0x3a], 0x90
mov dword [esp + 0x3b], 0
mov dword [esp + 0x3f], 0
mov dword [esp + 0x42], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x25
ja 0x40a5fb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x20]
mov esi, eax
and esi, 0xe9b4b0c7
xor eax, 0xe9b4b0c7
lea eax, [eax + esi*2]
lea esi, [eax + ecx]
and eax, ecx
add eax, eax
sub esi, eax
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x80]
add al, 0x8f
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x20], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x26
jb 0x40a5b0
add edx, dword [ebp + 0x14]
movzx eax, byte [esp + 0x20]
test al, al
mov edi, dword [esp + 0x7c]
je 0x40a62d
lea ecx, [esp + 0x21]
mov esi, dword [esp + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x40a620
jmp 0x40a631
mov esi, dword [esp + 0x1c]
mov byte [edx], 0
sub edx, edi
add dword [esi + 0x60], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10