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
40bbf1:	5f                   	pop    %edi
40bbf2:	29 d7                	sub    %edx,%edi
40bbf4:	8b 54 24 04          	mov    0x4(%esp),%edx
40bbf8:	01 d7                	add    %edx,%edi
40bbfa:	57                   	push   %edi
40bbfb:	51                   	push   %ecx
40bbfc:	52                   	push   %edx
40bbfd:	89 e2                	mov    %esp,%edx
40bbff:	e8 60 fd ff ff       	call   0x40b964
40bc04:	83 c4 14             	add    $0x14,%esp
40bc07:	5f                   	pop    %edi
40bc08:	c3                   	ret
40bc09:	8d 40 00             	lea    0x0(%eax),%eax
40bc0c:	e8 43 fd ff ff       	call   0x40b954
40bc11:	5a                   	pop    %edx
40bc12:	58                   	pop    %eax
40bc13:	5a                   	pop    %edx
40bc14:	5a                   	pop    %edx
40bc15:	c3                   	ret
40bc16:	8b c0                	mov    %eax,%eax
40bc18:	56                   	push   %esi
40bc19:	57                   	push   %edi
40bc1a:	52                   	push   %edx
40bc1b:	e8 34 fd ff ff       	call   0x40b954
40bc20:	5a                   	pop    %edx
40bc21:	59                   	pop    %ecx
40bc22:	5f                   	pop    %edi
40bc23:	5e                   	pop    %esi
40bc24:	29 ce                	sub    %ecx,%esi
40bc26:	59                   	pop    %ecx
40bc27:	01 ce                	add    %ecx,%esi
40bc29:	56                   	push   %esi
40bc2a:	57                   	push   %edi
40bc2b:	51                   	push   %ecx
40bc2c:	52                   	push   %edx
40bc2d:	89 e2                	mov    %esp,%edx
40bc2f:	e8 30 fd ff ff       	call   0x40b964
40bc34:	83 c4 10             	add    $0x10,%esp
40bc37:	5f                   	pop    %edi
40bc38:	5e                   	pop    %esi
40bc39:	c3                   	ret
40bc3a:	8b c0                	mov    %eax,%eax
40bc3c:	e8 13 fd ff ff       	call   0x40b954
40bc41:	5a                   	pop    %edx
40bc42:	59                   	pop    %ecx
40bc43:	58                   	pop    %eax
40bc44:	29 d0                	sub    %edx,%eax
40bc46:	59                   	pop    %ecx
40bc47:	c3                   	ret
40bc48:	52                   	push   %edx
40bc49:	e8 06 fd ff ff       	call   0x40b954
40bc4e:	5a                   	pop    %edx
40bc4f:	52                   	push   %edx
40bc50:	03 54 24 10          	add    0x10(%esp),%edx
40bc54:	89 54 24 08          	mov    %edx,0x8(%esp)
40bc58:	89 e2                	mov    %esp,%edx
40bc5a:	e8 05 fd ff ff       	call   0x40b964
40bc5f:	83 c4 14             	add    $0x14,%esp
40bc62:	c3                   	ret
40bc63:	90                   	nop
40bc64:	e8 eb fc ff ff       	call   0x40b954
40bc69:	59                   	pop    %ecx
40bc6a:	5a                   	pop    %edx
40bc6b:	59                   	pop    %ecx
40bc6c:	58                   	pop    %eax
40bc6d:	29 d0                	sub    %edx,%eax
40bc6f:	c3                   	ret
40bc70:	52                   	push   %edx
40bc71:	e8 de fc ff ff       	call   0x40b954
40bc76:	8b 54 24 04          	mov    0x4(%esp),%edx
40bc7a:	03 54 24 10          	add    0x10(%esp),%edx
40bc7e:	89 54 24 0c          	mov    %edx,0xc(%esp)
40bc82:	89 e2                	mov    %esp,%edx
40bc84:	e8 db fc ff ff       	call   0x40b964
40bc89:	83 c4 14             	add    $0x14,%esp
40bc8c:	c3                   	ret
40bc8d:	8d 40 00             	lea    0x0(%eax),%eax
40bc90:	53                   	push   %ebx
40bc91:	89 c3                	mov    %eax,%ebx
40bc93:	52                   	push   %edx
40bc94:	e8 ab 1f 00 00       	call   0x40dc44
40bc99:	91                   	xchg   %eax,%ecx
40bc9a:	5a                   	pop    %edx
40bc9b:	e3 1d                	jecxz  0x40bcba
40bc9d:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
40bca0:	0f b7 49 68          	movzwl 0x68(%ecx),%ecx
40bca4:	e3 14                	jecxz  0x40bcba
40bca6:	52                   	push   %edx
40bca7:	92                   	xchg   %eax,%edx
40bca8:	51                   	push   %ecx
40bca9:	e8 b6 e7 ff ff       	call   0x40a464
40bcae:	59                   	pop    %ecx
40bcaf:	50                   	push   %eax
40bcb0:	6a 00                	push   $0x0
40bcb2:	51                   	push   %ecx
40bcb3:	53                   	push   %ebx
40bcb4:	e8 83 08 00 00       	call   0x40c53c
40bcb9:	5a                   	pop    %edx
40bcba:	3b 93 a4 00 00 00    	cmp    0xa4(%ebx),%edx
40bcc0:	74 2d                	je     0x40bcef
40bcc2:	89 93 a4 00 00 00    	mov    %edx,0xa4(%ebx)
40bcc8:	31 c9                	xor    %ecx,%ecx
40bcca:	87 4b 48             	xchg   %ecx,0x48(%ebx)
40bccd:	e3 08                	jecxz  0x40bcd7
40bccf:	52                   	push   %edx
40bcd0:	51                   	push   %ecx
40bcd1:	e8 2a 8c ff ff       	call   0x404900
40bcd6:	5a                   	pop    %edx
40bcd7:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
40bcdd:	e3 0a                	jecxz  0x40bce9
40bcdf:	91                   	xchg   %eax,%ecx
40bce0:	89 d1                	mov    %edx,%ecx
40bce2:	31 d2                	xor    %edx,%edx
40bce4:	e8 63 e8 ff ff       	call   0x40a54c
40bce9:	93                   	xchg   %eax,%ebx
40bcea:	e8 7d fd ff ff       	call   0x40ba6c
40bcef:	5b                   	pop    %ebx
40bcf0:	c3                   	ret
40bcf1:	8d 40 00             	lea    0x0(%eax),%eax
40bcf4:	92                   	xchg   %eax,%edx
40bcf5:	84 c0                	test   %al,%al
40bcf7:	8b 82 30 01 00 00    	mov    0x130(%edx),%eax
40bcfd:	8b 4a 30             	mov    0x30(%edx),%ecx
40bd00:	e3 0d                	jecxz  0x40bd0f
40bd02:	51                   	push   %ecx
40bd03:	74 06                	je     0x40bd0b
40bd05:	91                   	xchg   %eax,%ecx
40bd06:	e8 39 1f 00 00       	call   0x40dc44
40bd0b:	58                   	pop    %eax
40bd0c:	8b 40 1c             	mov    0x1c(%eax),%eax
40bd0f:	c3                   	ret
40bd10:	53                   	push   %ebx
40bd11:	93                   	xchg   %eax,%ebx
40bd12:	83 c4 e0             	add    $0xffffffe0,%esp
40bd15:	89 e2                	mov    %esp,%edx
40bd17:	6a 01                	push   $0x1
40bd19:	31 c9                	xor    %ecx,%ecx
40bd1b:	51                   	push   %ecx
40bd1c:	51                   	push   %ecx
40bd1d:	51                   	push   %ecx
40bd1e:	52                   	push   %edx
40bd1f:	e8 b8 92 ff ff       	call   0x404fdc
40bd24:	85 c0                	test   %eax,%eax
40bd26:	74 36                	je     0x40bd5e
40bd28:	66 83 7c 24 04 12    	cmpw   $0x12,0x4(%esp)
40bd2e:	75 08                	jne    0x40bd38
40bd30:	08 15 95 98 42 00    	or     %dl,0x429895
40bd36:	eb 1d                	jmp    0x40bd55
40bd38:	8b 8b 80 00 00 00    	mov    0x80(%ebx),%ecx
40bd3e:	93                   	xchg   %eax,%ebx
40bd3f:	89 e2                	mov    %esp,%edx
40bd41:	ff d1                	call   *%ecx
40bd43:	84 c0                	test   %al,%al
40bd45:	75 0e                	jne    0x40bd55
40bd47:	89 e0                	mov    %esp,%eax
40bd49:	50                   	push   %eax
40bd4a:	50                   	push   %eax
40bd4b:	e8 f8 8d ff ff       	call   0x404b48
40bd50:	e8 27 92 ff ff       	call   0x404f7c
40bd55:	66 83 7c 24 04 00    	cmpw   $0x0,0x4(%esp)
40bd5b:	0f 95 c0             	setne  %al
40bd5e:	83 c4 20             	add    $0x20,%esp
40bd61:	5b                   	pop    %ebx
40bd62:	c3                   	ret
40bd63:	90                   	nop
40bd64:	50                   	push   %eax
40bd65:	e8 a6 ff ff ff       	call   0x40bd10
40bd6a:	fe c8                	dec    %al
40bd6c:	58                   	pop    %eax
40bd6d:	74 f5                	je     0x40bd64
40bd6f:	c3                   	ret
40bd70:	66 83 7a 04 07       	cmpw   $0x7,0x4(%edx)
40bd75:	75 3c                	jne    0x40bdb3
40bd77:	53                   	push   %ebx
40bd78:	56                   	push   %esi