Function at 0x43e588
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push cs
push cs
push ebp
inc esp
inc esi
dec ecx
outsb dx, byte gs:[esi]
je 0x43db8a
jne 0x43db9f
imul di, word [eax + 8], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
xor byte [ebx], ch
mov dword [0], eax
add byte [edx], al
or edx, dword [ebp + 0x44]
inc esi
push edx
jbe 0x43dbc3
jae 0x43dbc5
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x200]
add byte [edx], al
pop es
dec edi
push ebx
inc ebx
insb byte es:[edi], dx
popal
jae 0x43dbe4
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x300]
add byte [edx], al
or al, 0x4f
push ebx
dec ecx
outsb dx, byte gs:[esi]
je 0x43dbee
imul sp, word [ebp + 0x72], 2
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add cl, byte [eax]
jb 0x43dbfc
jae 0x43dbfe
jb 0x43dc11
add al, byte fs:[eax]
add al, byte [eax]
add byte [eax], al
nop
test al, 0xdb
inc ebx
add byte [esi], cl
push cs
push cs
imul ebp, dword [ebp + 0x70], 0x6e656449
je 0x43dc06
jne 0x43dc1b
imul di, word [eax + 8], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
dec eax
sub esp, dword [ebx]
add byte [edx], al
pop es
dec edi
push ebx
inc ebx
insb byte es:[edi], dx
popal
jae 0x43dc49
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x100]
add byte [edx], al
or al, 0x4f
push ebx
dec ecx
outsb dx, byte gs:[esi]
je 0x43dc53
imul sp, word [ebp + 0x72], 2
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add cl, byte [eax]
jb 0x43dc61
jae 0x43dc63
jb 0x43dc76
add al, byte fs:[eax]
add al, byte [eax]
add byte [eax], al
or al, 0xdc
inc ebx
add byte [esi], cl
push cs
push cs
popal
jo 0x43dc81
dec ecx
outsb dx, byte gs:[esi]
je 0x43dc6a
jne 0x43dc7f
imul di, word [eax + 8], 0
js 0x43dc25
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [esi]
imul ebp, dword [ebp + 0x70], 0x2657355
add byte [edx], al
add byte [eax], al
add byte [eax + sym.HDD_Regenerator.exe___xp_46Mbposta_udf_150_PLogicalVolIntegrityDescImpUse], dl
imul esp, dword [bp + di + 0x61], 0x6c6f566c
imul esp, dword [ebx + 0x61], 0x6c6f566c
dec ecx
outsb dx, byte [esi]
je 0x43dcba
jb 0x43dcc1
je 0x43dcd3
inc esp
jae 0x43dcc1
dec ecx
insd dword es:[edi], dx
jo 0x43dcb7
push ebp
jae 0x43dcc9
insb byte es:[edi], dx
insb byte es:[edi], dx
fadd qword [ebx]
add al, byte [eax]
nop
nop
jo 0x43dc4a
inc ebx
add byte [esi], cl
push cs
sbb eax, 0x69676f4c
arpl word [ecx + 0x6c], sp
push esi
outsd dx, dword [esi]
insb byte es:[edi], dx
dec ecx
outsb dx, byte [esi]
je 0x43dce5
jb 0x43dcec
jb 0x43dcec
jb 0x43dcec
je 0x43dcfe
inc esp
jae 0x43dcec
dec ecx
insd dword es:[edi], dx
jo 0x43dce2
jae 0x43dcf4
add byte cs:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push es
add byte [eax], al
add ah, bh
mov dl, 0x43
add byte [eax], al
add byte [eax], al
add byte [edx], al
or byte [ecx + 0x6d], ch
jo 0x43dcf3
outsb dx, byte gs:[esi]
je 0x43dcb1
add byte [eax], ch
sub esp, dword [ebx + 0x2000]
add byte [edx], al
or byte [esi + 0x75], ch
insd dword es:[edi], dx
outsb dx, byte [esi]
jne 0x43dd2a
inc esi
imul ebp, dword [ebp + 0x73], 0x2b280002
mov dword [0x2400], eax
jae 0x43dcc5
add byte [eax], ch
sub esp, dword [ebx + 0x2400]
add byte [eax], al
add byte [edx], al
pop es
outsb dx, byte [esi]
jne 0x43dd3e
inc esp
imul esi, dword [edx + 0x73], 0x2b300002
jb 0x43dd48
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x2800], eax
add byte [edx], al
or eax, 0x556e696d
imul ebp, dword [esi + 0x55], 0x65524644
popal
inc esp
inc esi
push edx
popal
push edx
jbe 0x43dcf1
add byte [eax], dh
sub esp, dword [ebx + 0x2a00]
add byte [edx], ch
add byte [eax], al
sub al, byte [eax]
add byte [eax], al
add cl, byte [esi]
add byte [edx], al
push cs
insd dword es:[edi], dx
imul ebp, dword [esi + 0x55], 0x72574644
imul esi, dword [ebp + 0x52], 0x27665
xor byte [ebx], ch
mov dword [0x2c00], eax
inc esp
inc esi
push edi
jb 0x43dd6c
je 0x43dd6a
push edx
jbe 0x43dd0b
add byte [eax], dh
sub esp, dword [ebx + 0x2c00]
add byte [edx], al
push cs
insd dword es:[edi], dx
popal
js 0x43dd6d
inc esp
inc esi
push edi
jb 0x43dd86
je 0x43dd84
push edx
jbe 0x43dd25
add byte [edx], al
add byte [eax], al
add byte [ebx*8 + 0x130e0043], ch
push cs
adc ebp, dword [ecx + 0x6d]
jo 0x43dd87
jae 0x43dd99
push esi
inc ebx
add byte [esi], cl
push cs
adc ebp, dword [ecx + 0x6d]
jo 0x43dd87
jae 0x43dd99
push esi
outsd dx, dword [esi]
insb byte es:[edi], dx
inc esp
jae 0x43dd9e
dec ecx
insd dword es:[edi], dx
jo 0x43dd94
push ebp
jae 0x43dda6
int3
add byte [eax], al
pop es
add byte [eax], al
add byte [eax + esi*4], al
inc ebx
add byte [eax], al
add byte [eax], al
add byte [edx], al
or cl, byte [esi + edx*2 + 0x49]
inc ebx
push 0x65737261
je 0x43dd65
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add cl, byte [edi]
insb byte es:[edi], dx
outsd dx, dword [esi]
imul esp, dword [bp + di + 0x61], 0x6c6f566c
dec ecx
outsb dx, byte gs:[esi]
je 0x43dd80
invalid
add byte [eax], al
add byte [eax], al
add al, al
add byte [eax], al
add byte [edx], al
pop es
add al, byte [edi]
dec esp
push esi
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
xor dword [edx], eax
add byte [eax], al
add byte [eax], al
add ah, ah
add byte [eax], al
add byte [eax], al
in al, 0
add byte [eax], al
add al, byte [edi]
add byte [edx], al
pop es
dec esp
push esi
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
xor al, byte [edx]
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add dword [eax], eax
add byte [edx], al
pop es
dec esp
push esi
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
xor eax, dword [edx]
add ah, bh
mov dl, 0x43
add byte [ecx + eax], ch
add byte [eax], al
add cl, byte [eax]
imul ebp, dword [ebp + 0x70], 0x6e656449
je 0x43ddcd
add byte [eax], al
add byte [eax], al
add byte [ecx + eax], cl
add byte [edx], al
push es
imul ebp, dword [ebp + 0x70], 0x2657355
add byte [edx], al
add byte [eax], al
add byte [eax + 0x43dde890], dl
add byte [esi], cl
push cs
adc byte [ebp + 0x64], dh
push ax
popal
jb 0x43de65
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
xor ch, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push es
add byte [eax], al
add byte [eax + 0x2b], cl
mov dword [0], eax
add byte [edx], al
adc byte [eax + 0x61], dh
jb 0x43de89
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
push esp
jns 0x43de90
add al, byte gs:[eax]
dec eax
sub esp, dword [ebx + 0x100]
add byte [edx], al
adc dh, byte [eax + 0x61]
jb 0x43dea5
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
dec esp
outsb dx, byte gs:[esi]
je 0x43dea7
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add cl, byte [ecx]
jb 0x43deb2
jae 0x43deb4
jb 0x43dec7
xor dword fs:[edx], eax
add ah, bh
mov dl, 0x43
add byte [eax + eax], al
add byte [eax], al
add cl, byte [ecx]
jo 0x43dec3
jb 0x43ded8
dec ecx
outsb dx, byte gs:[esi]
je 0x43de6c
add byte [eax], dh
sub esp, dword [ebx + 0x2400]
add byte [edx], al
or dword [esi + 0x6f], esi
insb byte es:[edi], dx
push ebx
jno 0x43deca
jne 0x43deeb
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x2600], eax
add byte [edx], al
or al, 0x70
popal
jb 0x43df02
imul esi, dword [ecx + ebp*2 + 0x6f], 0x6d754e6e
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
mov al, byte [0xe0043de]
push cs
imul ebp, dword [edi + 0x6e], 0x26d754e
add byte [edx], al
add byte [eax], al
add byte [eax + 0xe0043de], ah
push cs
adc esi, dword [esi + 0x69]
jb 0x43df1a
je 0x43df1c
jne 0x43df09
popal
insb byte es:[edi], dx
push eax
popal
jb 0x43df21
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
inc eax
dec ebp
popal
jo 0x43def6
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop es
add byte [eax], al
add byte [eax + 0x2b], cl
mov dword [0], eax
sub esp, dword [ebx]
add byte [eax], al
add byte [edx], al
adc byte [eax + 0x61], dh
add dl, byte [eax]
jo 0x43df2f
jb 0x43df44
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
push esp
jns 0x43df4b
add al, byte gs:[eax]
dec eax
sub esp, dword [ebx + 0x100]
add byte [edx], al
adc dh, byte [eax + 0x61]
jb 0x43df60
je 0x43df56
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
dec esp
je 0x43df58
outsd dx, dword [esi]
outsb dx, byte [esi]
dec ebp
popal
jo 0x43df41
outsb dx, byte gs:[esi]
outsb dx, byte [esi]
je 0x43df62
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add cl, byte [ecx]
jb 0x43df6d
jae 0x43df6f
jb 0x43df82
jb 0x43df82
xor dword fs:[edx], eax
add ah, bh
mov dl, 0x43
add byte [eax + eax], al
add byte [eax], al
add cl, byte [ecx]
jo 0x43df7e
or dword [eax + 0x61], esi
popal
jb 0x43df93
dec ecx
outsb dx, byte gs:[esi]
outsb dx, byte gs:[esi]
je 0x43df27
add byte [eax], dh
sub esp, dword [ebx + 0x2400]
add byte [edx], al
or dword [esi + 0x6f], esi
insb byte es:[edi], dx
push ebx
jno 0x43df85
jne 0x43dfa6
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x2600], eax
add byte [edx], al
add byte [eax], al
add cl, byte [eax + esi*2]
or al, 0x70
popal
jb 0x43dfbd
imul esi, dword [ecx + ebp*2 + 0x6f], 0x6d754e6e
add al, byte [eax]
add byte [eax], al
add byte [eax], al
sub byte [eax], al
add byte [eax], al
add cl, byte [ecx]
jb 0x43dfc4
imul ebp, dword [edi + 0x6e], 0x26d754e
add byte [eax], al
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [edx], al
or dword [edx + 0x65], esi
jae 0x43dfc6
jb 0x43dfd9
jb 0x43dfd9
jbe 0x43dfc9
xor al, byte fs:[edx]
xor al, byte fs:[edx]
add byte [edx], al
add byte [eax], al
add byte [eax - 0x21], dh
inc ebx
fild word [ebx]
add byte [esi], cl
sbb dword [ebx + 0x70], edx
popal
jb 0x43dfd8
bound ebp, qword [ebp + 0x50]
popal
jb 0x43dff2
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
push esp
outsb dx, byte [esi]
dec ebp
popal
jo 0x43dfdb
jns 0x43dff9
xor al, byte gs:[eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
add byte [eax], al
xor al, 0x2b
mov dword [0], eax
add byte [edx], al
adc byte [eax + 0x61], dl
jb 0x43e01a
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
push esp
jns 0x43e021
add al, byte gs:[eax]
xor al, 0x2b
mov dword [0x100], eax
add byte [edx], al
adc dl, byte [eax + 0x61]
jb 0x43e036
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
dec esp
imul ebp, dword [edi + 0x6e], 0x4c70614d
outsb dx, byte [esi]
dec ebp
popal
jo 0x43e017
outsb dx, byte gs:[esi]
je 0x43e038
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add cl, byte [ecx]
push edx
jae 0x43e045
add byte [edx], al
or dword [edx + 0x65], edx
jae 0x43e045
jb 0x43e058
xor dword fs:[edx], eax
add ah, bh
mov dl, 0x43
add byte [eax + eax], al
add byte [eax], al
add dl, byte [edi]
push eax
popal
jb 0x43e069
imul esi, dword [ecx + ebp*2 + 0x6f], 0x7079546e
outsb dx, byte [esi]
push esp
jns 0x43e06d
dec ecx
outsb dx, byte gs:[esi]
je 0x43e06d
imul sp, word [ebp + 0x72], 2
xor byte [ebx], ch
mov dword [0x2400], eax
add byte [edx], al
adc al, 0x56
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x43e086
push ebx
push ebx
jno 0x43e093
outsb dx, byte gs:[esi]
arpl word [ebp + 0x4e], sp
dec esi
jne 0x43e092
bound esp, qword [ebp + 0x72]
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x2600], eax
add byte [edx], al
invalid
jb 0x43e0ac
imul esi, dword [ecx + ebp*2 + 0x6f], 0x6d754e6e
bound esp, qword [ebp + 0x72]
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x2800], eax
add byte [edx], al
or al, 0x50
popal
arpl word [ebx + 0x65], bp
je 0x43e0a2
outsb dx, byte gs:[esi]
je 0x43e0c3
add al, byte [eax]
xor al, 0x2b
mov dword [0x2a00], eax
add byte [edx], al
adc eax, 0x626d754e
jb 0x43e0bd
insd dword es:[edi], dx
bound esp, qword [ebp + 0x72]
dec edi
push bx
jo 0x43e0d3
jb 0x43e0dd
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 0x73]
add al, byte [eax]
xor al, 0x2b
mov dword [0x2b00], eax
add byte [edx], al
or dword [edx + 0x65], edx
jae 0x43e0f1
add cl, byte [ecx]
push edx
jae 0x43e0f1
jb 0x43e104
xor al, byte fs:[edx]
add byte [eax], ch
sub esp, dword [ebx + 0x2c00]
sub byte [ebx], ch
mov dword [0x2c00], eax
add byte [edx], al
push ss
push ebx
imul edi, dword [edx + 0x65], 0x6145664f
inc bp
popal
arpl word [eax + 0x53], bp
jo 0x43e10b
jb 0x43e115
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 2]
add byte [eax], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [edx], al
sbb byte [edi + ebp*2 + 0x63], cl
popal
add bl, byte [eax]
dec esp
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x53664f73
je 0x43e12e
outsd dx, dword [esi]
outsb dx, byte [esi]
jae 0x43e118
push bx
jo 0x43e12e
jb 0x43e138
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 0x73]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
add al, byte [ebx]
push eax
popal
add al, byte fs:[eax]
add al, byte [eax]
add byte [eax], al
invalid
invalid
add byte [edx], al
add byte [eax + sym.HDD_Regenerator.exe___xp_30Mbposta_udf_150_LogicalVolDesc], dl
add byte [esi], cl
push cs
dec esp
outsd dx, dword [esi]
imul esp, dword [bp + di + 0x61], 0x6c6f566c
push esi
outsd dx, dword [esi]
insb byte es:[edi], dx
inc esp
jae 0x43e17f
mov esi, 1
add byte [eax], al
add byte [eax], al
or eax, 0xa8000000
mov dh, 0x43
add byte [eax], al
add byte [eax], al
add byte [edx], al
pop es
jae 0x43e19a
push esp
popal
add al, byte [bx + si]
sub byte [ebx], ch
mov dword [0x1000], eax
add byte [edx], al
or eax, 0x446c6f76
jae 0x43e1b0
push ebx
jno 0x43e19f
jne 0x43e1c0
add al, byte [eax]
add al, 0xb0
inc ebx
add byte [eax + eax], dl
add byte [eax], al
add cl, byte [ebx]
jae 0x43e1c6
inc ebx
push 0x65537261
je 0x43e16d
add byte [eax], al
add byte [eax], al
add byte [eax + eax], dl
add byte [edx], al
invalid
insb byte es:[edi], dx
dec ecx
outsb dx, byte gs:[esi]
je 0x43e188
add byte [eax], ch
sub esp, dword [ebx + 0xd400]
add byte [edx], al
adc byte [edi + ebp*2 + 0x67], ch
imul esp, dword [ebx + 0x61], 0x6f6c426c
outsd dx, dword [esi]
arpl word [ebx + 0x53], bp
imul edi, dword [edx + 0x65], 0xb2fc0002
inc ebx
jp 0x43e206
add al, byte [eax]
cld
mov dl, 0x43
add al, bl
add byte [eax], al
add byte [edx], al
or esp, dword [edi + ebp*2 + 0x6d]
popal
imul ebp, dword [esi + 0x49], 0x746e6564
add al, byte [eax]
adc al, 0xb1
inc ebx
add al, bh
add byte [eax], al
add byte [edx], al
adc eax, 0x69676f6c
add byte [eax], al
add dl, byte [0x69676f6c]
imul esp, dword [bp + di + 0x61], 0x6c6f566c
arpl word [ecx + 0x6c], sp
push esi
outsd dx, dword [esi]
insb byte es:[edi], dx
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x43e238
outsb dx, byte [esi]
je 0x43e249
push ebp
jae 0x43e23e
add al, byte [eax]
sub byte [ebx], ch
mov dword [0x10800], eax
add byte [edx], al
push cs
insd dword es:[edi], dx
popal
jo 0x43e23d
popal
bound ebp, qword [ebp + 0x4c]
outsb dx, byte gs:[esi]
je 0x43e25b
add al, byte [eax]
sub byte [ebx], ch
mov dword [0x10c00], eax
add byte [edx], al
adc byte [esi + 0x75], ch
insd dword es:[edi], dx
push eax
popal
jb 0x43e27a
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
jae 0x43e212
add ah, bh
mov dl, 0x43
add byte [eax], dl
add dword [eax], eax
add byte [edx], al
or byte [ecx + 0x6d], ch
jo 0x43e268
outsb dx, byte gs:[esi]
je 0x43e226
add byte [eax], al
add byte [eax], al
add byte [eax], dh
add dword [eax], eax
add byte [edx], al
push es
imul ebp, dword [ebp + 0x70], 0x2657355
add byte [esi + esi*4 + 0x43], cl
mov dh, 0x43
add byte [eax + 0x2000001], dh
add byte [eax], al
add cl, byte [edi]
imul ebp, dword [esi + 0x74], 0x69726765
add byte [edx], al
punpckhwd mm5, qword [esi + 0x74]
jb 0x43e2b1
je 0x43e2c3
jns 0x43e29e
push ebx
jno 0x43e293
js 0x43e2c4
add al, byte [eax]
adc al, 0xbf
inc ebx
add byte [eax + 0x2000001], bh
push cs
push eax
popal
jb 0x43e2d4
imul esi, dword [ecx + ebp*2 + 0x6f], 0x70614d6e
push esp
xor dword [edx], eax
add byte [edx], al
add byte [eax], al
add byte [edx + 0x43], dh
add byte [esi], cl
push cs
sbb byte [esi + 0x69], dh
jb 0x43e2ee
jne 0x43e2dd
insb byte es:[edi], dx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x6c626154
xor dword gs:[0x28], esi
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [eax - 0x27], ch
inc ebx
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
push 0x43d9
add byte [eax], al
add byte [eax], al
add byte [edx], al
or eax, 0x74726956
jne 0x43e30c
insb byte es:[edi], dx
push ebx
arpl word gs:[edi + ebp*2 + 0x72], si
add al, byte [eax]
cld
jb 0x43e2b5
add ah, bh
mov dl, 0x43
add byte [eax + eax], al
add byte [eax], al
add al, byte [0x6e656469]
je 0x43e2c6
add al, byte [eax]
sub byte [ebx], ch
mov dword [0x2400], eax
add byte [eax], ch
sub esp, dword [ebx + 0x2400]
add byte [edx], al
push cs
jo 0x43e343
jbe 0x43e33d
outsd dx, dword [esi]
jne 0x43e34a
push esi
inc ecx
push esp
dec ecx
inc ebx
inc edx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
nop
call 0xe4426cb
push cs
sbb byte [esi + 0x69], dh
jb 0x43e362
jne 0x43e351
insb byte es:[edi], dx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x6c626154
xor dh, byte gs:[eax]
cdq
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or eax, dword [eax]
add byte [eax], al
xor byte [ebx], ch
mov dword [0], eax
add byte [eax], al
add byte [eax], dh
sub esp, dword [ebx]
add byte [edx], al
or al, 0x6c
outsb dx, byte gs:[esi]
je 0x43e387
dec eax
popal
jb 0x43e328
add byte [eax], dh
sub esp, dword [ebx + 0x200]
add byte [edx], al
or al, 0x6c
outsb dx, byte gs:[esi]
je 0x43e39f
dec ecx
insd dword es:[edi], dx
jo 0x43e390
jae 0x43e3a2
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add al, 0
add byte [eax], al
add cl, byte [edi]
insb byte es:[edi], dx
outsd dx, dword [esi]
imul esp, dword [bp + di + 0x61], 0x6c6f566c
outsd dx, dword [esi]
insb byte es:[edi], dx
dec ecx
outsb dx, byte gs:[esi]
je 0x43e35b
add byte [eax], ch
sub esp, dword [ebx + 0x8400]
add byte [edx], al
adc dword [eax + 0x72], esi
add dl, byte [ecx]
jo 0x43e3d8
jbe 0x43e3d2
outsd dx, dword [esi]
jne 0x43e3df
push esi
popal
je 0x43e3b9
inc ebx
inc edx
dec esp
outsd dx, dword [esi]
arpl word [edx], ax
add byte [eax], ch
sub esp, dword [ebx + 0x8800]
add byte [edx], al
or al, 0x6e
jne 0x43e3f1
inc esi
dec ecx
inc esp
push ebx
inc esi
imul ebp, dword [ebp + 0x73], 0x2b280002
mov dword [0x8c00], eax
sub esp, dword [ebx + 0x8c00]
add byte [edx], al
adc ch, byte [esi + 0x75]
insd dword es:[edi], dx
inc esi
dec ecx
inc esp
push ebx
inc esp
imul esi, dword [edx + 0x65], 0x726f7463
jb 0x43e409
arpl word [edi + ebp*2 + 0x72], si
imul esp, dword [ebp + 0x73], 0x2b300002
mov dword [0x9000], eax
add byte [edx], al
invalid
outsb dx, byte [esi]
push edx
popal
push edx
jbe 0x43e42b
jae 0x43e42d
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x9200], eax
add byte [edx], al
adc byte [ebp + 0x69], ch
outsb dx, byte [esi]
push edi
jb 0x43e441
insd dword es:[edi], dx
imul ebp, dword [esi + 0x57], 0x65746972
je 0x43e43f
push edx
jbe 0x43e447
jae 0x43e449
imul ebp, dword [edi + 0x6e], 0x2b300002
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x9400], eax
add byte [edx], al
adc byte [ebp + 0x61], ch
js 0x43e449
push edi
jb 0x43e45d
je 0x43e45b
push edx
jbe 0x43e463
jae 0x43e465
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x9600], eax
add byte [edx], al
or byte [edx + 0x65], dh
jae 0x43e473
jb 0x43e486
add al, byte fs:[eax]
dec eax
sub esp, dword [ebx + 0x9800]
add byte [edx], al
or eax, 0x55706d69
jae 0x43e489
xor dword [ebx + 0x74], esi
inc edx
jns 0x43e49e
add al, byte gs:[eax]
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
nop
nop
nop
cmp ah, ah
inc ebx
add byte [edi + edx], dl
adc al, 0x17
push eax
dec ebp
popal
jo 0x43e484
outsb dx, byte [esi]
je 0x43e4b4
jb 0x43e4bc
jns 0x43e48d
dec ecx
outsb dx, byte [esi]
push ebx
jo 0x43e4a9
popal
jb 0x43e4b3
imul ebp, dword [esi + 0x67], 0x6c626154
pop eax
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 0x58]
in al, 0x43
add byte [edx], al
add byte [eax + sym.HDD_Regenerator.exe___xp_38Mbposta_udf_150_MapEntryInSparingTable], dl
add byte [esi], cl
push ss
dec ebp
popal
jo 0x43e4a7
outsb dx, byte [esi]
je 0x43e4d7
jns 0x43e4b0
outsb dx, byte [esi]
push ebx
jo 0x43e4cc
jb 0x43e4d6
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 8]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
sub byte [ebx], ch
mov dword [0], eax
or byte gs:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], ch
sub esp, dword [ebx]
add byte [eax], al
add byte [eax], al
add byte [edx], al
adc byte [edi + 0x72], cl
add dl, byte [eax]
dec edi
jb 0x43e4f7
imul esp, dword [edi + 0x69], 0x4c6c616e
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x2b280002
imul ebp, dword [bp + 0x61], 0x636f4c6c
popal
je 0x43e502
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
sub byte [ebx], ch
sub esp, dword [ebx + 0x400]
mov dword [0x400], eax
add byte [edx], al
push cs
dec ebp
popal
jo 0x43e51b
dec esp
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x20002
popal
je 0x43e51c
outsd dx, dword [esi]
outsb dx, byte [esi]
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
nop
shl ah, 0x43
add byte [ecx + 0x61705350], dl
adc al, 0xd
push eax
push ebx
jo 0x43e527
jb 0x43e531
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp - 0x28]
in al, 0x43
add byte [edx], al
add byte [eax - 0x1b236f70], dl
nop
nop
fsubr st(4), st(0)
inc ebx
add byte [esi], cl
push cs
or al, 0x53
jo 0x43e542
jb 0x43e54c
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 0x38]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, 0xa8000000
mov dh, 0x43
test al, 0xb6
inc ebx
add byte [eax], al
add byte [eax], al
add byte [edx], al
or eax, 0x63736544
jae 0x43e568
jb 0x43e570
jo 0x43e57d
outsd dx, dword [esi]
jb 0x43e560
popal
add al, byte [bx + si]
cld
mov dl, 0x43
add byte [eax], dl
add byte [eax], al
add byte [edx], al
adc dword [ebx + 0x70], edx
jo 0x43e57e
popal
jb sym.HDD_Regenerator.exe___xp_31Mbposta_udf_150_allocDescImpUse
outsb dx, byte [esi]
dec ecx
outsb dx, byte gs:[esi]
je 0x43e590
imul sp, word [ebp + 0x72], 2
xor byte [ebx], ch
mov dword [0x3000], eax
add byte [edx], al
pop ss
xor byte [eax], al
add byte [eax], al
add dl, byte [edi]
push edx
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [ecx + 0x74], sp
imul ebp, dword [edi + 0x6e], 0x6c626154
dec esp
outsb dx, byte [esi]
push esp
popal
bound ebp, qword [ebp + 0x4c]
outsb dx, byte gs:[esi]
je 0x43e5b6
je 0x43e5b6
add al, byte [eax]
xor byte [ebx], ch
mov dword [0x3200], eax
add byte [edx], al
or byte [edx + 0x65], dl
jae 0x43e5c3
jb 0x43e5d6
add al, byte fs:[eax]
sub byte [ebx], ch
mov dword [0x3400], eax
add byte [edx], al
push cs
xor al, 0
add byte [eax], al
add cl, byte [esi]
push ebx
jno 0x43e5e7
jno 0x43e5e7
outsb dx, byte gs:[esi]
arpl word [ebp + 0x4e], sp
jne 0x43e5e6
bound esp, qword [ebp + 0x72]
add al, byte [eax]
add byte [edx], al
add byte [eax], al
add byte [eax + 0x43e58890], dl
add al, byte [eax]
add byte [eax], al
nop
nop
mov ch, ah
inc ebx
add byte [esi], cl
punpcklwd mm5, dword [esp + ebp*2 + 0x6f]
arpl word [ebp + 0x73], ax
arpl word [ecx + 0x6d], cx
jae 0x43e5f6
dec ecx
insd dword es:[edi], dx
jo 0x43e5ec
jae 0x43e5fe
push es
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
xor byte [ebx], ch
mov dword [0], eax
add byte [edx], al
add eax, 0x67616c66
jae 0x43e5b8
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [edx], al
push es
imul ebp, dword [ebp + 0x70], 0x2657355
add byte [edx], al
add byte [eax], al
add byte [eax - 0x1a2b6f70], dl
jo 0x43e61a
jae 0x43e62c
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
nop
nop
nop
aam 0xe5
inc ebx
add byte [esi], cl
push cs
or esp, dword [esi + 0x72]
inc ebp
jb 0x43e63e
inc ebp
popal
push ebx
jo 0x43e640
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], dh
sub esp, dword [ebx]
add byte [eax], al
xor byte [ebx], ch
mov dword [0], eax
add byte [edx], al
push cs
add cl, byte [esi]
push 0x65646165
jb 0x43e642
inc ebx
push 0x736b6365
jne 0x43e673
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x200]
add byte [edx], al
adc ah, byte [esi + 0x72]
inc ebp
inc ecx
push ebx
jo 0x43e67c
popal
arpl word [ebp + 0x31], sp
jae 0x43e694
inc edx
jns 0x43e697
add al, byte gs:[eax]
add al, byte [eax]
add byte [eax], al
nop
nop
xor dh, ah
inc ebx
add byte [esi], cl
push cs
adc al, byte [esi + edx*2 + 0x44]
inc ebx
outsd dx, dword [esi]
jo 0x43e6b2
jb 0x43e6a4
push 0x706d4974
push ebp
dec ecx
insd dword es:[edi], dx
jo 0x43e697
jae 0x43e6a9
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
xor byte [ebx], ch
mov dword [0], eax
add byte [edx], al
push cs
push 0x65646165
jb 0x43e6a5
push 0x736b6365
jne 0x43e6d6
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x200]
add byte [edx], al
or byte [ebx + 0x47], al
add cl, byte [eax]
inc ebx
inc edi
dec ebp
push ebx
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
outsd dx, dword [esi]
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x300]
add byte [edx], al
or byte [ecx + 0x74], ah
popal
push esp
jns 0x43e700
add al, byte gs:[eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], al
add al, 0
add byte [eax], al
add dl, byte [eax + esi*2]
jb 0x43e70f
je 0x43e707
arpl word [ecx + ebp*2 + 0x6f], si
imul ebp, dword [edi + 0x6e], 0x74737953
outsd dx, dword [esi]
outsb dx, byte [esi]
push ebx
jns 0x43e71d
jae 0x43e71f
je 0x43e711
insd dword es:[edi], dx
insd dword es:[edi], dx
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
nop
mov esp, 0xe0043e6
push cs
add byte [edx], al
add byte [eax], al
add byte [eax + sym.HDD_Regenerator.exe___xp_30Mbposta_udf_150_freeAppEASpace], dl
push cs
jb 0x43e726
inc ecx
jo 0x43e735
inc ebp
inc ecx
push ebx
jo 0x43e72b
arpl word [ebp + 3], sp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
xor byte [ebx], ch
mov dword [0], eax
add byte [eax], al
add byte [eax], dh
sub esp, dword [ebx]
add byte [edx], al
push cs
push 0x65646165
jb 0x43e72d
push 0x736b6365
jne 0x43e75e
add al, byte [eax]
dec eax
sub esp, dword [ebx + 0x200]
add byte [edx], al
adc ah, byte [esi + 0x72]
inc ebp
inc ebp
inc ecx
push ebx
jo 0x43e767
arpl word [ebp + 0x31], sp
jae 0x43e77f
xor dword gs:[ebx + 0x74], esi
inc edx
jns 0x43e782
add al, byte gs:[eax]
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
nop
nop
nop
add bl, al
nop
add ebx, eax
leave
test edx, edx
je 0x43e757
sal byte [edi + 0x4a], cl
dec edx
movzx ebx, cx
shr ebx, 8
movzx esi, byte [eax]
xor ebx, esi
and ebx, 0xff
movzx ebx, word [ebx*2 + 0x8a4d88]
shl ecx, 8
jmp 0x43e73f
add byte [eax], al
add byte [edi], cl
mov bh, 0x1c
pop ebp
mov byte [ebp - 0x76], cl
add cl, al
loope 0x43e755
xor bx, cx
mov ecx, ebx
inc eax
test edx, edx
jne 0x43e730
mov eax, ecx
pop esi
pop ebx
ret
xor bh, dh
invalid
add bl, al
nop