Function at 0x5f893c11
Capabilities:
Encode data using xor

Disassembly:
dec eax
mov dword [esp + 0x68], ebx
dec eax
lea edx, [esp + 0x100]
dec esp
mov eax, esi
dec eax
lea ecx, [esp + 0x70]
call fcn.5f8724ec
mov ecx, dword [esp + 0xac]
inc esp
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x7c]
inc esp
mov esp, dword [esp + 0x94]
mov ebp, dword [esp + 0x80]
inc esp
mov edi, dword [esp + 0x8c]
inc esp
mov ebx, dword [esp + 0x98]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0xa8]
inc esp
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x88]
inc esp
mov ebp, dword [esp + 0x90]
inc esp
mov eax, dword [esp + 0xa4]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x38], eax
inc esp
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x48], eax
dec eax
mov dword [esp + 0x60], 3
inc ecx
add eax, ecx
rol eax, 7
xor ebp, eax
mov eax, dword [esp + 0x48]
add eax, ebp
rol eax, 9
inc esp
xor ebp, eax
inc ecx
lea eax, [ebp + ebp]
rol eax, 0xd
inc esp
xor ecx, eax
inc esp
mov dword [esp + 0x38], ecx
inc ebx
lea eax, [ebp + ecx]
ror eax, 0xe
xor dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
inc esp
mov ecx, dword [esp + 0x48]
inc ecx
add eax, esi
rol eax, 7
inc esp
xor esp, eax
inc ebx
lea eax, [esp + esi]
rol eax, 9
inc esp
xor eax, eax
inc ebx
lea eax, [eax]
rol eax, 0xd
xor dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
inc ecx
add eax, eax
ror eax, 0xe
inc esp
xor esi, eax
inc edx
lea eax, [esi + ebx]
rol eax, 7
xor edx, eax
inc ecx
lea eax, [ebx + edx]
rol eax, 9
xor edi, eax
lea eax, [edi + edx]
rol eax, 0xd
xor esi, eax
lea eax, [edi + esi]
ror eax, 0xe
inc esp
xor ebx, eax
inc ecx
lea eax, [edx + ecx]
rol eax, 7
xor ebx, eax
lea eax, [ecx + ebx]
rol eax, 9
ror byte [ecx], 0x44
xor edi, eax
inc ecx
lea eax, [edi + ebx]
rol eax, 0xd
inc esp
xor edx, eax
inc ebx
lea eax, [edi + edx]
ror eax, 0xe
xor ecx, eax
mov eax, dword [esp + 0x48]
add eax, ebx
rol eax, 7
xor dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
inc ecx
add eax, ecx
rol eax, 9
xor edi, eax
mov eax, dword [esp + 0x50]
add eax, edi
rol eax, 0xd
xor ebx, eax
lea eax, [ebx + edi]
ror eax, 0xe
inc esp
xor ecx, eax
inc esp
mov dword [esp + 0x48], ecx
inc ecx
mov eax, ecx
mov dword [esp + 0x70], eax
inc ecx
lea eax, [esi + ebp]
rol eax, 7
xor esi, eax
inc esp
mov ecx, dword [esp + 0x38]
inc ecx
lea eax, [esi + esi]
rol eax, 9
inc esp
xor edi, eax
inc ecx
lea eax, [edi + esi]
rol eax, 0xd
xor ebp, eax
inc ecx
lea eax, [edi + ebp]
ror eax, 0xe
inc esp
xor esi, eax
inc ebx
lea eax, [ebx]
rol eax, 7
inc esp
xor edx, eax
inc ebx
lea eax, [edx + ebx]
rol eax, 9
inc esp
xor ebp, eax
inc ebx
lea eax, [edx + ebp]
rol eax, 0xd
inc esp
xor esp, eax
inc ebx
lea eax, [esp + ebp]
ror eax, 0xe
inc esp
xor ebx, eax
lea eax, [ecx + edx]
rol eax, 7
inc esp
xor ecx, eax
inc edx
lea eax, [ecx + ecx]
rol eax, 9
inc esp
mov dword [esp + 0xa0], ecx
add byte [ebx + esi - 0x40], al
add byte [ebx + esi - 0x40], al
inc ebx
lea eax, [eax + ecx]
rol eax, 0xd
xor edx, eax
inc edx
lea eax, [edx + eax]
ror eax, 0xe
xor ecx, eax
dec eax
sub dword [esp + 0x60], 1
mov eax, dword [esp + 0x48]
jne 0x5f893b7d
mov dword [esp + 0xac], ecx
xor ecx, ecx
mov dword [esp + 0x88], esi
lea esi, [ecx + 0x40]
inc esp
mov dword [esp + 0x84], esi
dec esp
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x80], ebp
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x7c], ebx
dec eax
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x78], edi
inc eax
mov bh, byte [esp + 0x30]
mov dword [esp + 0xa8], edx
inc esp
mov dword [esp + 0xa4], eax
inc esp
mov dword [esp + 0x9c], edx
inc esp
mov dword [esp + 0x98], ebx
inc esp
mov dword [esp + 0x94], esp
inc esp
mov dword [esp + 0x90], ebp
inc esp
mov dword [esp + 0x8c], edi
mov eax, dword [esp + ecx + 0x100]
dec eax
add ecx, 4
add dword [esp + ecx + 0x6c], eax
dec eax
cmp ecx, esi
jl 0x5f893d70
dec esp
mov eax, esi
dec eax
lea edx, [esp + 0x70]
dec eax
lea ecx, [esp + 0x160]
call fcn.5f8724ec
dec esp
mov ecx, dword [esp + 0xe0]
inc ebp
mov dword [esp + 0x120], ebp
dec esp
cmp ecx, esi
jbe 0x5f893dfb
dec ebp
lea eax, [esi + ebx]
dec eax
lea ecx, [esp + 0x160]
dec eax
mov edx, esi
inc ecx
mov al, byte [eax + ecx]
xor al, byte [ecx]
mov byte [ebx + ecx], al
dec eax
inc ecx
inc eax
xor bh, al
dec eax
sub edx, 1
jne 0x5f893dbe
dec eax
add dword [esp + 0xd0], esi
dec esp
sub ecx, esi
dec eax
add ebx, esi
dec eax
add dword [esp + 0xb0], esi
inc eax
mov byte [esp + 0x30], bh
dec esp
mov dword [esp + 0xe0], ecx
jmp 0x5f893ade
xor edx, edx
dec esp
mov esp, dword [esp + 0xb8]
dec ebp
test ecx, ecx
dec esp
mov edi, dword [esp + 0xe8]
dec esp
mov ebp, dword [esp + 0x140]
dec eax
mov esi, dword [esp + 0xf8]
je 0x5f893e71
dec eax
lea ecx, [esp + 0x160]
dec esp
mov esp, dword [esp + 0xb0]
dec esp
mov eax, dword [esp + 0xd0]
dec eax
lea eax, [esp + 0x160]
dec esp
sub esp, eax
dec eax
lea eax, [esp + 0x160]
dec esp
sub eax, eax
inc edx
inc edx
mov al, byte [ecx]
xor al, byte [ecx]
inc eax
xor bh, al
inc edx
mov byte [ecx + eax], al
dec eax
inc ecx
mov eax, edx
dec ecx
cmp eax, ecx
jb 0x5f893e50
dec esp
mov esp, dword [esp + 0xb8]
dec esp
lea esi, [0xfffb1588]
inc ecx
cmp bh, byte [ebp + esi + 8]
je 0x5f893f4e
call fcn.5f880c08
dec esp
mov ebx, dword [esp + 0xf0]
dec esp
mov edx, eax
dec ecx
and esp, 0xfffffff8
dec esp
lea edi, [0xfffbe156]
dec ebp
mov dword [ebx + 0x10], edi
dec eax
mov ecx, dword [0x16717]
inc ecx
mov ecx, 0xffff
dec ebp
lea eax, [esp + 0xfff]
dec ecx
and eax, 0xfffff000
dec ecx
and edx, 0xfffff000
xor edi, edi
dec eax
imul ecx, ecx, 0x343fd
dec eax
shl edi, 0x10
dec ecx
shr ecx, 0x10
dec eax
add ecx, 0x269ec3
dec eax
mov eax, ecx
dec eax
shr eax, 0x10
movzx edx, ax
dec eax
or edi, edx
dec ebp
test ecx, ecx
jne 0x5f893ec7
dec eax
mov dword [0x166ca], ecx
dec eax
mov eax, 0x80008001
add byte [eax - 0x8b78000], al
out 0x48, eax
mov eax, dword [esp + 0xd8]
dec esp
mov dword [eax + 0x98], edx
dec eax
shr edx, 0xf
dec eax
imul edx, edx, 0xffff
dec eax
sub edi, edx
dec eax
inc edi
dec eax
mov dword [eax + 0xb0], edi
dec esp
mov dword [esp + 0xd8], ecx
jmp 0x5f893f44
dec eax
mov eax, dword [esp + 0xd8]
dec ecx
mov dword [esp], eax
dec ecx
add esp, 8
dec ebp
cmp esp, eax
jb 0x5f893f34
jmp 0x5f894059
dec eax
mov eax, dword [0xfffb4bc3]
dec ecx
mov ebp, esi
dec eax
mov ebx, esi
dec ecx
sub ebx, edi
dec eax
sub ebp, eax
jne 0x5f893f6c
dec eax
test ebx, ebx
je 0x5f894046
dec ebp
mov ebx, edi
xor edi, edi
dec eax
mov ecx, dword [0xffff53f0]
inc esp
lea eax, [ecx - 1]
dec esp
sub ebx, esi
inc ecx
sub esi, esi
inc ebp
test eax, eax
inc ebp
lea esp, [ebp + esi]
dec esp
lea ebp, [0xfffb146f]
js 0x5f893fc3
inc ecx
lea eax, [eax + edi]
cdq
sub eax, edx
sar eax, 1
dec eax
arpl ax, dx
inc ebp
mov ecx, dword [ebp + edx*4 + 0x43f6c]
inc ecx
and ecx, 0xfffffff
inc ecx
cmp esi, ecx
jae 0x5f893fb9
inc esp
lea eax, [eax - 1]
jmp 0x5f893fbe
jbe 0x5f893fc8
lea edi, [eax + 1]
inc esp
cmp eax, edi
jge 0x5f893f93
dec esp
arpl di, dx
jmp 0x5f89403f
dec esp
arpl ax, dx
jmp 0x5f89403f
inc ebx
mov edx, dword [ebp + edx*4 + 0x43f6c]
mov eax, edx
and eax, 0xfffffff
inc ecx
cmp eax, esp
jae 0x5f894046
dec esp
mov eax, edx
mov edi, edx
sar edx, 0x1e
shl edi, 2
inc ecx
and eax, 0xfffffff
and edx, 3
sar edi, 0x1e
dec ebp
add eax, esi
inc ebp
xor ecx, ecx
and edi, 3
sub edi, 1
je 0x5f89401b
sub edi, 1
je 0x5f894016
cmp edi, 1
jne 0x5f894021
dec esp
mov ecx, ebp
jmp 0x5f894021
dec esp
mov ecx, ebx
jmp 0x5f894021
dec esp
mov ecx, ebp
dec esp
sub ecx, ebx
sub edx, 2
je 0x5f894031
cmp edx, 1
jne 0x5f89403c
dec edi
add dword [eax + ebx], ecx
jmp 0x5f894035
inc edi
add dword [eax + ebx], ecx
dec eax
mov ecx, dword [0xffff532c]
dec ecx
inc edx
mov eax, ecx
dec esp
cmp edx, eax
jb 0x5f893fcd
mov eax, dword [0xfffb475c]
mov eax, 0xebb2b702
dec esp
mov ebx, dword [esp + 0xf0]
dec ebp
mov dword [ebx + 0x10], edi
dec eax
mov ecx, dword [esp + 0x1a0]
dec eax
xor ecx, esp
call 0x5f8620b4
dec eax
mov ebx, dword [esp + 0x200]
dec eax
add esp, 0x1b0
inc ecx
pop edi
inc ecx
pop esi
inc ecx
pop ebp
inc ecx
pop esp
pop edi
pop esi
pop ebp
ret