40b8fe:	8d b0 b6 00 00 00    	lea    0xb6(%eax),%esi
40b904:	89 d7                	mov    %edx,%edi
40b906:	52                   	push   %edx
40b907:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b908:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b909:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b90a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b90b:	5f                   	pop    %edi
40b90c:	96                   	xchg   %eax,%esi
40b90d:	8b 4e 1c             	mov    0x1c(%esi),%ecx
40b910:	e3 3d                	jecxz  0x40b94f
40b912:	57                   	push   %edi
40b913:	51                   	push   %ecx
40b914:	e8 87 91 ff ff       	call   0x404aa0
40b919:	f6 46 36 28          	testb  $0x28,0x36(%esi)
40b91d:	74 24                	je     0x40b943
40b91f:	89 f0                	mov    %esi,%eax
40b921:	e8 f2 c1 ff ff       	call   0x407b18
40b926:	85 c0                	test   %eax,%eax
40b928:	74 25                	je     0x40b94f
40b92a:	31 d2                	xor    %edx,%edx
40b92c:	52                   	push   %edx
40b92d:	52                   	push   %edx
40b92e:	54                   	push   %esp
40b92f:	50                   	push   %eax
40b930:	e8 9b 90 ff ff       	call   0x4049d0
40b935:	58                   	pop    %eax
40b936:	f7 d8                	neg    %eax
40b938:	59                   	pop    %ecx
40b939:	f7 d9                	neg    %ecx
40b93b:	51                   	push   %ecx
40b93c:	50                   	push   %eax
40b93d:	57                   	push   %edi
40b93e:	e8 a5 91 ff ff       	call   0x404ae8
40b943:	87 f7                	xchg   %esi,%edi
40b945:	8d bf b6 00 00 00    	lea    0xb6(%edi),%edi
40b94b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b94f:	5f                   	pop    %edi
40b950:	5e                   	pop    %esi
40b951:	c3                   	ret
40b952:	8b c0                	mov    %eax,%eax
40b954:	59                   	pop    %ecx
40b955:	83 c4 f0             	add    $0xfffffff0,%esp
40b958:	89 e2                	mov    %esp,%edx
40b95a:	51                   	push   %ecx
40b95b:	50                   	push   %eax
40b95c:	e8 9b ff ff ff       	call   0x40b8fc
40b961:	58                   	pop    %eax
40b962:	c3                   	ret
40b963:	90                   	nop
40b964:	57                   	push   %edi
40b965:	89 c7                	mov    %eax,%edi
40b967:	56                   	push   %esi
40b968:	89 d6                	mov    %edx,%esi
40b96a:	e8 e5 ff ff ff       	call   0x40b954
40b96f:	89 f0                	mov    %esi,%eax
40b971:	89 e2                	mov    %esp,%edx
40b973:	e8 2c e8 ff ff       	call   0x40a1a4
40b978:	84 c0                	test   %al,%al
40b97a:	75 5e                	jne    0x40b9da
40b97c:	5a                   	pop    %edx
40b97d:	59                   	pop    %ecx
40b97e:	58                   	pop    %eax
40b97f:	50                   	push   %eax
40b980:	51                   	push   %ecx
40b981:	52                   	push   %edx
40b982:	29 d0                	sub    %edx,%eax
40b984:	3b 16                	cmp    (%esi),%edx
40b986:	75 05                	jne    0x40b98d
40b988:	3b 4e 04             	cmp    0x4(%esi),%ecx
40b98b:	74 04                	je     0x40b991
40b98d:	80 4f 35 20          	orb    $0x20,0x35(%edi)
40b991:	50                   	push   %eax
40b992:	8b 87 c2 00 00 00    	mov    0xc2(%edi),%eax
40b998:	29 c8                	sub    %ecx,%eax
40b99a:	50                   	push   %eax
40b99b:	57                   	push   %edi
40b99c:	8d bf b6 00 00 00    	lea    0xb6(%edi),%edi
40b9a2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b9a6:	89 fe                	mov    %edi,%esi
40b9a8:	5f                   	pop    %edi
40b9a9:	8b 4f 1c             	mov    0x1c(%edi),%ecx
40b9ac:	e3 1e                	jecxz  0x40b9cc
40b9ae:	fd                   	std
40b9af:	6a 14                	push   $0x14
40b9b1:	ad                   	lods   %ds:(%esi),%eax
40b9b2:	ad                   	lods   %ds:(%esi),%eax
40b9b3:	92                   	xchg   %eax,%edx
40b9b4:	ad                   	lods   %ds:(%esi),%eax
40b9b5:	91                   	xchg   %eax,%ecx
40b9b6:	ad                   	lods   %ds:(%esi),%eax
40b9b7:	29 c2                	sub    %eax,%edx
40b9b9:	52                   	push   %edx
40b9ba:	92                   	xchg   %eax,%edx
40b9bb:	ad                   	lods   %ds:(%esi),%eax
40b9bc:	fc                   	cld
40b9bd:	29 c1                	sub    %eax,%ecx
40b9bf:	51                   	push   %ecx
40b9c0:	52                   	push   %edx
40b9c1:	50                   	push   %eax
40b9c2:	6a 00                	push   $0x0
40b9c4:	ff 77 1c             	push   0x1c(%edi)
40b9c7:	e8 6c 91 ff ff       	call   0x404b38
40b9cc:	5a                   	pop    %edx
40b9cd:	58                   	pop    %eax
40b9ce:	f6 47 34 10          	testb  $0x10,0x34(%edi)
40b9d2:	74 06                	je     0x40b9da
40b9d4:	97                   	xchg   %eax,%edi
40b9d5:	e8 92 00 00 00       	call   0x40ba6c
40b9da:	83 c4 10             	add    $0x10,%esp
40b9dd:	5e                   	pop    %esi
40b9de:	5f                   	pop    %edi
40b9df:	c3                   	ret
40b9e0:	53                   	push   %ebx
40b9e1:	89 c3                	mov    %eax,%ebx
40b9e3:	e8 8c 22 00 00       	call   0x40dc74
40b9e8:	b2 01                	mov    $0x1,%dl
40b9ea:	89 d8                	mov    %ebx,%eax
40b9ec:	e8 ff fe ff ff       	call   0x40b8f0
40b9f1:	ff 73 1c             	push   0x1c(%ebx)
40b9f4:	e8 27 91 ff ff       	call   0x404b20
40b9f9:	93                   	xchg   %eax,%ebx
40b9fa:	e8 f5 00 00 00       	call   0x40baf4
40b9ff:	5b                   	pop    %ebx
40ba00:	c3                   	ret
40ba01:	8d 40 00             	lea    0x0(%eax),%eax
40ba04:	56                   	push   %esi
40ba05:	57                   	push   %edi
40ba06:	89 d6                	mov    %edx,%esi
40ba08:	89 cf                	mov    %ecx,%edi
40ba0a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ba0b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40ba0c:	51                   	push   %ecx
40ba0d:	8b 48 1c             	mov    0x1c(%eax),%ecx
40ba10:	e3 07                	jecxz  0x40ba19
40ba12:	51                   	push   %ecx
40ba13:	e8 e8 90 ff ff       	call   0x404b00
40ba18:	51                   	push   %ecx
40ba19:	59                   	pop    %ecx
40ba1a:	5f                   	pop    %edi
40ba1b:	5e                   	pop    %esi
40ba1c:	c3                   	ret
40ba1d:	8d 40 00             	lea    0x0(%eax),%eax
40ba20:	56                   	push   %esi
40ba21:	96                   	xchg   %eax,%esi
40ba22:	52                   	push   %edx
40ba23:	52                   	push   %edx
40ba24:	8d 86 b6 00 00 00    	lea    0xb6(%esi),%eax
40ba2a:	31 c9                	xor    %ecx,%ecx
40ba2c:	b1 10                	mov    $0x10,%cl
40ba2e:	e8 11 6f ff ff       	call   0x402944
40ba33:	89 f0                	mov    %esi,%eax
40ba35:	e8 0a 22 00 00       	call   0x40dc44
40ba3a:	91                   	xchg   %eax,%ecx
40ba3b:	e3 07                	jecxz  0x40ba44
40ba3d:	51                   	push   %ecx
40ba3e:	e8 f5 8f ff ff       	call   0x404a38
40ba43:	52                   	push   %edx
40ba44:	5a                   	pop    %edx
40ba45:	5a                   	pop    %edx
40ba46:	8d b6 b1 00 00 00    	lea    0xb1(%esi),%esi
40ba4c:	ac                   	lods   %ds:(%esi),%al
40ba4d:	0f be c0             	movsbl %al,%eax
40ba50:	01 42 04             	add    %eax,0x4(%edx)
40ba53:	ac                   	lods   %ds:(%esi),%al
40ba54:	0f be c0             	movsbl %al,%eax
40ba57:	29 42 0c             	sub    %eax,0xc(%edx)
40ba5a:	ac                   	lods   %ds:(%esi),%al
40ba5b:	0f be c0             	movsbl %al,%eax
40ba5e:	01 02                	add    %eax,(%edx)
40ba60:	ac                   	lods   %ds:(%esi),%al
40ba61:	0f be c0             	movsbl %al,%eax
40ba64:	29 42 08             	sub    %eax,0x8(%edx)
40ba67:	5e                   	pop    %esi
40ba68:	c3                   	ret
40ba69:	8d 40 00             	lea    0x0(%eax),%eax
40ba6c:	8b 48 1c             	mov    0x1c(%eax),%ecx
40ba6f:	e3 0d                	jecxz  0x40ba7e
40ba71:	68 ff 00 00 00       	push   $0xff
40ba76:	6a 00                	push   $0x0
40ba78:	51                   	push   %ecx
40ba79:	e8 32 90 ff ff       	call   0x404ab0
40ba7e:	c3                   	ret
40ba7f:	90                   	nop
40ba80:	53                   	push   %ebx
40ba81:	93                   	xchg   %eax,%ebx
40ba82:	8b 83 fe 00 00 00    	mov    0xfe(%ebx),%eax
40ba88:	40                   	inc    %eax
40ba89:	74 47                	je     0x40bad2
40ba8b:	48                   	dec    %eax
40ba8c:	75 44                	jne    0x40bad2
40ba8e:	8b 0d 98 98 42 00    	mov    0x429898,%ecx
40ba94:	e3 26                	jecxz  0x40babc
40ba96:	39 d9                	cmp    %ebx,%ecx
40ba98:	74 22                	je     0x40babc
40ba9a:	91                   	xchg   %eax,%ecx
40ba9b:	e8 e0 ff ff ff       	call   0x40ba80
40baa0:	85 c0                	test   %eax,%eax
40baa2:	74 2e                	je     0x40bad2
40baa4:	31 d2                	xor    %edx,%edx
40baa6:	52                   	push   %edx
40baa7:	52                   	push   %edx
40baa8:	52                   	push   %edx
40baa9:	42                   	inc    %edx
40baaa:	52                   	push   %edx
40baab:	50                   	push   %eax
40baac:	e8 27 8f ff ff       	call   0x4049d8
40bab1:	eb 19                	jmp    0x40bacc
40bab3:	4d                   	dec    %ebp
40bab4:	41                   	inc    %ecx
40bab5:	49                   	dec    %ecx
40bab6:	4e                   	dec    %esi
40bab7:	49                   	dec    %ecx
40bab8:	43                   	inc    %ebx
40bab9:	4f                   	dec    %edi
40baba:	4e                   	dec    %esi
40babb:	00 68 b3             	add    %ch,-0x4d(%eax)
40babe:	ba 40 00 ff 35       	mov    $0x35ff0040,%edx
40bac3:	50                   	push   %eax
40bac4:	96                   	xchg   %eax,%esi
40bac5:	42                   	inc    %edx
40bac6:	00 e8                	add    %ch,%al
40bac8:	00 95 ff ff 89 83    	add    %dl,-0x7c760001(%ebp)
40bace:	fe 00                	incb   (%eax)
40bad0:	00 00                	add    %al,(%eax)
40bad2:	5b                   	pop    %ebx
40bad3:	c3                   	ret
40bad4:	ff 72 0c             	push   0xc(%edx)
40bad7:	ff 72 08             	push   0x8(%edx)
40bada:	ff 72 04             	push   0x4(%edx)
40badd:	8b 48 2c             	mov    0x2c(%eax),%ecx
40bae0:	e3 0a                	jecxz  0x40baec
40bae2:	ff 70 1c             	push   0x1c(%eax)
40bae5:	51                   	push   %ecx
40bae6:	e8 79 94 ff ff       	call   0x404f64
40baeb:	c3                   	ret
40baec:	ff 32                	push   (%edx)
40baee:	e8 81 94 ff ff       	call   0x404f74
40baf3:	c3                   	ret
40baf4:	56                   	push   %esi
40baf5:	89 c6                	mov    %eax,%esi
40baf7:	e8 1c 00 00 00       	call   0x40bb18
40bafc:	84 c0                	test   %al,%al
40bafe:	74 16                	je     0x40bb16
40bb00:	fe 86 2a 01 00 00    	incb   0x12a(%esi)
40bb06:	ff 76 1c             	push   0x1c(%esi)
40bb09:	e8 0a 90 ff ff       	call   0x404b18
40bb0e:	fe 8e 2a 01 00 00    	decb   0x12a(%esi)
40bb14:	b0 01                	mov    $0x1,%al
40bb16:	5e                   	pop    %esi
40bb17:	c3                   	ret
40bb18:	8b 48 1c             	mov    0x1c(%eax),%ecx
40bb1b:	e3 07                	jecxz  0x40bb24
40bb1d:	51                   	push   %ecx
40bb1e:	e8 a5 8f ff ff       	call   0x404ac8
40bb23:	c3                   	ret
40bb24:	f6 40 27 08          	testb  $0x8,0x27(%eax)
40bb28:	0f 94 c0             	sete   %al
40bb2b:	c3                   	ret
40bb2c:	91                   	xchg   %eax,%ecx
40bb2d:	31 d2                	xor    %edx,%edx
40bb2f:	8b 05 98 98 42 00    	mov    0x429898,%eax
40bb35:	85 c0                	test   %eax,%eax
40bb37:	75 06                	jne    0x40bb3f
40bb39:	f6 41 36 08          	testb  $0x8,0x36(%ecx)
40bb3d:	eb 11                	jmp    0x40bb50
40bb3f:	38 15 9c 98 42 00    	cmp    %dl,0x42989c
40bb45:	74 07                	je     0x40bb4e
40bb47:	51                   	push   %ecx
40bb48:	e8 07 c2 ff ff       	call   0x407d54
40bb4d:	59                   	pop    %ecx
40bb4e:	39 c1                	cmp    %eax,%ecx
40bb50:	0f 94 c0             	sete   %al
40bb53:	c3                   	ret
40bb54:	53                   	push   %ebx
40bb55:	57                   	push   %edi
40bb56:	93                   	xchg   %eax,%ebx
40bb57:	89 d7                	mov    %edx,%edi
40bb59:	8b 4b 30             	mov    0x30(%ebx),%ecx
40bb5c:	39 cf                	cmp    %ecx,%edi
40bb5e:	74 65                	je     0x40bbc5
40bb60:	e3 1c                	jecxz  0x40bb7e
40bb62:	51                   	push   %ecx
40bb63:	8b 41 44             	mov    0x44(%ecx),%eax
40bb66:	89 da                	mov    %ebx,%edx
40bb68:	e8 ff 96 ff ff       	call   0x40526c
40bb6d:	58                   	pop    %eax
40bb6e:	50                   	push   %eax
40bb6f:	89 da                	mov    %ebx,%edx
40bb71:	e8 16 e7 ff ff       	call   0x40a28c
40bb76:	58                   	pop    %eax
40bb77:	8b 48 74             	mov    0x74(%eax),%ecx
40bb7a:	31 d2                	xor    %edx,%edx
40bb7c:	ff d1                	call   *%ecx
40bb7e:	89 7b 30             	mov    %edi,0x30(%ebx)
40bb81:	85 ff                	test   %edi,%edi
40bb83:	74 40                	je     0x40bbc5
40bb85:	8b 47 44             	mov    0x44(%edi),%eax
40bb88:	89 da                	mov    %ebx,%edx
40bb8a:	e8 41 96 ff ff       	call   0x4051d0
40bb8f:	89 f8                	mov    %edi,%eax
40bb91:	89 da                	mov    %ebx,%edx
40bb93:	e8 98 e6 ff ff       	call   0x40a230
40bb98:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40bb9b:	e3 10                	jecxz  0x40bbad
40bb9d:	89 f8                	mov    %edi,%eax
40bb9f:	e8 a0 20 00 00       	call   0x40dc44
40bba4:	50                   	push   %eax
40bba5:	ff 73 1c             	push   0x1c(%ebx)
40bba8:	e8 7b 8f ff ff       	call   0x404b28
40bbad:	8b 4f 74             	mov    0x74(%edi),%ecx
40bbb0:	89 f8                	mov    %edi,%eax
40bbb2:	89 da                	mov    %ebx,%edx
40bbb4:	ff d1                	call   *%ecx
40bbb6:	8b 4b 74             	mov    0x74(%ebx),%ecx
40bbb9:	89 f8                	mov    %edi,%eax
40bbbb:	89 da                	mov    %ebx,%edx
40bbbd:	ff d1                	call   *%ecx
40bbbf:	93                   	xchg   %eax,%ebx
40bbc0:	e8 a7 fe ff ff       	call   0x40ba6c
40bbc5:	5f                   	pop    %edi
40bbc6:	5b                   	pop    %ebx
40bbc7:	c3                   	ret
40bbc8:	e8 df 6f ff ff       	call   0x402bac
40bbcd:	74 09                	je     0x40bbd8
40bbcf:	50                   	push   %eax
40bbd0:	89 ca                	mov    %ecx,%edx
40bbd2:	8b 08                	mov    (%eax),%ecx
40bbd4:	ff 51 08             	call   *0x8(%ecx)
40bbd7:	58                   	pop    %eax
40bbd8:	c3                   	ret
40bbd9:	8d 40 00             	lea    0x0(%eax),%eax
40bbdc:	e8 73 fd ff ff       	call   0x40b954
40bbe1:	58                   	pop    %eax
40bbe2:	59                   	pop    %ecx
40bbe3:	59                   	pop    %ecx
40bbe4:	59                   	pop    %ecx
40bbe5:	c3                   	ret
40bbe6:	8b c0                	mov    %eax,%eax
40bbe8:	57                   	push   %edi
40bbe9:	52                   	push   %edx
40bbea:	e8 65 fd ff ff       	call   0x40b954
40bbef:	5a                   	pop    %edx
40bbf0:	59                   	pop    %ecx