Function at 0x47a8af
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 0x47a9ed
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 0x47a91f
mov ebx, dword [ebp - 0x5c]
jmp 0x47a922
lea ebx, [ebp - 0x5c]
mov edx, 0xd27f1c
cmp edx, ebx
jae 0x47b165
xor edx, edx
test edx, edx
je 0x47a986
cmp eax, 0x10
jb 0x47a93f
mov edx, dword [ebp - 0x5c]
jmp 0x47a942
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 0x47a96a
call 0xd5f9dc
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 0x47a974
mov ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x47af40
mov dword [ebp - 0x34], 0x13
cmp eax, 0x13
jb 0x47b084
mov eax, dword [ebp - 0x34]
test eax, eax
ja 0x47b032
mov dword [ebp - 4], 8
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x90]
call int.0047d5d3
push 0xe4a7c0
lea eax, [ebp - 0x90]
push eax
call 0xd2d0b5
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jae 0x47b024
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 0xd2b646
pop ecx
test eax, eax
je 0x47aa17
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 0x47b2e6
movzx ecx, byte [ebp + 0xc]
test ecx, ecx
je 0x47aa43
mov dword [edx], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx]
je 0x47b18c
jmp 0x47aa52
mov dword [edx + 8], eax
mov ecx, dword [esi + 4]
cmp edx, dword [ecx + 8]
je 0x47b2de
mov edx, dword [eax + 4]
movsx ebx, byte [edx + 0x10]
mov ecx, eax
test ebx, ebx
jne 0x47ab06
mov ebx, dword [ecx + 4]
mov edx, dword [ebx + 4]
mov edi, dword [edx]
cmp ebx, edi
je 0x47b1f2
movsx edx, byte [edi + 0x10]
mov dword [ebp + 0x10], edi
test edx, edx
jne 0x47aa9b
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 0x47aaf7
mov edx, dword [ebx]
cmp ecx, edx
je 0x47b1a6
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 0x47b19b
mov edi, dword [ebx + 4]
mov dword [edx + 4], edi
mov edi, dword [esi + 4]
cmp ebx, dword [edi + 4]
je 0x47b193
mov edi, dword [ebx + 4]
cmp ebx, dword [edi]
je 0x47aaf0
mov dword [edi + 8], edx
jmp 0x47aaf2
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 0x47aa63
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 0x47b2ce
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
out dx, al
push ds
sub ebp, 0x8121f0a6
test eax, 0x46ef7f84
lahf
xor byte [eax + 0x1f], bl
inc ebx
test dword [ebx - 0x62], esi
sahf
shl byte ds:[ecx + 0x2f], cl
pop edi
inc edx
fbstp tbyte [edx + 0x6a]
sub dword [edi + 0x1fd1fdda], 0x9ef6df38
jge 0x47af32
inc ecx
cli
dec edx
lodsd eax, dword [esi]
ljmp 0x9990
adc byte [eax], dh
sbb ecx, dword [esi + ebx*2 - 0x3d]
dec esp
mov bh, ch
xchg ebp, eax
sbb eax, dword [0x892f115f]
aas
adc eax, 0x798a0540
mov al, 0xa1
jnp 0x47af5b
dec edi
aas
lds edi, [edi - 2]
add dword [ecx], eax
xchg esp, eax
xchg edi, eax
jp 0x47aeb5
mov ebx, 0x8fe21bf9
or al, 0xc7
jno 0x47af85
or eax, 0x6e51dbd3
or al, 0x75
xor ch, byte [esi + 0x35]
mov ah, 0x2f
and dword [ebx + 0x31], 0x7f
loopne 0x47aea1
arpl word [ecx], si
jg 0x47aef8
xor dword [edi - 0x20], edi
mov byte [edi - 0x66b6b6e7], bl
lahf
sbb dword [ecx + 0x49], ecx
cdq
outsd dx, dword [esi]
mov eax, dword [0x44db283e]
inc esp
loope 0x47af15
mov edi, 0x8f51ff29
salc
fistp word [edx - 0x2b]
jmp 0x75df4f13
xchg edi, eax
jne 0x47af23
mov cl, 0x88
aam 2
sar byte [edx], cl
inc eax
jg 0x47af39
aas
loope 0x47af89
dec eax
sbb esi, edi
pop es
jae 0x47af14
jecxz 0x47af77
cmpsd dword [esi], dword es:[edi]
mov edx, 0xbb9880c0
loope 0x47aed8
push 0x78
mov dh, 0xa2
pop eax
jno 0x47af96
movaps xmm3, xmmword [eax + ebp]
jnp 0x47afc2
sub byte [ebx + 0x64], bh
insb byte es:[edi], dx
mov esi, 0x82d884f4
adc dword [ecx - 0x29], ebx
and ecx, dword [ebp + 0x6f418444]
popal
test al, 0x51
fdiv qword [eax - 0x6e036afe]
ljmp 0x2ecb
aas
jp 0x47af9a
adc ecx, ebx
inc esp
imul ecx, dword es:[ebp + edi*4 - 0x71], 0x3bc9b75a
ror dword [edx - 0x78b174c0], cl
leave
cmp edx, ebx
mov al, byte [eax - 0x75]
dec esi
xchg dword [eax + 0x784bb070], edx
mov al, byte [0x31b9edd3]
and byte [ecx + 0x41], bl
inc eax
mov ecx, dword [esi - 0x79]
nop
jo 0x47af40
dec ebx
js 0x47af33
shr ebp, cl
mov ecx, 0x41592031
xor dword [eax], esp
pop ecx
inc ecx
rcl dword [edi - 0x1d685dd1], 0xe6
rcr bl, cl
les esi, [esi + 0x4a1ff31]
xchg edx, eax
outsd dx, dword [esi]
inc esi
iretd
pop es
pop edi
xchg byte [ebx - 0x49], bh
popfd
into
aam 0x9f
cmp dword [ebx - 0x279e4bff], esi
ror bh, 1
call 0x497d6c57
mov bl, 0xd3
invalid
fldcw word [esi]
xchg esp, eax
adc esi, dword [ecx - 0x242c1ab8]
ret
jg 0x47b0a0
inc cl
retf 0xdb79
jp 0x47b019
xchg dword [edi + ebp*2 - 0x6e], ebx
push cs
add esi, ebx
leave
fcmovnbe st(0), st(4)
in al, 0x80
invalid
in eax, dx
sbb dword [ebx], 0x9e500ca4
mov dword [0xecad11ce], eax
dec ebx
adc dword [edx + 0x75], 0x21919012
insd dword es:[edi], dx
invalid
outsd dx, dword [esi]
mov dword [0x246783ae], eax
jge 0x47b0c9
cdq
push cs
dec eax
fistp word [edx - 0x25590093]
mov ah, 0x1b
test eax, 0x70b5f07b
sub dword [esi], esp
and ah, byte [edx + 0x4c]
sbb dh, byte [edi - 0x49]
dec edi
adc byte [ebp + 0x2984102b], ch
push ds
jae 0x47b11b
adc byte [ecx + ebp + 0x2e51731e], al
xor eax, 0x206e72a7
push ecx
xor eax, 0x206e72a7
lahf
mov al, 0x37
sub dword [edx + 0x7f], 0xdbe70f71
fsub st(0), st(0)
movsb byte es:[edi], byte [esi]
cdq
jl 0x47b12e
daa
stc
sub al, 0x10
mov esp, 0xdf74a644
setge byte [bp + 0x5f80]
retf 0x174e
into
invalid
xor al, 0x25
dec edi
sbb byte [edi], 0x47
ja 0x47b143
inc eax
xchg esp, eax
jo 0x47b0ba
pop ebx
les edx, [eax - 0x31]
sahf
jno 0x47b0c4
push esp
aad 0x61
popal
loope 0x47b17b
ret
mov edx, 0x6d8ba937
sal byte [esp], cl
mov ecx, 0x57f55cf8
cmp ebp, ecx
jne 0x47b1e6
add dword [ebx], eax
push eax
or edx, esp
push 0xbdb10e93
aam 0x68
xchg ebx, eax
push cs
mov cl, 0xbd
pushfd
pop esi
shl byte [eax], 0xff
test eax, 0xc48aa98a
invalid
or cl, byte [esi + eax*4 - 0x2c]
xor al, byte [ecx - 0x2b]
mov dh, byte [edx - 0x6a564e59]
xchg ebp, eax
pop ebp
std
mov edi, 0x8208e171
mov bh, byte [eax - 0x52662989]
salc
cdq
lodsd eax, dword [esi]
mov ecx, 0x8ecd4669
cmp dl, bh
int3
push 0x19
mov al, 0x78
invalid
pop es
pop edi
or al, 0x39
mov ecx, ebx
stosb byte es:[edi], al
not eax
mov edi, esp
mov ebp, 0x978f9b73
aad 0x31
and eax, 0x3d62bec0
loope 0x47b226
jae 0x47b18f
invalid
call 0x404b9bc7
jge 0x47b1b3
out 0xaa, eax
and byte [eax + 0x14], 0x46
outsb dx, byte [esi]
pop es
mov ebx, 0x5666fe9b
push 8
mov bh, 0x73
sbb dword [edx - 0x6f], ecx
mov edi, 0x52cee735
push 0xffffffffffffff87
invalid
mov ah, 0x10
lea edx, [ebp - 0x3c3b62f]
das
popal
das
sahf
pop ebp
invalid
push eax
adc dl, byte [ecx]
push ecx
stc
das
sub dh, byte [ecx]
aaa
int3
wait
cmp dword [ebp + 0x78], esp
mov cl, 0xf7
imul edx, dword [edi], 0xa27e1fd2
int1
jne 0x47b291
and al, 0x99
push edi
add eax, 0xffed1c18
cdq
sbb byte [edx - 0x6c], 0xcb
add cl, byte [esi]
push cs
inc eax
stosd dword es:[edi], eax
test byte [esp + ebp*8 + 0x68], cl
cmp byte [edi - 0x7e], dh
mov dword [0x1ffa0e80], eax
jns 0x47b317
cmp byte [ebx], ch
jmp edi
sub edi, edi
out 0xb8, eax
ror dword [edi], 0x7b
mov eax, 0x177b0fc1
pop ss
lahf
or al, 0x45
fcom dword [ecx - 0x51]
int1
jns 0x47b33b
rcr byte [eax + 0x53b1acf5], 1
mov bh, 0x25
jg 0x47b2b1
sub ebx, esp
pop esi
in al, 0x67
out 0x6f, eax
inc ecx
test dword [ecx + 0x52a378b7], 0xbfb0f1f
mov esi, 0x3d99ee0c
xchg ecx, eax
xor ah, dl
je 0x47b2e2
retf 0x383b
cmp edi, dword [eax]
das
push ecx
pop esp
call 0x220fa520
pushfd
mov byte [0x4c9c001], ah
nop
cwde
cmp al, 0xb6
jmp 0x5904ccfc
in eax, 0x70
loope 0x47b2ce
xchg esp, eax
dec edi
or edi, ebx
invalid