Function at 0x5c7cb6
Capabilities:
Encode data using xor

Disassembly:
push dword [esp]
mov ecx, dword [esp]
push eax
mov dword [esp], 0x7f4f79a4
and dword [esp], 0x3def673f
sub dword [esp], 0xbecfc762
neg dword [esp]
shl dword [esp], 3
dec dword [esp]
neg dword [esp]
sub dword [esp], 0x7d2121bd
not dword [esp]
add dword [esp], 0x1da7358c
push eax
mov eax, 0xb3fdafdd
xor dword [esp + 4], eax
pop eax
push eax
mov eax, 0x7ebfc380
or dword [esp + 4], eax
pop eax
inc dword [esp]
not dword [esp]
inc dword [esp]
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x575f4144
sub dword [esp + 4], 0x79ffd036
sub dword [esp + 4], 0x2ff669d4
sub dword [esp + 4], ebp
add dword [esp + 4], 0x2ff669d4
add dword [esp + 4], 0x79ffd036
push dword [esp]
pop ebp
add esp, 4
push edx
push ecx
mov ecx, 0x19628fc3
mov edx, ecx
pop ecx
sub dword [esp + 4], edx
pop edx
mov dword [esp], ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
add esp, 4
push ebx
mov ebx, esp
add ebx, 4
sub ebx, 4
xchg dword [esp], ebx
mov esp, dword [esp]
mov dword [esp], eax
mov eax, 0x9fdc1a6
sub eax, 0x39de5d1b
sub eax, 0x992131bf
sub ecx, eax
mov eax, dword [esp]
add esp, 4
push ebx
mov ebx, 0x5cf4295d
shl ebx, 2
and ebx, 0x753dae60
add ebx, 0xbce0941c
add ecx, ebx
push dword [esp]
mov ebx, dword [esp]
sub esp, 4
mov dword [esp], ecx
mov ecx, esp
add ecx, 4
push ebx
mov ebx, 4
add ecx, ebx
pop ebx
xchg dword [esp], ecx
mov esp, dword [esp]
add esp, 4
push ebp
mov ebp, 0x2f799129
add ecx, ebp
pop ebp
add ecx, dword [esp]
sub ecx, 0x2f799129
push ebp
mov ebp, 0x4be3abb8
shl ebp, 1
dec ebp
and ebp, 0x22ff3179
add ebp, 0x77efece6
sub ebp, 0x4cc5c5d3
sub ecx, ebp
pop ebp
push edx
mov edx, 0x5ffbcc25
sub edx, 0x28fd9959
add ecx, edx
pop edx
push 0x3ba42563
mov dword [esp], esi
push edi
mov edi, 0x474f79d5
mov dword [esp + 4], edi
pop edi
mov dword [esp], ebp
push esp
pop ebp
push ebx
mov ebx, 4
add ebp, ebx
pop ebx
sub esp, 4
mov dword [esp], edi
mov edi, 4
sub ebp, 0x7d62ea12
add ebp, edi
push edx
mov edx, 0x7eaeceb9
not edx
push ecx
mov ecx, 0x5f7b1bb9
shl ecx, 1
push esi
mov esi, 0x3ffffe03
xor ecx, esi
pop esi
inc ecx
sub ecx, 0x20b05c9
and edx, ecx
pop ecx
push edx
mov dword [esp], ecx
mov ecx, 0x355ba31d
and edx, ecx
pop ecx
sub edx, 0x82ed16ee
sub ebp, 0x6bff4800
add ebp, edx
add ebp, 0x6bff4800
mov edx, dword [esp]
add esp, 4
mov edi, dword [esp]
add esp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
sti
push 0x36c77d2e
mov dword [esp], ecx
push eax
mov dword [esp], edx
mov dword [esp], 0x7eef8af4
and dword [esp], 0x2f7b6bc9
add dword [esp], 0x3473a498
sub dword [esp], 0xebf36c6a
shr dword [esp], 6
shl dword [esp], 2
add dword [esp], 0x737e9061
add dword [esp], 0x57deb5c5
xor dword [esp], 0x7eff51d5
sub dword [esp], 0x8d34eb17
push edi
mov edi, 0x57fce1ea
xor dword [esp + 4], edi
pop edi
dec dword [esp]
sub dword [esp], 0x42a75312
neg dword [esp]
xchg dword [esp], ebp
not ebp
xchg dword [esp], ebp
xor dword [esp], 0x7c2847d5
mov ecx, dword [esp]
add esp, 4
push edi
push esi
mov esi, 0x5ded543a
mov edi, 0x19fce9f9
add edi, esi
pop esi
and edi, 0x67d74cdf
neg edi
sub edi, 0x67612401
push 0xa0abfde
mov dword [esp], ebx
mov ebx, 0x37de0822
xor ebx, 0x456d59e0
push esi
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x7fbe2fa4
mov esi, ebp
pop ebp
xor ebx, esi
mov esi, dword [esp]
add esp, 4
xor ebx, 0x6af642fe
or edi, ebx
pop ebx
sub edi, 0x6e14c07d
sub ecx, edi
pop edi
push ecx
sub dword [esp], 0x3f7f1466
pop eax
push edx
mov edx, 0x3f7f1466
add eax, edx
pop edx
pop ecx
push edi
mov dword [esp], edx
mov edx, 0x36f5b17d
neg edx
push edx
not dword [esp]
pop edx
push eax
mov eax, 0x2bf7ffcc
inc eax
sub eax, 0x2bf7ffce
sub edx, eax
pop eax
and edx, 0x6fed67db
sub edx, 0x7fd3f513
push eax
sub esp, 4
mov dword [esp], ecx
push ebp
push ecx
push edi
mov edi, 0x686f9624
add edi, 0x174e4203
push edi
sub dword [esp], 0x5ccabc2a
pop ecx
add ecx, 0x5ccabc2a
pop edi
mov ebp, ecx
pop ecx
not ebp
sub ebp, 1
inc ebp
xor ebp, 0xef862c46
mov ecx, ebp
pop ebp
neg ecx
push eax
mov eax, 0x7fd742d3
sub ecx, eax
pop eax
push ebx
mov ebx, 0x6bd39761
xor ecx, ebx
pop ebx
mov eax, ecx
pop ecx
add edx, eax
pop eax
push ebx
mov ebx, 0x4dbfd9ce
add edx, ebx
pop ebx
push edx
mov edx, 0x1dc75b29
xor edx, 0x44001291
sub eax, edx
pop edx
sub eax, edx
add eax, 0x59c749b8
pop edx
push dword [ecx]
push dword [esp]
mov esi, dword [esp]
add esp, 4
push ebp
mov ebp, esp
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x5f9271be
push ecx
not dword [esp]
pop ecx
inc ecx
xor ecx, 0xa06d8e46
add ebp, 0x7e67a2d0
add ebp, ecx
sub ebp, 0x7e67a2d0
mov ecx, dword [esp]
add esp, 4
push 0x7d38247b
mov dword [esp], edi
mov dword [esp], eax
push ebx
mov ebx, 0x6bfe9441
mov eax, ebx
pop ebx
inc eax
not eax
inc eax
add eax, 0x6bfe9446
add ebp, 0x2eab0234
add ebp, eax
push eax
mov eax, 0x7bfa8ab9
add eax, 0xb2b0777b
sub ebp, eax
mov eax, dword [esp]
add esp, 4
pop eax
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
push ebx
mov ebx, 0x430644b3
push eax
push ebx
mov ebx, 0x616e02c1
not ebx
add ebx, 0xdd6dcc16
mov eax, ebx
pop ebx
push ebx
push edx
mov edx, esp
add edx, 4
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], esi
push 0x3e6fcfa8
pop esi
sub esi, 0x7bfb4e44
sub esi, 0x73fe8c34
push ecx
mov ecx, 0xcf807f01
sub esi, ecx
pop ecx
mov ebx, esi
pop esi
sub eax, ebx
pop ebx
not eax
shl eax, 8
neg eax
xor eax, 0x1d6ef090
add esi, eax
pop eax
sub esi, ebx
sub esp, 4
mov dword [esp], eax
mov eax, 0x7fef7b1b
dec eax
add eax, 0x7dfbfa6e
sub eax, 0xe6ad9ef8
sub esi, eax
pop eax
mov ebx, dword [esp]
push ebp
mov ebp, esp
push ebx
push eax
mov eax, 4
mov ebx, eax
pop eax
add ebp, 0x4ff71dcd
sub ebp, 0x37ad153a
add ebp, ebx
add ebp, 0x37ad153a
sub ebp, 0x4ff71dcd
pop ebx
add ebp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
push esi
mov dword [esp], ebp
mov ebp, esp
push ecx
mov ecx, 0x7bafe2f9
sub ecx, 0xfe66886
shl ecx, 3
sub ecx, 0x5e4bd394
add ebp, ecx
pop ecx
sub ebp, 4
push ecx
mov dword [esp], ebp
push dword [esp + 4]
pop ebp
pop dword [esp]
pop esp
mov dword [esp], ecx
mov dword [esp], 0x7fc17f96
mov dword [esp], eax
mov eax, 0x433112c7
xor esi, eax
push dword [esp]
push dword [esp]
push dword [esp]
pop eax
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
push edx
mov edx, esp
add edx, 4
add edx, 4
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
push esi
mov esi, esp
add esi, 4
add esi, 4
xchg dword [esp], esi
mov esp, dword [esp]
push 0x5aef3782
mov dword [esp], ecx
mov dword [esp], ebp
mov dword [esp], ebx
push edi
mov dword [esp], 0x66fe1e4a
shr dword [esp], 6
dec dword [esp]
dec dword [esp]
and dword [esp], 0x4fe9b700
sub dword [esp], 0xe9c28415
pop ebx
xor esi, ebx
push dword [esp]
pop ebx
push esi
mov esi, esp
push ebp
mov ebp, 4
add esi, ebp
pop ebp
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x3db7a757
shr ecx, 5
xor ecx, 0x43ff3b8f
push 0xf86f55
mov dword [esp], edi
mov edi, 0x6f9feb61
add edi, 0x605f3f7e
shr edi, 4
push ebp
mov ebp, 0x177fdbe7
add ebp, 0x6effb22f
dec ebp
push eax
mov eax, 0xf03cef65
xor ebp, eax
pop eax
or edi, ebp
pop ebp
add edi, 0xecdf3ad0
inc edi
add edi, 0x3b7ff303
shl edi, 5
shl edi, 2
xor edi, 0xf03daea3
or ecx, edi
pop edi
sub ecx, 0x5ff73a33
push edx
mov edx, 0x53ed8faa
add ecx, edx
pop edx
add ecx, 0xac49e3d6
add esi, ecx
pop ecx
xor esi, dword [esp]
xor dword [esp], esi
xor esi, dword [esp]
pop esp
push eax
mov dword [esp], 0x441563a7
mov dword [esp], ecx
sub esp, 4
mov dword [esp], edi
mov dword [esp], ebp
mov dword [esp], edi
mov dword [esp], eax
mov eax, 0x7ddfea79
mov dword [esp + 4], eax
pop eax
shr dword [esp], 1
xor dword [esp], 0x3d5fda7f
shr dword [esp], 1
or dword [esp], 0x3fedf5e2
push eax
push edx
push 0x7b794f3f
pop edx
not edx
shr edx, 5
sub edx, 0x7fb3f39e
push ebx
mov ebx, 0x1f3ecd46
add ebx, 0x67ffe44f
add ebx, 0x75efd066
sub ebx, 0x33adf897
add ebx, 0x74cf6340
add ebx, 0x537bfd1c
add ebx, 0xfe59f92b
sub edx, ebx
pop ebx
mov eax, edx
pop edx
sub dword [esp + 4], 0x7dca4cc6
add dword [esp + 4], eax
add dword [esp + 4], 0x7dca4cc6
pop eax
mov dword [esp], ebx
mov dword [esp], 0x6b9f6d45
push 0x4730ed7e
mov dword [esp], eax
mov eax, 0x4f43e1d2
and dword [esp + 4], eax
pop eax
add dword [esp], 0xba9fc1af
mov dword [esp], esi
pop dword [ecx]
push edx
push esp
pop edx
push ebx
mov ebx, 4
add edx, ebx
mov ebx, dword [esp]
add esp, 4
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], ebx
push ecx
mov ecx, 0x7fc75800
mov ebx, 0x9b095a7b
sub ebx, ecx
pop ecx
add ecx, 0x3ff9412b
sub ecx, ebx
push esi
mov esi, 0x7bdcca08
neg esi
shl esi, 1
push ecx
push esi
mov esi, 0x1adf3e12
add esi, 0x44e0739a
mov ecx, esi
pop esi
inc ecx
add ecx, 0xf43ddae2
xor esi, ecx
pop ecx
sub esi, 0x34b9707e
sub esi, 0xe70935d6
sub ecx, 0x73fe5a72
sub ecx, esi
add ecx, 0x73fe5a72
pop esi
push dword [esp]
pop ebx
push 0x4dafaf92
mov dword [esp], ebp
mov dword [esp], edx
push esp
pop edx
add edx, 4
push ebp
mov ebp, 4
add edx, ebp
pop ebp
push edx
push dword [esp + 4]
pop edx
pop dword [esp]
pop esp
push ebp
mov dword [esp], eax
push edx
mov dword [esp], ebx
push eax
mov eax, 0x28fbe5fe
push eax
xor dword [esp], 0x5b7ff391
pop ebx
xor ebx, 0x5b7ff391
pop eax
push ecx
push edx
mov edx, 0x116a0352
mov ecx, edx
pop edx
sub ecx, 0x3742abbf
sub ecx, 0x79ea0577
and ecx, 0x7bbf60ae
xor ecx, 0x6dff27ef
xor ecx, 0x3e7b806a
mov eax, ecx
mov ecx, dword [esp]
add esp, 4
xor eax, ebx
push dword [esp]
pop ebx
add esp, 4
add ecx, eax
push dword [esp]
push dword [esp]
pop eax
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
push ebp
mov ebp, esp
add ebp, 4
push edx
mov dword [esp], edi
mov edi, 4
add ebp, edi
pop edi
xchg dword [esp], ebp
mov esp, dword [esp]
dec eax
jne 0x5c7ca8
sti
push 0x2688bc2c
push dword [esp]
push dword [esp]
pop ecx
push esi
mov esi, esp
push ebp
mov ebp, 0x6ba15a72
not ebp
xor ebp, 0x945ea589
add esi, ebp
pop ebp
add esi, 4
xchg dword [esp], esi
pop esp
push edx
mov dword [esp], ecx
sub esp, 4
push esp
pop dword [esp]
push edx
mov edx, 4
add dword [esp + 4], edx
pop edx
pop ecx
push esi
mov esi, 4
add ecx, 0x2edafdba
add ecx, esi
sub ecx, 0x2edafdba
mov esi, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
sub esp, 4
mov dword [esp], edx
mov edx, 4
add ecx, edx
pop edx
xchg dword [esp], ecx
mov esp, dword [esp]
push edx
mov edx, 0x5e7cb4a0
and edx, 0x76f20900
push 0x43114df6
mov dword [esp], edx
add dword [esp], 0xffffffff
pop edx
or edx, 0x75df9ffc
push edx
mov dword [esp], esi
push edi
push ecx
push 0x3cddc0ff
mov dword [esp], edi
mov edi, 0x3fbfa99e
xor edi, 0x55ff0a67
inc edi
xor edi, 0x7fffcff1
xchg edi, ebp
not ebp
xchg edi, ebp
xor edi, 0x8da0839b
mov ecx, edi
pop edi
push ecx
add dword [esp], 0x3f4c9f44
pop edi
sub edi, 0x3f4c9f44
pop ecx
mov esi, edi
pop edi
push ebx
mov ebx, 0x5c7ff012
sub edx, 0x5d7f284e
add edx, ebx
add edx, 0x5d7f284e
mov ebx, dword [esp]
add esp, 4
sub edx, esi
push ebp
mov ebp, 0x5c7ff012
sub edx, ebp
pop ebp
mov esi, dword [esp]
add esp, 4
push edx
sub dword [esp], 0x5fdf546e
pop ebx
add ebx, 0x5fdf546e
mov edx, dword [esp]
add esp, 4
push esi
mov dword [esp], eax
push ebx
mov dword [esp], edx
push edi
push 0x77ff90e0
pop edi
push ebp
mov ebp, 0x9958b428
add edi, ebp
pop ebp
mov edx, edi
pop edi
sub esp, 4
mov dword [esp], edx
mov eax, dword [esp]
add esp, 4
push dword [esp]
pop edx
push edx
mov dword [esp], edi
mov edi, esp
add edi, 4
push eax
push 4
mov eax, dword [esp]
add esp, 4
add edi, eax
pop eax
xchg dword [esp], edi
pop esp
push 0x3b1727da
mov dword [esp], eax
mov ecx, dword [esp]
add esp, 4
mov eax, dword [esp]
add esp, 4
jmp 0x5c82ac
jp 0x5c8258
fcomp dword [ecx]
scasd eax, dword es:[edi]
insb byte es:[edi], dx
and byte [ebp - 0x25], dl
xor bh, byte [ebx]
cmp ebp, dword [edx + 0x28]
leave
and ebp, dword [edx + 0x52959718]
int 0xe4
ljmp 0xc92c