Function at 0x780518b8
Capabilities:
Encode data using xor

Disassembly:
imul esi, dword [eax + eax], 0x746e6300
jb 0x78051641
add byte [eax], al
add byte [ecx + 0x6c], ah
jo 0x78051644
popal
add byte [eax], al
add byte [ecx + 0x6c], ah
outsb dx, byte [esi]
jne 0x78051652
add byte [eax], al
add al, dh
push esi
add eax, 0x5613678
js 0x7805162f
or byte ss:[eax - 0x30], bh
pop edx
add eax, 0x58b8078
js 0x7805163b
mov eax, dword [0x8363e78]
js 0x7805163d
or byte ss:[eax + 0x3c], bh
or byte [eax + 0x3c], bh
pop edx
add eax, 0x5bc3f78
js 0x780515f9
js 0x78051644
mov esp, 0x59f07805
pop ecx
add eax, 0x5bc3f78
js 0x7805163e
mov ebp, 0xbd357805
add eax, 0x5bd3578
js 0x78051621
pop ecx
add eax, 0x5bc3f78
js 0x78051689
mov esp, 0x58647805
pop eax
add eax, 0x5c9e478
js 0x780515cb
enter 0x7805, 0x78
js 0x780516a9
enter 0x7805, 0xffffffffffffffb4
retf
add eax, 0x5cbe978
js 0x780515fe
enter 0x7805, 0x1e
add eax, 0x5cc1e78
js 0x7805169b
int3
push esi
int3
add eax, 0x5cc8c78
js sym.MSVCP100.dll_const_std::ctype_base::vftable
invalid
leave
add eax, 0x5581478
js 0x78051636
invalid
add eax, 0x5ccd578
js 0x78051603
int3
enter 0x7805, 0x78
enter 0x7805, 0xffffffffffffffb4
retf
leave
add eax, 0x5cc8c78
js 0x78051658
mov esp, cs
add eax, 0x5c9c778
js 0x780516b1
leave
add eax, 0x55b1c78
js 0x7805168c
invalid
pop ebx
add eax, 0x5d3f378
invalid
invalid
invalid
rol dword [0x5305078], cl
js 0x780516ed
xor byte [0x609bd78], al
add eax, 0x609bd78
js 0x7805165e
or dword [esi], eax
js 0x78051641
xor byte [0x60a9478], al
or al, byte [esi]
js 0x780516eb
or byte ss:[eax + 0x72], bh
jne 0x78051721
popal
jb 0x780516d8
js 0x7805172b
jb 0x78051722
jae 0x78051732
imul ebp, dword [edi + 0x6e], 0x72726520
outsd dx, dword [esi]
outsb dx, byte [esi]
and byte [ebp + 0x72], ah
jb 0x78051736
jb 0x780516c9
add byte [eax], al
add byte [eax + 0x52780559], ah
push edx
ret 0x7805
salc
mov edi, 0xbd357805
add eax, 0x5c11478
js 0x7805173e
mov ebp, 0xc1147805
add eax, 0x5be5978
js 0x78051699
mov esi, 0xc1b07805
rol dword [0x5bf5f78], 0x78
push eax
add eax, 0x5bf5f78
js 0x78051741
js 0x7805174c
mov edi, 0x59507805
pop ecx
add eax, 0x5c25278
js 0x78051777
popal
add eax, 0x5bfd678
js 0x78051736
mov ebp, 0xc1147805
add eax, 0x5be5978
js 0x780516bd
rol dword [0x5be5978], 0x78
mov al, 0xc1
add eax, 0x5bf5f78
js 0x780516c9
rol dword [0x5bf5f78], 0x78
mov ah, 0x58
mov edi, 0x58b47805
pop eax
add eax, 0x5c68578
js 0x7805169e
lds eax, [0x5c56378]
js 0x780516f7
lds eax, [0x5c5d278]
add eax, 0x5c5d278
lds eax, [0x5c5b478]
js 0x780516dd
lds eax, [0x5c61678]
js 0x78051736
js 0x78051743
mov byte [0x5c60578], 0x78
dec esi
mov byte [0x5c63d78], 0x78
les edx, [edi + 5]
js 0x780516c1
mov byte [0x5c64e78], 0x78
cmp eax, 0xc47805c6
add eax, 0x5c64e78
js 0x78051776
add eax, 0x5c63d78
js 0x78051701
mov byte [0x557c478], 0x78
or byte [ebx + 0x363e7805], 8
push edi
add eax, 0x58b8078
mov eax, dword [0x8363e78]
js 0x78051783
or byte ss:[eax + 0x70], bh
js 0x780517b9
push edi
add eax, 0x58b8078
js 0x7805178f
or byte [ebx + 0x363e7805], 8
js 0x780517a5
or byte ss:[eax + 0x50], bh
pop edx
add eax, 0x5bca078
mov al, byte [0x7805bc]
add byte [eax], al
add byte [eax], al
add byte [eax], al
and byte [ebx + 0x40040d], dl
add byte [eax], al
add byte [eax], al
add byte [esi], dl
inc eax
push es
daa
neg byte [edi]
xchg ebx, eax
or eax, 0xec74004
or eax, 0xf0000000
aas
movsb byte es:[edi], byte [esi]
push esi
add eax, 0x58b8078
js 0x780517c7
add al, 0x40
inc eax
invalid
js 0x78051705
mov eax, dword [0x8363e78]
or byte ss:[eax + 0x50], bh
js 0x780517dd
pop esp
add eax, 0x58b8078
js 0x780517d3
js 0x78051711
mov eax, dword [0x8363e78]
js 0x78051802
or byte ss:[eax + 0x69], bh
outsb dx, byte [esi]
jbe 0x780517fd
insb byte es:[edi], dx
imul esp, dword [eax + 0x72], 0x6f646e61
and byte fs:[edx + 0x61], dh
outsb dx, byte [esi]
outsd dx, dword fs:[esi]
insd dword es:[edi], dx
pop edi
jbe 0x78051814
arpl word [ebp + 0x20], sp
jbe 0x78051811
insb byte es:[edi], dx
jne 0x78051818
add byte [esi + edx*2 + 5], dl
js 0x78051739
push esp
push esi
add eax, 0x58b8078
js 0x780517fb
or byte [ebx + 0x363e7805], 8
mov eax, dword [0x8363e78]
or byte ss:[eax - 0x60], bh
js 0x78051761
pop esp
add eax, 0x58b8078
js 0x78051807
or byte ss:[eax - 0x14], bh
js 0x780517b9
xor byte [0x60a9478], al
js 0x78051813
or byte ss:[eax + 0x3c], bh
or byte ss:[eax + 0x3c], bh
xor dword [0x64b3978], eax
dec ebx
push es
js 0x78051801
xor al, byte [0x6387478]
je 0x7805181e
push es
js 0x7805185c
je 0x7805185d
jb 0x78051855
imul ebp, dword [esi + 0x67], 0x6f6f7420
outsb dx, byte [esi]
and byte [si + 0x6f], dh
outsd dx, dword [esi]
and byte [edi + ebp*2 + 0x6e], ch
add byte [si], dh
xor al, byte [0x64a4678]
js 0x78051843
dec edx
push es
js 0x780517d4
push es
push es
js 0x7805179e
sub byte [esi], al
js 0x780517b4
clts
js 0x780517b8
clts
push es
js 0x780517f9
call 0x2e7d1d76
popal
add eax, 0x60fb678
js 0x780517cb
mov dh, 0xf
push es
clts
js 0x7805180e
cmc
clts
js 0x7805183e
adc byte [esi], al
push es
js 0x78051810
adc byte [esi], al
js sym.MSVCP100.dll_const_std::basic_ios_char__struct_std::char_traits_char__::vftable
adc dword [esi], eax
js 0x78051815
adc dword [esi], eax
js 0x78051886
sub byte [esi], al
js 0x780517d5
popal
add eax, 0x5869378
js 0x780518b5
xor al, byte [0x6214e78]
push es
js 0x78051860
adc eax, 0x15347806
push es
js 0x7805181d
js 0x78051879
adc eax, 0x1dd47806
push es
js 0x780517ea
sbb eax, 0x169d7806
push ss
push es
js 0x78051839
call 0x277d1db6
popal
add eax, 0x615af78
js 0x780518b6
adc eax, 0x1b5d7806
push es
sbb eax, dword [esi]
js 0x7805187e
and dword [eax], edx
push es
adc byte [esi], al
js 0x78051850
out dx, eax
adc byte [esi], al
js 0x7805189a
pop ds
push es
js 0x7805185d
pop ds
push es
js 0x78051898
sbb byte [esi], al
js 0x780518ba
adc eax, 0x19d07806
push es
js 0x780518e2
outsb dx, byte [esi]
jbe 0x780518dd
insb byte es:[edi], dx
imul esp, dword [eax + 0x73], 0x6e697274
and byte fs:[ebx + 0x74], dh
jb 0x780518ed
outsb dx, byte [esi]
and byte [bx + si + 0x6f], dh
and byte [eax + 0x6f], dh
jae 0x780518f4
je 0x780518f6
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, cl
xor al, byte [0x609bd78]
mov ebp, 0x2d780609
sub eax, 0x357805bd
mov ebp, 0xbd357805
add eax, 0x6164778
mov ebp, 0xbd357805
add eax, 0x5bd3578
js 0x780518ec
add eax, 0x5bd3578
js 0x780518d6
mov ebp, 0x16477805
push ss
push es
js 0x780518f0
push ss
push es
js 0x78051915
push ss
push es
js 0x78051832
push ss
push es
js 0x780518cd
xor eax, dword [0x64c2f78]
add eax, 0x64c2f78
push es
js 0x780518b5
sbb byte [0x5159478], al
js 0x78051859
adc eax, 0x18fc7805
add eax, 0x5190078
js 0x780518d5
add eax, 0x518fc78
js 0x780518cd
sbb dword [0x5190478], eax
js 0x780518d9
sbb dword [0x5190478], eax
js 0x780518e1
sbb dword [0x5190878], eax
add eax, 0x5190878
sbb dword [0x5190c78], eax
js 0x780518f1
js 0x780518e9
sbb dword [0x5191078], eax
js 0x780518f9
sbb dword [0x5191478], eax
add eax, 0x5191478
sbb dword [0x5191878], eax
js 0x78051909
js 0x78051901
sbb dword [0x5191c78], eax
js 0x78051911
sbb al, 0x19
add eax, 0x5192078
sbb dword [0x5192078], eax
and byte [ecx], bl
add eax, 0x78
sbb dword [0x78], eax
js 0x780518f5
add byte [eax], al
add byte [eax], al
add byte [eax], al
jb 0x780518fa
add byte [edx], dh
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
jb 0x78051964
add byte [eax], al
popal
add byte [eax], al
add byte [edx + 0x62], dh
bound eax, qword [eax]
add byte [edi + 0x62], dh
add byte [eax], al
ja 0x78051968
add byte [eax], al
popal
bound eax, qword [eax]
add byte [edx + 0x2b], dh
add byte [eax], al
ja 0x7805193d
sub eax, dword [eax]
add byte [ecx + 0x2b], ah
add byte [eax], al
jb 0x78051945
add byte [eax], al
popal
sub eax, dword [eax]
add byte [edx + 0x2b], dh
bound eax, qword [eax]
ja 0x78051949
bound eax, qword [eax]
popal
sub esp, dword [edx]
pushal
sbb dword [0x5158878], eax
js 0x780518b5
adc eax, 0x19647805
add eax, 0x5196878
js 0x780519a9
sbb dword [0x5197078], eax
js 0x780519b9
sbb dword [0x5197878], eax
js 0x780518c5
sbb dword [0x5198078], eax
js 0x780518d1
sbb dword [0x5198878], eax
js 0x780518dd
sbb dword [0x5199078], eax
js 0x780518e9
sbb dword [0x5199878], eax
js 0x780518f5
sbb dword [0x519a078], eax
js 0x78051901
sbb dword [0x519a878], eax
js 0x7805195d
sbb dword [0x78], eax
add byte [eax], al
add byte [edx], dh
add byte [eax], al
popal
add byte [eax], al
add byte [edx], dh
jb 0x7805196a
bound eax, qword [eax]
add byte [eax], al
add byte [eax], al
ja 0x78051972
bound eax, qword [eax]
add byte [eax], al
add byte [eax], al
popal
add byte [edx], ah
add byte [eax], al
add byte [eax], al
jb 0x78051982
sub eax, dword [eax]
add byte [eax], al
add byte [eax], al
ja 0x7805198a
sub eax, dword [eax]
add byte [eax], al
add byte [eax], al
popal
add byte [ebx], ch
add byte [eax], al
add byte [eax], al
add byte [edx], dh
sub eax, dword [eax]
bound eax, qword [eax]
add byte [eax], al
ja 0x780519a2
sub eax, dword [eax]
bound eax, qword [eax]
add byte [eax], al
popal
add byte [ebx], ch
add byte [edx], ah
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add al, byte [eax]
add byte [eax], al
adc al, byte [eax]
add byte [eax], al
or al, byte [eax]
add byte [eax], al
and dword [eax], eax
add byte [eax], al
and al, byte [eax]
add byte [eax], al
xor al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [edx], cl
add byte [eax], al
add byte [ecx], ah
add byte [eax], al
add byte [edx], ah
add byte [eax], al
add byte [edx], dh
add byte [eax], al
add byte [edx], ch
sub al, byte [eax]
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
adc eax, dword [eax]
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [ebx], dl
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
add byte [ebx], ah
add byte [eax], al
or eax, dword [eax]
add byte [eax], al
and eax, dword [eax]
add byte [eax], al
xor eax, dword [eax]
add byte [eax], al
sub eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
add byte [eax], al
add byte [ebx], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
invalid