40abe0:	2b cb                	sub    %ebx,%ecx
40abe2:	75 10                	jne    0x40abf4
40abe4:	e8 42 00 00 00       	call   0x40ac2b
40abe9:	eb 28                	jmp    0x40ac13
40abeb:	ac                   	lods   %ds:(%esi),%al
40abec:	d1 e8                	shr    $1,%eax
40abee:	74 4d                	je     0x40ac3d
40abf0:	13 c9                	adc    %ecx,%ecx
40abf2:	eb 1c                	jmp    0x40ac10
40abf4:	91                   	xchg   %eax,%ecx
40abf5:	48                   	dec    %eax
40abf6:	c1 e0 08             	shl    $0x8,%eax
40abf9:	ac                   	lods   %ds:(%esi),%al
40abfa:	e8 2c 00 00 00       	call   0x40ac2b
40abff:	3d 00 7d 00 00       	cmp    $0x7d00,%eax
40ac04:	73 0a                	jae    0x40ac10
40ac06:	80 fc 05             	cmp    $0x5,%ah
40ac09:	73 06                	jae    0x40ac11
40ac0b:	83 f8 7f             	cmp    $0x7f,%eax
40ac0e:	77 02                	ja     0x40ac12
40ac10:	41                   	inc    %ecx
40ac11:	41                   	inc    %ecx
40ac12:	95                   	xchg   %eax,%ebp
40ac13:	8b c5                	mov    %ebp,%eax
40ac15:	b3 01                	mov    $0x1,%bl
40ac17:	56                   	push   %esi
40ac18:	8b f7                	mov    %edi,%esi
40ac1a:	2b f0                	sub    %eax,%esi
40ac1c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40ac1e:	5e                   	pop    %esi
40ac1f:	eb 8e                	jmp    0x40abaf
40ac21:	02 d2                	add    %dl,%dl
40ac23:	75 05                	jne    0x40ac2a
40ac25:	8a 16                	mov    (%esi),%dl
40ac27:	46                   	inc    %esi
40ac28:	12 d2                	adc    %dl,%dl
40ac2a:	c3                   	ret
40ac2b:	33 c9                	xor    %ecx,%ecx
40ac2d:	41                   	inc    %ecx
40ac2e:	e8 ee ff ff ff       	call   0x40ac21
40ac33:	13 c9                	adc    %ecx,%ecx
40ac35:	e8 e7 ff ff ff       	call   0x40ac21
40ac3a:	72 f2                	jb     0x40ac2e
40ac3c:	c3                   	ret
40ac3d:	2b 7c 24 28          	sub    0x28(%esp),%edi
40ac41:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
40ac45:	61                   	popa
40ac46:	c2 0c 00             	ret    $0xc
40ac49:	00 00                	add    %al,(%eax)
40ac4b:	00 b4 90 00 00 4c 37 	add    %dh,0x374c0000(%eax,%edx,4)
40ac52:	00 00                	add    %al,(%eax)
40ac54:	50                   	push   %eax
40ac55:	1a 00                	sbb    (%eax),%al
40ac57:	00 9e ab 00 00 08    	add    %bl,0x80000ab(%esi)
40ac5d:	90                   	nop
40ac5e:	00 00                	add    %al,(%eax)
40ac60:	0c 90                	or     $0x90,%al
40ac62:	00 00                	add    %al,(%eax)
40ac64:	00 00                	add    %al,(%eax)
40ac66:	40                   	inc    %eax
40ac67:	00 00                	add    %al,(%eax)
40ac69:	90                   	nop
40ac6a:	00 00                	add    %al,(%eax)
40ac6c:	04 90                	add    $0x90,%al
40ac6e:	00 00                	add    %al,(%eax)
40ac70:	b8 f5 99 40 f0       	mov    $0xf04099f5,%eax
40ac75:	8d 88 9e 12 00 10    	lea    0x1000129e(%eax),%ecx
40ac7b:	89 41 01             	mov    %eax,0x1(%ecx)
40ac7e:	8b 54 24 04          	mov    0x4(%esp),%edx
40ac82:	8b 52 0c             	mov    0xc(%edx),%edx
40ac85:	c6 02 e9             	movb   $0xe9,(%edx)
40ac88:	83 c2 05             	add    $0x5,%edx
40ac8b:	2b ca                	sub    %edx,%ecx
40ac8d:	89 4a fc             	mov    %ecx,-0x4(%edx)
40ac90:	33 c0                	xor    %eax,%eax
40ac92:	c3                   	ret
40ac93:	b8 78 56 34 12       	mov    $0x12345678,%eax
40ac98:	64 8f 05 00 00 00 00 	pop    %fs:0x0
40ac9f:	83 c4 04             	add    $0x4,%esp
40aca2:	55                   	push   %ebp
40aca3:	53                   	push   %ebx
40aca4:	51                   	push   %ecx
40aca5:	57                   	push   %edi
40aca6:	56                   	push   %esi
40aca7:	52                   	push   %edx
40aca8:	8d 98 57 12 00 10    	lea    0x10001257(%eax),%ebx
40acae:	8b 53 18             	mov    0x18(%ebx),%edx
40acb1:	52                   	push   %edx
40acb2:	8b e8                	mov    %eax,%ebp
40acb4:	6a 40                	push   $0x40
40acb6:	68 00 10 00 00       	push   $0x1000
40acbb:	ff 73 04             	push   0x4(%ebx)
40acbe:	6a 00                	push   $0x0
40acc0:	8b 4b 10             	mov    0x10(%ebx),%ecx
40acc3:	03 ca                	add    %edx,%ecx
40acc5:	8b 01                	mov    (%ecx),%eax
40acc7:	ff d0                	call   *%eax
40acc9:	5a                   	pop    %edx
40acca:	8b f8                	mov    %eax,%edi
40accc:	50                   	push   %eax
40accd:	52                   	push   %edx
40acce:	8b 33                	mov    (%ebx),%esi
40acd0:	8b 43 20             	mov    0x20(%ebx),%eax
40acd3:	03 c2                	add    %edx,%eax
40acd5:	8b 08                	mov    (%eax),%ecx
40acd7:	89 4b 20             	mov    %ecx,0x20(%ebx)
40acda:	8b 43 1c             	mov    0x1c(%ebx),%eax
40acdd:	03 c2                	add    %edx,%eax
40acdf:	8b 08                	mov    (%eax),%ecx
40ace1:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
40ace4:	03 f2                	add    %edx,%esi
40ace6:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40ace9:	03 ca                	add    %edx,%ecx
40aceb:	8d 43 1c             	lea    0x1c(%ebx),%eax
40acee:	50                   	push   %eax
40acef:	57                   	push   %edi
40acf0:	56                   	push   %esi
40acf1:	ff d1                	call   *%ecx
40acf3:	5a                   	pop    %edx
40acf4:	58                   	pop    %eax
40acf5:	03 43 08             	add    0x8(%ebx),%eax
40acf8:	8b f8                	mov    %eax,%edi
40acfa:	52                   	push   %edx
40acfb:	8b f0                	mov    %eax,%esi
40acfd:	8b 46 fc             	mov    -0x4(%esi),%eax
40ad00:	83 c0 04             	add    $0x4,%eax
40ad03:	2b f0                	sub    %eax,%esi
40ad05:	89 56 08             	mov    %edx,0x8(%esi)
40ad08:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40ad0b:	89 4e 14             	mov    %ecx,0x14(%esi)
40ad0e:	ff d7                	call   *%edi
40ad10:	89 85 3f 13 00 10    	mov    %eax,0x1000133f(%ebp)
40ad16:	8b f0                	mov    %eax,%esi
40ad18:	8b 4b 14             	mov    0x14(%ebx),%ecx
40ad1b:	5a                   	pop    %edx
40ad1c:	eb 0c                	jmp    0x40ad2a
40ad1e:	03 ca                	add    %edx,%ecx
40ad20:	68 00 80 00 00       	push   $0x8000
40ad25:	6a 00                	push   $0x0
40ad27:	57                   	push   %edi
40ad28:	ff 11                	call   *(%ecx)
40ad2a:	8b c6                	mov    %esi,%eax
40ad2c:	5a                   	pop    %edx
40ad2d:	5e                   	pop    %esi
40ad2e:	5f                   	pop    %edi
40ad2f:	59                   	pop    %ecx
40ad30:	5b                   	pop    %ebx
40ad31:	5d                   	pop    %ebp
40ad32:	ff e0                	jmp    *%eax
40ad3c:	00 00                	add    %al,(%eax)
40ad3e:	73 c1                	jae    0x40ad01
40ad40:	62 5e 30             	bound  %ebx,0x30(%esi)
40ad43:	dd 9a d5 ad 5c 00    	fstpl  0x5cadd5(%edx)