Function at 0x51adac
Capabilities:
Encode data using xor

Disassembly:
sete byte [esp + ecx - 0x777ff6f6]
mov edx, dword [eax + ecx - 0x777ff6f6]
movsx eax, byte [esp + ecx - 0x777ff6f2]
ror word [esp + ecx - 0x777ff6f2], 0x23
lea esi, [esi + ecx - 0x777ff6fa]
mov dword [esi + ecx - 0x777ff6f6], edx
cwde
sal ax, 0x84
or al, 0xa
or dword [eax + 0x8948b88], eax
or cl, byte [ecx]
or byte [eax + 0xc84be0f], 0xe
or dword [eax - 0x733e9978], eax
or al, 0xe
or dword [eax - 0x4b72dc78], eax
push cs
push es
or dword [eax + 0xe948988], eax
or cl, byte [ecx]
or byte [eax - 0xf3e9968], 0x84
pop ecx
pop ecx
jbe fcn.00ec7009
push ds
idiv dword [ecx]
pop ds
adc dword [esi + 0x16], eax
xor eax, 0x50999dc5
loopne 0x43972f
mov eax, 0x2bba5089
push edi
mov dh, 0xf0
cmp bl, byte fs:[ebp - 0x3ac7f52d]
add dh, dh
xor al, byte [ebp + 0x361fe27c]
add eax, 0xfe353747
cmp dl, byte [ebx + 0x16]
push edx
mov al, byte [0x6090c805]
cmpsb byte [esi], byte es:[edi]
sub eax, 0x4b51565
sub ah, ah
mov bl, 0x7e
fstpnce st(0), st(0)
lcall 0x439a, 0x1b80f350
lahf
lodsd eax, dword [esi]
sbb dword [edx], ebx
mov dh, 0xab
sbb eax, 0x7c75d1e4
xor al, 0xc0
sbb bl, byte [eax + 0x5e]
push ds
lcall 0xcccc, 0x2cc2c2
int3
inc ecx
xor cl, al
not cl
inc ecx
movzx ebx, dx
inc ebp
movzx esp, dl
ror cl, 1
inc cx
dec edx
dec ecx
bts edx, 0x25
sbb cl, 0x11
not cl
rol cl, 1
dec ebx
inc ecx
mov esi, 0xef916929
dec edx
lea esi, [edx*8 - 0x4165fbe1]
inc cl
inc ebp
movsx edi, si
bt esi, ebx
dec edx
lea ebp, [esi*8 + 0x222b1fa2]
inc esp
xor al, cl
inc cx
imul ebx, ebp
inc cx
neg ebp
dec esi
lea ebx, [ebx + ebx - 0xe4ba]
dec eax
sub ebp, esi
dec ecx
btr edx, ebx
inc cx
mov dword [ebx + ebx*8 - 0x725c0], ecx
inc ecx
mov edx, edi
dec eax
shl edx, 0x8b
inc ecx
sete bh
inc ebx
mov ebx, dword [ecx + ebp - 0x31a60c78]
push esi
shl si, 0xee
dec edx
or ebp, dword [esp + ebp - 0x31a60c78]
dec edi
lea ecx, [ecx + ebp - 0x31a60c74]
inc edx
movsx ecx, byte [esp + ebp - 0x31a60c74]
inc ecx
xor ebx, eax
inc ecx
push esp
inc ebp
xor edx, edi
xor ebx, 0x882e6618
inc esp
sub dl, dl
inc ecx
lea ebx, [ebp + ebx + 0x63e87545]
inc dx
rol dword [esp - 0x87], 0xc1
inc ecx
movsx eax, dh
rol ebx, 1
shl ecx, cl
call fcn.005d7137
mov eax, 0x92a4b094
mov ax, word [edi]
mov ecx, 0xf4b23888
or cl, 0x8c
mov cl, byte [edi + 2]
mov edx, 0x3190bc9b
bswap edx
adc edi, 2
btc edx, edx
add dl, dh
shl ax, cl
imul dx, dx
push edx
mov word [edi], ax
movzx ecx, dl
lea ebp, [ecx + ebp - 0x85]
mov edx, dword [ebp + ecx*2 - 0x102]
dec ecx
rol dword [esp + ecx - 0x80], 0xa3
xor edx, ebx
add edx, 0xd4a11ba6
movzx eax, cx
neg ecx
inc cx
xor edx, 0x218d7306
xor ecx, 0x8d35763f
shl cl, 0x63
jbe 0x5014de
pop ecx
lea ebp, [ebp + eax - 4]
mov dword [ebp + eax*8], edx
cdq
jmp fcn.00cf16d6
lea edx, [edx + eax*2 - 0x7fbdac3e]
imul ax, ax
sal dword [esp + ecx - 0x72ca89f0], 0xea
pop ecx
ror edx, 1
jmp 0x61c63a
lea esp, [esp + 0xc]
je 0x61f2cd
jmp 0xece31a
rol edx, cl
dec eax
lea edx, [ecx + edx + 0x666440f7]
bts eax, ecx
xor ecx, ecx
or al, al
xor edx, 0x4189b1b4
shr al, 0xa5
neg edx
rol ax, 0xee
jae 0x603e41
ror ecx, 1
jmp 0xde2af9
lea ebx, [edx + edx*4 - 0x64cec16d]
shl edx, 0xad
mov ebx, eax
call fcn.00cd800b
lcall 0x1784, 0x8b99b266
into
and ecx, dword [ebx + 0x5dcfe880]
add byte [eax], 0x4d
and ebp, esi
dec edx
mov dword [eax + ebx + 0x4b], ebx
inc ecx
mov ebp, esi
mov ecx, 0xc786873d
movsx ebx, cl
inc ebp
mov ebp, dword [ecx + eax + 0x4b]
call fcn.005f321e
btc eax, 0x96
dec cl
dec eax
rol cl, 1
push eax
dec al
call fcn.0063c172
mov eax, 0x1904b93d
btr eax, 0x88
call fcn.00d39c3c
call fcn.00d882b2
and dword [edx], edx
je 0x5b7211
rcl dword [edx]
mov ebp, 0xef14ca30
salc
fild word [ecx - 0x4f]
mov byte [esi + 0x6b], 0x45
xor eax, 0x50a38633
jbe 0x5b718d
cld
xor ecx, dword [ebp - 0x6af64d52]
xchg byte [ebx + 0x595996da], bh
cmp dword [0x3b0fd919], edi
pop ds
insb byte es:[edi], dx
pushfd
hlt
sbb ecx, ebx
invalid
mov byte [ebp + 0x11], bh
mov bl, 0x8b
test ebp, edi
adc bl, byte [edx]
mov esp, 0x9ebe31e9
rol dword [edx], 1
inc ebx
jl 0x5b7265
add eax, 0x9a123001
and esi, 0xffffffea
cmpsd dword [esi], dword es:[edi]
cmp al, dl
jge 0x5b7207
cdq
invalid
retf
push ecx
imul ecx, edx
rol eax, 1
call fcn.004c4a48
mov eax, 0xb39cacad
movzx eax, byte [ebp]
mov edx, 0x3fa38a16
not edx
add ebp, 1
rol edx, 9
bts dx, 4
btr edx, 0xa9
xor al, bl
jmp 0x608958
rol edx, 2
push eax
shr cx, 0xa7
btc eax, eax
inc edx
xor dword [esp + ecx], 0x380e5a93
inc cl
xor edx, 0x658cc310
rol edx, 2
add cl, 0xb
sub eax, ecx
neg eax
xor edx, 0xbbadc98b
xadd eax, ecx
xor ebx, edx
not byte [esp + 2]
bts eax, 0xb8
add esi, edx
and al, ch
lea edx, [eax*8 - 0x4c09e69]
mov edx, dword [edi + edx - 0x75b35c4f]
shl dword [esp], cl
and eax, ecx
adc edi, 4
shr eax, 0xcd
add dword [esp + eax - 0x67a73], eax
shr dword [esp + eax*2 - 0xcf4e6], 0x3f
xor edx, ebx
sal cl, 0x43
lea eax, [eax*8 + 0x71375717]
rol eax, 0xe1
ror edx, 2
lea edx, [edx + ecx - 0x19c6d1b3]
btc cx, cx
bswap edx
or ax, ax
rol edx, 1
and ax, cx
adc ax, 0x72aa
inc edx
neg edx
add ecx, ecx
xor eax, 0x2a1efea1
dec edx
xadd dword [esp], eax
xor ebx, edx
jmp 0x4b9682
sub al, 0xb0
shl edx, 0x77
neg al
not dx
sub dl, 0x90
rol dl, 0xa1
inc al
or dx, dx
not al
shl edx, 0x61
xor edx, edx
bswap edx
ror al, 1
lea edx, [edx*8 - 0x656635fd]
neg dx
dec al
neg dx
dec edx
ror dx, 0xc3
xor bl, al
sub dx, dx
push ebp
ja 0xe3a71f
mov ebp, 0x68893729
bswap ebp
push edi
push ebx
shl ebp, 0xa6
mov ebp, esi
jp 0x5953f9
mov eax, 0x371f5c98
lea eax, [eax - 0x66e5956]
mov edx, dword [edi + eax*2 - 0x61620684]
lea edi, [eax + edi - 0x30b1033e]
mov ecx, eax
xor edx, ebx
lea edx, [edx + ecx*4 - 0x58a59976]
jmp 0x61c945
xor ebx, edx
push ecx
add esi, edx
lea edx, [ecx + ecx*8 + 0x68b37783]
mov dword [esp + eax*2 - 0x8000], esi
ret
or ecx, eax
jae 0x58c9c3
sub eax, 0x4ac2bc06
mov bh, 0x13
sub eax, dword [eax]
pop ebp
sti
fstp dword [eax + 2]
sub al, 0xb1
dec eax
and ch, bh
lcall 0x6b42, 0xffe83dd1
lea edi, [edx + 0x3c79000a]
jb 0x61c96d
pop eax
dec ebx
sub al, byte [0xc96efff9]
mov bl, 0x86
std
pop ds
push ss
stosd dword es:[edi], eax
mov al, byte [0x1b800291]
pushfd
leave
add dword [ecx - 0x5f], edi
adc byte [eax], al
nop
insd dword es:[edi], dx
outsb dx, byte [esi]
invalid
mov ecx, 0x4db8bfad
movzx edx, cl
call fcn.004e7858
inc ebp
mov esp, dword [ecx]
mov ecx, 0x12b8728
dec esi
lea ecx, [ecx + ecx - 0x12b8724]
dec eax
lea ebx, [ecx*4 - 0x33621558]
inc ecx
mov ebp, 0x97a31913
push ebx
inc ebp
xor esp, eax
jmp 0xe8857d
mov eax, ecx
dec esi
lea ebx, [ecx + ebx - 0x12b87cc]
inc ecx
setle ch
ror byte [esp + ecx - 0x12b87d2], 1
inc cx
dec esi
mov dword ss:[ecx + esi - 0x12b87d8], edx
dec ecx
btr edi, 0x15
dec eax
mov dword [esp + ecx*2 - 0x2570fb0], edi
ret 8
rol dl, 0x61
neg ecx
jmp 0xe9d0e9
imul dx, word [esp + ecx - 0x777ff6f5]
sar dword [esp + ecx - 0x777ff6f6], 0x4a
xor bl, al
push ecx
lea eax, [esp + eax + 8]
shl edx, cl
jae 0x43972c
bswap eax
adc ecx, 0x1c286f93
setg dl
inc eax
not dx
btc edx, ecx
adc dx, 0xe0b9
xor eax, 0xf82e8a0c
dec eax
inc dl
btr edx, edx
neg eax
jmp 0x600a4a
dec dword [esp]
xor ebx, eax
or ecx, ecx
shr edx, 3
ja 0xe968b4
inc ecx
inc esp
inc bl
jo 0x482440
inc ecx
rol esp, 1
inc ecx
pop edi
inc ecx
push ebp
dec edx
lea ebx, [edi*2 - 0x277877b]
inc edi
lea esp, [esp + ebp*2 - 0x419d24a4]
inc ecx
bswap esp
neg cl
mov esi, ebx
inc ecx
xor esp, 0xab1c469d
inc esp
movzx edx, bx
inc ecx
neg esp
sub byte [esp + ecx - 0x12b87d4], bl
inc ecx
inc esp
inc esp
movzx esi, byte [esp + ecx - 0x12b87d8]
inc ecx
bswap esp
inc bp
btr ebp, edi
dec esp
mov dword [esp + ecx - 0x12b87d8], eax
inc esp
xor dword [esp + ecx - 0x12b87d8], esp
dec ecx
btr edx, 0
push ecx
movsx ebp, word [esp + ecx - 0x12b87d6]
dec esp
mov eax, dword [esp + ecx*8 - 0x95c3eb8]
dec ebp
arpl sp, sp
dec ecx
add edi, esp
dec eax
mov dword [esp + ecx - 0x12b87d0], 0xd89b97bb
dec esp
add dword [esp + ecx - 0x12b87d0], edx
dec eax
inc ebp
dec ecx
mov esi, dword [ebx + ecx - 0x12b87d8]
inc sp
imul esi, ebp
inc cx
shr esi, 0xc1
inc ecx
mov edx, dword [ebx + ecx - 0x12b87d0]
and dword [esp + ecx*2 - 0x2570fa4], 0xe00bc9a0
ja 0xcebfbd
rol ecx, 0xb2
xor ebx, eax
xor ecx, ecx
jo 0xdf6aff
dec edx
adc esi, eax
shl edx, 0x61
xor ecx, dword [ebp + ecx*8]
lea edx, [edx*2 - 0x2a42647d]
sal edx, 0x2c
movzx eax, dx
mov ax, word [eax + ebp - 0x6ffc]
btr edx, edx
adc dl, 0x24
xor dl, 0x12
adc ebp, 6
mov word [ecx], ax
mov ecx, edx
btc edx, edx
mov eax, ecx
jmp esi
adc edi, eax
dec edx
xadd word [esp + edx*4 - 0x45016980], cx
mov dword [esp + edx - 0x11405a60], edi
ret
btc ax, 0xa3
dec ecx
or al, al
ror ecx, 1
xor ebx, ecx
add esi, ecx
mov al, byte [edx + edi - 0x78e904b8]
mov ecx, 0xeabb720e
mov dl, byte [edx + edi - 0x78e904b6]
and ecx, ecx
adc edi, 2
imul ecx, ecx
rol cx, cl
ror ecx, 0xfe
add al, dl
lea edx, [ecx*8 + 0x908e6ab]
bt ecx, ecx
mov word [edi + edx - 0x719a6f93], ax
mov eax, edx
neg cx
jmp esi
jmp 0x5b71d9