Function at 0x780ed6
Capabilities:
Encode data using xor

Disassembly:
push 0x4e1304
bswap ebx
mov ebx, 0xc31da13c
jmp 0x77fc9d
jmp 0x77fd2e
pushal
jmp 0x77fc34
call 0x780f96
push esp
int3
call 0x780f21
movsb byte es:[edi], byte [esi]
mov esp, 0xb6d436db
inc ebx
sbb dword [eax], eax
add byte [esi + ebp - 0x2bc92444], ah
mov dh, 0x43
sal dword [esi + 0x3186e445], cl
xor byte [ebx], dh
sub cl, byte [edi]
mov dword [0x41a55633], eax
ja 0x77f616
jp 0x77f651
in al, dx
add eax, 0x36e81091
sbb byte [eax], al
add byte [0xbc4d2ab4], ah
jmp 0x77f691
push dword [ebx]
call fcn.00401777
clc
jmp 0x77f7ad
setnp bl
mov bl, byte [esp]
jmp 0x77f6f8
mov ebx, dword [0x5f793c]
add ebx, 0x5c
mov dword [ebp - 8], ebx
lea ebx, [ebx - 0x29ecb5f]
jmp 0x77f6b8
not bl
mov bx, word [esp]
mov ebx, 0x36bca30c
jmp 0x77f71b
push 0xa0000101
not bl
mov ebx, ebp
push 0
jmp 0x77f6e2
push 1
mov bx, bp
mov bx, sp
jmp 0x77f764
push 0x4fa5c3
lea ebx, [ebp*4]
jmp 0x77f705
jne 0x41ec41
setg bl
btr bx, sp
mov bx, 0xc3c2
jmp 0x77f6ce
mov ebx, 0x44a670
call fcn.004484c8
push esi
call 0x77f74e
neg eax
jmp 0x77f89a
add esp, 8
sub esp, 0x10
mov dword [esp + 9], edx
lea esp, [esp + 0x10]
cmp eax, 0
jmp 0x77f73b
add esp, 8
push si
lea esp, [esp]
lea esp, [esp + 2]
jmp 0x77fc20
pushfd
lea esp, [esp + 4]
call fcn.00401777
stc
cmc
jmp 0x77fae9
lea ebx, [eax + ecx]
push 0x4fa5e9
mov bl, 0x4e
bswap ebx
jmp 0x77fbb3
mov bx, 0x5dfe
push 0xa0000101
lea ebx, [esi - 0x3e]
push 0
jmp 0x77fb13
push 1
mov bx, bp
mov ebx, ebp
mov ebx, 0x44a670
call 0x77fb71
mov eax, dword [esp]
mov al, byte [esp]
jmp 0x77fc02
test eax, eax
jmp 0x77fc4a
mov eax, dword [ebp - 8]
push bp
push dx
lea esp, [esp + 4]
jmp 0x77fbec
cmp eax, 0
pushfd
lea esp, [esp + 4]
jne 0x41ecc3
je 0x77fb2f
lea esp, [esp + 0x20]
push eax
mov ah, cl
jmp 0x77fc72
jne 0x41ec95
mov al, 0xe7
mov eax, 0x4e1304
jmp 0x41ec95
push 0x4fa5f5
bswap ebx
lea eax, [ebx + edi]
jmp 0x77fc7e
push 0x80000005
push 0
mov ah, 0x2a
xchg ebx, eax
jmp 0x77fc5c
push 3
mov eax, 2
mov ebx, 0x4b32a0
jmp 0x77fd65
mov ebx, dword [ebp + 0xc]
sub esp, 0x14
lea esp, [esp + 0x14]
push dword [ebx]
jmp 0x77fb05
je 0x41ec6d
jne 0x77fcd0
push ds
popfd
or eax, 0x6847a754
out dx, al
jl 0x77fcdb
neg byte [edi]
jg 0x77fd0a
mov ebx, dword [ebp - 8]
test ebx, ebx
pushal
lea esp, [esp + 0x20]
jmp 0x77fcae
push ebx
call fcn.004484c2
add esp, 4
jmp 0x41ec6d
out dx, eax
leave
push esp
jno 0x77fcc2
xor byte [ebx - 0x6f], 0xf6
jb 0x77fcc7
xchg dword [edx - 0x64], esi
ljmp 0x4589
add esp, 0x28
mov dword [ebp - 0xc], eax
neg ebx
mov bx, 0xc414
jmp 0x77fcc4
mov eax, dword [ebp - 0xc]
jmp 0x77fd3a
sub eax, 0xb859cec9
wait
add esp, 3
lea esp, [esp + 1]
jmp 0x77fcfb
push 0x80000005
push 0
call 0x77fd11
test eax, eax
pushal
call 0x77fd43
or byte [ebp + 0xf242464], 0x85
or ch, bh
leave
push dword [esi + ebx*2 - 0x73]
and al, 2
jmp 0x77fd8e
call fcn.004484da
mov ebx, ebp
mov bx, 0x37c6
bsr ebx, ebp
jmp 0x77fced
push eax
call 0x77fd78
lea esp, [esp + 8]
push 1
lea ebx, [edx - 0xb9c8]
jmp 0x77fea9
add esp, 0x10
mov ebx, 0x44a670
call fcn.004484c8
lea ebx, [ebp*4]
mov bx, word [esp]
jmp 0x77fde3
lea esp, [esp + 4]
mov eax, dword [ebx]
sbb ebx, ebx
jmp 0x780ef4
xor ebx, ebx
test eax, eax
je 0x77f614
jne 0x780f37
add esp, esp
pushfd
fsub qword [ebx]
cmove edi, dword [edi - 0x3d74e53e]
js 0x780f0f
cmp dl, byte [0x64b83784]
pushfd
dec edi
add al, al
loope 0x780f22
pop dword [esp]
lea esp, [esp + 2]
jmp 0x780f5e
bswap ebx
mov ebx, dword [eax + 4]
jmp 0x77f614
cmp ebx, ecx
mov eax, 1
jne 0x77f5fe
je 0x780f67
add dword [ecx + 0x621ac202], esi
ret
add eax, 8
push eax
bsr eax, edx
jmp 0x780f41
dec eax
test ecx, ecx
push bx
lea esp, [esp + 2]
jmp 0x780f76
je 0x77f5fe
jne 0x780fac
add dword [edi + 0x1a], esi
add dword [eax], eax
add byte [eax], al
ret 0x3a1a
call fcn.0040353e
jmp 0x77f5fe