Function at 0x4929fa
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xcf256c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov eax, dword [ecx + 8]
mov dword [ebp - 0x20], ecx
cmp eax, 0x3ffffffe
jb 0x492b38
mov dword [ebp - 0x48], 0xf
lea edx, [ebp - 0x60]
xor eax, eax
mov ecx, 0x13
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x2c], 0xd27f1c
mov dword [ebp - 0x30], edx
cmp eax, 0x10
mov dword [ebp - 0x28], 0x13
jb 0x492a6a
mov ebx, dword [ebp - 0x5c]
jmp 0x492a6d
lea ebx, [ebp - 0x5c]
mov edx, 0xd27f1c
cmp edx, ebx
jae 0x4932b0
xor edx, edx
test edx, edx
je 0x492ad1
cmp eax, 0x10
jb 0x492a8a
mov edx, dword [ebp - 0x5c]
jmp 0x492a8d
lea edx, [ebp - 0x5c]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov ebx, 0xd27f1c
sub ebx, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x38], ebx
cmp edx, ebx
jae 0x492ab5
call 0xd77b27
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x38]
mov eax, edx
sub eax, ebx
cmp ecx, eax
jb 0x492abf
mov ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x49308b
mov dword [ebp - 0x34], 0x13
cmp eax, 0x13
jb 0x4931cf
mov eax, dword [ebp - 0x34]
test eax, eax
ja 0x49317d
mov dword [ebp - 4], 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
call fcn.0049571e
push 0xe4a7c0
lea eax, [ebp - 0x90]
push eax
call 0xd45200
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jae 0x49316f
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x48], 0xf
xor eax, eax
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x5c], al
mov ebx, dword [ebp + 0x10]
push 0x14
mov esi, dword [ecx + 4]
call 0xd43791
pop ecx
test eax, eax
je 0x492b62
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
mov esi, dword [ebp + 0x14]
mov edi, dword [esi]
mov dword [eax + 0xc], edi
xor edx, edx
mov byte [eax + 0x10], dl
mov byte [eax + 0x11], dl
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp + 0x10]
mov ecx, dword [esi + 4]
add dword [esi + 8], 1
cmp edx, ecx
je 0x493431
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
je 0x492b8e
mov dword [edx], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx]
je 0x4932d7
jmp 0x492b9d
mov dword [edx + 8], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx + 8]
je 0x493429
mov edx, dword [eax + 4]
movsx ebx, byte [edx + 0x10]
mov ecx, eax
test ebx, ebx
jne 0x492c51
mov ebx, dword [ecx + 4]
mov edx, dword [ebx + 4]
mov edi, dword [edx]
cmp ebx, edi
je 0x49333d
movsx edx, byte [edi + 0x10]
mov dword [ebp + 0x10], edi
test edx, edx
jne 0x492be6
mov edx, 1
mov byte [ebx + 0x10], dl
mov byte [edi + 0x10], dl
mov ebx, dword [ecx + 4]
mov edi, dword [ebx + 4]
mov byte [edi + 0x10], 0
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 4]
jmp 0x492c42
mov edx, dword [ebx]
cmp ecx, edx
je 0x4932f1
mov byte [ebx + 0x10], 1
mov edx, dword [ecx + 4]
mov ebx, dword [edx + 4]
mov byte [ebx + 0x10], 0
mov edi, dword [ecx + 4]
mov ebx, dword [edi + 4]
mov edx, dword [ebx + 8]
mov edi, dword [edx]
mov dword [ebx + 8], edi
mov edi, dword [edx]
mov dword [ebp - 0x24], edi
movsx edi, byte [edi + 0x11]
test edi, edi
je 0x4932e6
mov edi, dword [ebx + 4]
mov dword [edx + 4], edi
mov edi, dword [esi + 4]
cmp ebx, dword [edi + 4]
je 0x4932de
mov edi, dword [ebx + 4]
cmp ebx, dword [edi]
je 0x492c3b
mov dword [edi + 8], edx
jmp 0x492c3d
mov dword [edi], edx
mov dword [edx], ebx
mov dword [ebx + 4], edx
mov edx, dword [ecx + 4]
movsx ebx, byte [edx + 0x10]
test ebx, ebx
je 0x492bae
mov edx, dword [esi + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ebp + 8]
test esi, esi
mov byte [ecx + 0x10], 1
mov dword [edx + 4], eax
mov dword [edx], 0
je 0x493419
mov edi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x14]
mov dword [edx], esi
mov esi, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x10
add ebx, ecx
cmp edx, ebx
jae 0x493099
call 0xd77b27
mov edx, dword [ebp - 0x4c]
mov eax, edx
sub eax, ebx
cmp eax, 0xffffffff
mov esi, eax
jb 0x4930a9
mov esi, 0xffffffff
test esi, esi
ja 0x493118
mov ebx, dword [ebp - 0x38]
test edx, edx
jae 0x4930bc
call 0xd77b27
mov edx, dword [ebp - 0x4c]
cmp edx, ebx
jae 0x4930c2
mov ebx, edx
test ebx, ebx
jbe 0x492aec
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x4930da
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
jmp 0x4930e0
lea esi, [ebp - 0x5c]
lea eax, [ebp - 0x5c]
mov byte [ebp - 0xcc], 0
add eax, ebx
sub edx, ebx
push edx
push eax
push ecx
push esi
call 0xd452c5
add esp, 0x10
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, ebx
mov dword [ebp - 0x4c], edx
cmp eax, 0x10
jb 0x49310c
mov eax, dword [ebp - 0x5c]
jmp 0x49310f
lea eax, [ebp - 0x5c]
mov byte [eax + edx], 0
jmp 0x492aec
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x493128
mov edi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
jmp 0x49312e
lea edi, [ebp - 0x5c]
lea edx, [ebp - 0x5c]
mov byte [ebp - 0xc8], 0
add edi, ebx
sub ecx, ebx
add ebx, esi
add ebx, edx
sub eax, esi
push eax
push ebx
push ecx
push edi
call 0xd452c5
add esp, 0x10
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, esi
mov dword [ebp - 0x4c], edx
cmp eax, 0x10
jb 0x493160
mov eax, dword [ebp - 0x5c]
jmp 0x493163
lea eax, [ebp - 0x5c]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0x4c]
jmp 0x4930ad
push dword [ebp - 0x5c]
call 0xd437fb
pop ecx
jmp 0x492b26
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx + 0x18]
cmp edx, 0x10
jb 0x49318d
mov ecx, dword [ecx + 4]
jmp 0x493190
add ecx, 4
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
movzx eax, byte [ebp - 0x64]
mov byte [ebp - 0x68], al
push edx
push ecx
call 0xd4524a
add esp, 0x10
and byte [ebx + 0x10c48300], cl
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0x14], eax
cdq
xor eax, 0x14f42544
xchg edi, eax
sti
inc esp
and eax, 0x649714f4
sti
add bl, cl
dec ebx
in al, 0x54
stosd dword es:[edi], eax
inc esp
inc esp
mov bl, 0x41
movsb byte es:[edi], byte [esi]
sahf
and dword [ebx + esi*8 + 0x54], 0x47
adc al, 0xf5
js 0x4931a1
or al, byte [ebp - 0x2a]
inc ebp
salc
dec esp
inc esp
fiadd dword [edx + 0x16]
out dx, eax
lea edx, [esi]
adc eax, 0x59bc6184
das
dec ecx
loop 0x4931b2
movsd dword es:[edi], dword [esi]
bound edx, qword [edx + esi*4 + 0xe]
mov al, 0x2b
mov edx, 0xfbea3325
mov ch, 0xdb
dec ebp
invalid
and dword [esi - 0x64], 0x574ecdfe
mov al, byte [0x7546967b]
insd dword es:[edi], dx
popfd
div ch
daa
push eax
movsd dword es:[edi], dword [esi]
into
and al, 0x5b
or dword [ebp - 0xa2a32bb], esp
in al, 0x95
push es
hlt
xchg ebx, eax
cdq
test byte [ecx - 0x73f740ca], cl
dec sp
mov word [esi + 0x4c], fs
mov ebp, 0xe59cb5ac
dec esp
pop es
xchg edi, eax
mov bl, 0x42
pushal
retf
jns 0x49332e
daa
call 0x6d439769
mov ebp, 0x577be509
rol eax, 0x54
pop es
jne 0x49329a
je 0x493358
mov word [ebp - 0x45280dbf], cs
xchg esi, eax
inc edx
add byte [ecx - 0x7c], ch
mov edi, 0x27e1da9a
mov ah, 0x1d
pop edi
stosb byte es:[edi], al
retf 0x3fe4
and eax, 0xcbbe5ccf
lcall 0x7ad4, 0xc45270f5
jmp 0x153fb6b4
not byte [eax + eax*2]
shl byte [ebp + 0x3d60a5aa], 1
mov al, 0x31
cmp ebx, edx
test dword [eax + esi], eax
adc al, 0xdb
dec esi
pop ds
cmp ah, byte [ecx - 0x14aa7bdb]
or ch, byte [edi - 0x4513343b]
push esp
pop ebx
xchg esp, eax
jbe 0x4933df
scasd eax, dword es:[edi]
invalid
sbb esp, dword [edx - 0x75]
push ebp
je 0x4933c3
or al, 0x7f
aad 0xf1
fstp qword [esi + 0xe]
invalid
mov cl, 3
int1
mov ch, 0xe2
aaa
and eax, eax
push esp
insb byte es:[edi], dx
int1
sahf
pop ecx
dec ebx
xor esi, eax
cmp esi, dword [edx - 0x65811ae0]
and edx, edi
mov ecx, dword [eax + 0x2f]
and al, 0xd
adc eax, 0x3da5fcc6
jecxz 0x4933b3
dec ecx
and byte [esi - 0x5ef7b7bb], cl
sbb dword [edi + 0x14c39512], ebx
jl 0x493397
test dword [eax], esi
sub byte [eax], 0x50
in eax, 0x33
invalid
ffree st(4)
and eax, 0xf3fc5629
insb byte es:[edi], dx
sub dword [esi - 4], edx
rep insb byte es:[edi], dx
push edx
xchg ebp, eax
add dl, bh
aaa
cmc
out 0x7d, al
test byte [ecx - 0x57], dl
std
adc bh, ah
sub al, 0xa4
push edi
xor dword [ebx - 0x7a], 0x75
adc edi, 0x8775a4d4
jns 0x4933e2
lodsb al, byte [esi]
sti
xor edx, dword [ecx - 0x4bec90ba]
mov ch, 0x16
mov dl, 0x87
jns 0x493409
outsd dx, dword [esi]
adc esi, dword [ebp + esi*4 + 0x7987b216]
neg dword [esi - 0x68]
pop esi
cwde
push esp
or byte [ebp + edi*2 - 0x78], dh
mov byte [ecx + 0x1b69b474], cl
xor al, 0x2c
mov dword [esp + esi*4 + 0x69], esi
sbb esi, dword [esp + ebp]
dec ebp
cmc
invalid
pushal
test al, 0x2d
jno 0x4933c9
stosb byte es:[edi], al
mov dl, 0xd4
mov ah, ch
movsb byte es:[edi], byte [esi]
int1
push ds
dec eax
inc ecx
pop edx
jne 0x493418
pop edx
xchg edx, eax
loop 0x493475
mov dh, bl
rol dword [esi - 0x75], cl
jmp 0x49343f
mov bh, 0x1d
movsb byte es:[edi], byte [esi]
retf 0x1116
loope 0x493461
xchg edi, eax
add al, 0x52
mov cl, 0xa3
aam 0xe9
aaa
cmp bh, byte [edx + 0x25]
inc esi
cmp eax, 0x89ad9044
adc dh, byte [edx + 0x5698228c]
mov ah, 4
adc ch, dh
fld xword [ebp + 0x18]
adc eax, 0xb49419e5
mov byte [edx + ebx*4 + 0x590a6c7c], ch
out dx, al
adc dword [0x1e84fd58], ebp
cli
mov ah, 0xea
sub al, 0x1f
sub byte [esp + edx*2], dl
and eax, 0x15a72404
mov ah, 0x49
pop ds
jno 0x4934c9
ljmp 0x1152:0x5d4412b7
ret 0xf538