Function at 0x5b82df
Capabilities:
Encode data using xor

Disassembly:
push 0
jmp 0x5b7945
push 0
jmp 0x5b79d9
call 0x5b7857
jmp 0x5b816b
call 0x5b78da
jmp 0x5b81a1
mov dword [esp + 0x24], eax
jmp 0x5b81dd
call 0x5b794a
jmp 0x5b82b6
mov dword [esp + 0x24], eax
jmp 0x5b834f
call 0x5b79b4
jmp 0x5b83e1
call 0x5b79de
jmp 0x5b8409
push 0
jmp 0x5b7ee8
push 0
jmp 0x5b7fac
push 0
jmp 0x5b8028
call 0x5b7ec5
jmp 0x5b8f09
call 0x5b7eed
jmp 0x5b8ec9
call 0x5b7f03
jmp 0x5b8f48
mov dword [esp + 0x24], eax
jmp 0x5b91ad
call 0x5b7f85
jmp 0x5b9016
call 0x5b7fb1
jmp 0x5b907d
mov dword [esp + 0x24], eax
jmp 0x5b9148
call 0x5b802d
jmp 0x5b9272
pushal
lea eax, [esp + esi]
jmp 0x5b80e8
call 0x5b8068
jmp 0x5b9306
popfd
jmp 0x5b81f6
mov dword [esp + 0x24], eax
jmp 0x5b91fa
mov dword [esp + 3], eax
pop word [esp + 4]
pop word [esp]
lea esp, [esp + 3]
lea esp, [esp + 4]
jmp 0x5b82a6
mov byte [esp + 0x29], ch
pop dword [esp + 8]
lea esp, [esp + 0x23]
push esp
mov dword [esp + 1], eax
push word [esp + 4]
jmp 0x5b80a9
popal
push esp
push word [esp + 3]
push word [esp + 1]
push edx
pushal
jmp 0x5b80c4
call 0x5b814d
dec ebp
push ebx
push esi
inc ebx
push edx
push esp
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
or al, 0xea
pop esi
call 0x624741dc
call 0x5b8165
dec ecx
jae 0x5b81b6
imul ebp, dword [esi + 0x64], reloc.KERNEL32.dll_DuplicateHandle
push esi
push es
add byte [eax], al
test eax, 0x8c202d58
pushal
call 0x4b1d4c60
fdivr dword [edi - 0x109e00b6]
jg 0x5b8197
pop eax
sub eax, 0xe8608c20
jmp 0x5b813d
jmp 0xc9903ca
cmp dword [esp + 4], 0
jne 0x5b8093
pushal
jmp 0x5b7852
call fcn.005aa462
jmp 0x5b78d5
mov ecx, dword [esp]
pushal
push edx
lea esp, [esp + 0x28]
jmp 0x5b821a
invalid
mov ch, 0x3f
scasd eax, dword es:[edi]
retf 0x8439
popal
call fcn.005b81c4
add cl, byte [ebp + 0x2097641d]
mov word [esi], ds
mov ebx, gs
loop 0x5b81ee
loop 0x5b81ee
jae 0x5b81d5
xchg byte [ebp - 0x4b], dh
test bl, 0
add byte [eax], al
add byte [eax], al
add byte [ebp - 0x7a047e3d], bl
popfd
ret
invalid
sti
test dword [edi - 0x3d], ebp
ret
cmp ebx, 0xc8c36f85
jmp 0x5b826c
sub ecx, 0x10012962
mov dword [ecx + reloc.KERNEL32.dll_DuplicateHandle], eax
movzx ebx, byte [eax]
add ebx, 0xc8c36eb9
jmp 0x5b81ff
and eax, 0xd1b620b8
and dl, ah
invalid
je 0x5b8263
jne 0x5b7908
pop eax
sub eax, 0x3b98e71c
jmp 0x5b82cd
push 0
pushfd
pushal
lea esp, [esp + 0x20]
jmp 0x5b8185
mov ax, word [esp]
mov eax, dword [esp]
pushal
push edx
push word [esp + 0x1f]
jmp 0x5b839d
call 0x5b82df
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
sub dword [edi + edx*4 + 0x3b], eax
test eax, eax
jmp 0x5b8368
call 0x5b833c
inc edi
je 0x5b837a
outsd dx, dword [esi]
jne 0x5b839d
inc esi
imul ebp, dword [ebp + 0x4e], 0x57656d61
add byte [eax - 0x18], dl
and byte [ecx], ah
invalid
popal
inc dword [esp + 8]
jmp 0x5b8386
je 0x5b77e5
jne 0x5b8324
add ebx, 0xa6d87ea3
jmp 0x5b83b6
sbb edi, dword [esi - 0x73]
cmp eax, 0xc5a22cab
xor al, 0x82
mov ecx, 0xfdc39d98
jg 0x5b837a
popfd
ret
mov bh, byte [ecx + 0x30]
aad 0x50
invalid
push edx
lea esp, [esp + 2]
lea esp, [esp + 0x2c]
sub eax, 0x800f2a3c
call dword [eax - 0x7ff278cb]
jmp 0x5b82e5
cmp ebx, 0xa6d87f6f
jmp 0x5b8eaf
pop eax
sub eax, 0xf11a796f
jmp 0x5b842d
jne 0x5b85fe
pushal
jmp 0x5b79af
pop eax
sub eax, 0xf3900b75
call dword [eax - 0xc719826]
jmp 0x5b8445
add byte [eax], al
add byte [eax], dl
popfd
or eax, 0x621ba754
out dx, al
jl 0x5b8442
div byte [0xf0f1467f]
call 0x5b843f
dec ebx
inc ebp
push edx
dec esi
inc ebp
dec esp
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bh, bh
nop
invalid
aad 0x18
int1
test eax, eax
jmp 0x5b84be
call 0x5b845e
adc byte [eax], al
add byte [eax], al
push ebp
outsb dx, byte [esi]
insd dword es:[edi], dx
popal
jo 0x5b84aa
imul esp, dword [ebp + 0x77], reloc.KERNEL32.dll_DuplicateHandle
insb byte es:[edi], dx
add bl, ch
mov bh, 0xfc
ja 0x5b844a
xor byte [ecx - 0x36], 0xfa
push 0xac6899fe
add eax, 0x8d549cb4
and al, 4
cmp dword [esp + 4], 0
jmp 0x5b83fd
inc dword [esp + 8]
jmp 0x5b8504
or bl, ch
push edi
invalid
je 0x5b7805
jne 0x5b8449
popfd
ret
jmp 0x5b84a7
inc dword [esp + 8]
popfd
jmp 0x5b8e71
ret
je 0x5b841a
jne 0x5b7996
call dword [eax - 0x2dc2687b]
test eax, eax
jmp 0x5b8f5e
seto al
mov ax, 0xb81f
lea eax, [edx + ebx]
mov eax, 0x8622ceac
mov eax, dword [esp]
jmp 0x5b8f11
call 0x5b8ef7
push ebp
push ebx
inc ebp
push edx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, ch
ret 0x26a0
pop eax
sub eax, 0xd23f4007
jmp 0x5b8ee7
push esp
lea esp, [esp + 8]
sub eax, 0x3d8be92c
call dword [eax + 0x3d8a4082]
jmp 0x5b8ec1
cmp dword [esp + 4], 0
jne 0x5b8e66
pushal
jmp 0x5b7ec0
out dx, eax
invalid
xchg ch, cl
mov ecx, dword [esp]
call 0x5b8f66
js 0x5b8f45
popal
add bl, dh
inc esp
jo 0x5b8fcd
push 0xffffffffffffff85
xor al, 0x27
je 0x5b7d9d
jne 0x5b8f88
push word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 8]
jmp 0x5b8fa7
call 0x5b8f9c
inc ebp
insd dword es:[edi], dx
jo 0x5b9005
jns 0x5b8fd6
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add byte [eax - 0x18], dl
rcl byte [edi + edi*8], 0xff
jmp 0x5b7efe
sub ecx, 0x10012f8b
mov ebp, dword [edi]
add dword [eax], edx
jmp 0x5b92c2
and al, 4
jmp 0x5b8f37
cmp dword [esp + 4], 0
jne 0x5b9000
je 0x5b8fe7
dec esi
rcl dword [ecx + 0x30], 0xc3
je 0x5b8fa9
jp 0x5b9048
pushal
jmp 0x5b7f80
sti
imul ecx, dword [esi], reloc.KERNEL32.dll_DuplicateHandle
cmp byte [esi - 1], bl
inc esp
and al, 8
inc dword [esp + 8]
jmp 0x5b9140
aaa
add dword [eax], eax
add byte [edx + 0x2bd8b929], bh
lcall 0x8f4a, 0xbfd84adc
imul ebx, dword [eax + 0x2d], 0x70
pop esp
jbe 0x5b8ffa
pop eax
sub eax, 0xde765c70
jmp 0x5b9053
test eax, eax
jmp 0x5b90ab
and ecx, dword [ecx + reloc.KERNEL32.dll_DuplicateHandle]
mov al, byte [0x54258a13]
call 0x5b9063
push ebp
push ebx
inc ebp
push edx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, ch
aam 0xdd
dec ebx
fstp xword [esi + 0x796e894d]
pop eax
mov ebx, 0x60a1fb81
not edi
cmp ebx, 0xd7f760a1
je 0x5b90d3
jne 0x5b7f2c
not ah
lea eax, [ecx + 0x73]
not eax
mov eax, dword [esp]
push esp
jmp 0x5b908e
push dword [esp + 2]
pop dword [esp]
lea esp, [esp + 8]
sub eax, 0x129286e4
jmp 0x5b90c7
arpl word [ebp + 0x3e840fc3], bx
in eax, dx
invalid
popfd
ret
je 0x5b7def
jne 0x5b911f
xchg byte [eax], bl
mov gs, ecx
sbb byte [eax + ebp*8 + 0x7f8ce575], ch
mov ecx, 0x93f466fa
outsb dx, byte [esi]
stosb byte es:[edi], al
pop ss
jle 0x5b90c7
hlt
call dword [eax + 0x1290dd76]
jmp 0x5b903f
nop
jbe 0x5b90a8
nop
adc ch, cl
insd dword es:[edi], dx
invalid
leave
pop ecx
cmp bl, cl
jns 0x5b90c1
or esp, dword [edx + reloc.KERNEL32.dll_DuplicateHandle]
mov dword [esp], edi
lea esp, [esp + 4]
jmp 0x5b90a9
call 0x5b9135
push ebx
je 0x5b916b
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
inc esp
popal
je 0x5b9195
add byte [eax - 0x18], dl
daa
adc edi, edi
invalid
popfd
ret
popal
inc dword [esp + 8]
jmp 0x5b9190
add ebx, 0x57a0dd34
jmp 0x5b9192
add dword [eax], edx
movzx ebx, byte [eax]
jmp 0x5b914f
popfd
ret
cmp ebx, 0x57a0de00
jmp 0x5b924a
fisub word [eax + 0xade957]
add byte [eax], al
or eax, 0x8e731486
cmp edi, dword [ebp + reloc.KERNEL32.dll_DuplicateHandle]
test byte [esi + 0x61ab08e9], bl
popal
inc dword [esp + 8]
call 0x5b90de
pop eax
sub eax, 0xd2ce85c9
jmp 0x5b9233
xor al, byte [ecx]
add byte [eax], al
popal
inc dword [esp + 8]
jmp 0x5b9310
test eax, eax
jmp 0x5b9252
call 0x5b9243
push ebp
push ebx
inc ebp
push edx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add bl, ch
fsub dword [edi + edx*2]
mov esi, 0xaa742889
je 0x5b91f6
jne 0x5b7fdf
je 0x5b7e6b
jne 0x5b92a0
push esp
mov byte [esp], ah
push word [esp + 3]
lea esp, [esp + 1]
lea esp, [esp + 1]
jmp 0x5b9280
pop eax
sub eax, 0xe82ae295
call dword [eax - 0x17d6c755]
jmp 0x5b9223
mov dword [esp], eax
call fcn.005aa462
jmp 0x5b8063
call fcn.005b92b4
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x5b930f
inc ebx
insb byte es:[edi], dx
imul esi, dword [eax + 0x62], 0x6472616f
add bl, ch
jmp 0x5b925a
cld
push 0xde6899fe
add eax, 0x59cea7b4
mov eax, 0x3f208189
add dword [eax], edx
mov dword [ecx + reloc.KERNEL32.dll_DuplicateHandle], eax
movzx ebx, byte [eax]
add ebx, 0xd7f75fd5
jmp 0x5b906f
pop word [esp + 0x19]
mov word [esp + 2], bx
lea esp, [esp + 0x20]
popal
jmp 0x5b934b
pushal
mov al, byte [esp]
mov dword [esp + 8], ecx
pushal
push word [esp + 0x1f]
jmp 0x5b92d6
pop ecx
sub ecx, 0x100130f0
push ebp
jmp 0x5b92ee
ficomp word [ebp + 0x40fb81c3]
frstor dword [esi]
xchg ebx, eax
popfd
ret
cmp ebx, 0x9326dd40
jmp 0x5b9334
je 0x5b9376
jne 0x5b8099
lds ebx, [edx + esi*8 - 0x6b]
cmpsd dword fs:[esi], dword es:[edi]
xor eax, 0xab5839a9
sbb eax, 0x8d02eb48
lodsd eax, dword [esi]
sahf
inc edx
add dword [eax], edx
lea ebp, reloc.KERNEL32.dll_DuplicateHandle
mov dword [ebp], eax
pop ebp
movzx ebx, byte [eax]
add ebx, 0x9326dc74
jmp 0x5b9312
adc byte [ebp + 0x92e9], bl
add byte [edi - 0xf6efe67], dh
add esi, dword [ebx + reloc.KERNEL32.dll_DuplicateHandle]
ret 0x370