409e42:	89 c5                	mov    %eax,%ebp
409e44:	e8 f7 35 00 00       	call   0x40d440
409e49:	84 c0                	test   %al,%al
409e4b:	74 24                	je     0x409e71
409e4d:	89 e8                	mov    %ebp,%eax
409e4f:	e8 c4 1c 00 00       	call   0x40bb18
409e54:	84 c0                	test   %al,%al
409e56:	74 19                	je     0x409e71
409e58:	80 fb 0d             	cmp    $0xd,%bl
409e5b:	75 47                	jne    0x409ea4
409e5d:	8b 8f f2 00 00 00    	mov    0xf2(%edi),%ecx
409e63:	e3 3f                	jecxz  0x409ea4
409e65:	66 f7 41 38 80 04    	testw  $0x480,0x38(%ecx)
409e6b:	74 37                	je     0x409ea4
409e6d:	39 cd                	cmp    %ecx,%ebp
409e6f:	74 33                	je     0x409ea4
409e71:	31 ed                	xor    %ebp,%ebp
409e73:	80 fb 0d             	cmp    $0xd,%bl
409e76:	75 2a                	jne    0x409ea2
409e78:	8a 87 09 01 00 00    	mov    0x109(%edi),%al
409e7e:	0a 86 09 01 00 00    	or     0x109(%esi),%al
409e84:	74 1c                	je     0x409ea2
409e86:	8b 8f f2 00 00 00    	mov    0xf2(%edi),%ecx
409e8c:	e3 14                	jecxz  0x409ea2
409e8e:	8a 41 38             	mov    0x38(%ecx),%al
409e91:	24 09                	and    $0x9,%al
409e93:	3c 01                	cmp    $0x1,%al
409e95:	75 0b                	jne    0x409ea2
409e97:	89 c5                	mov    %eax,%ebp
409e99:	e8 a2 35 00 00       	call   0x40d440
409e9e:	84 c0                	test   %al,%al
409ea0:	75 02                	jne    0x409ea4
409ea2:	31 ed                	xor    %ebp,%ebp
409ea4:	80 ff 0d             	cmp    $0xd,%bh
409ea7:	b7 1b                	mov    $0x1b,%bh
409ea9:	ba 38 61 42 00       	mov    $0x426138,%edx
409eae:	75 08                	jne    0x409eb8
409eb0:	85 ed                	test   %ebp,%ebp
409eb2:	0f 84 7b ff ff ff    	je     0x409e33
409eb8:	89 e9                	mov    %ebp,%ecx
409eba:	5d                   	pop    %ebp
409ebb:	e3 30                	jecxz  0x409eed
409ebd:	89 ce                	mov    %ecx,%esi
409ebf:	91                   	xchg   %eax,%ecx
409ec0:	c1 eb 10             	shr    $0x10,%ebx
409ec3:	66 81 fb 00 01       	cmp    $0x100,%bx
409ec8:	75 07                	jne    0x409ed1
409eca:	b2 01                	mov    $0x1,%dl
409ecc:	e8 c7 34 00 00       	call   0x40d398
409ed1:	5f                   	pop    %edi
409ed2:	5b                   	pop    %ebx
409ed3:	ff 77 0c             	push   0xc(%edi)
409ed6:	6a 20                	push   $0x20
409ed8:	ff 77 04             	push   0x4(%edi)
409edb:	56                   	push   %esi
409edc:	e8 5b 26 00 00       	call   0x40c53c
409ee1:	31 c0                	xor    %eax,%eax
409ee3:	21 47 08             	and    %eax,0x8(%edi)
409ee6:	21 03                	and    %eax,(%ebx)
409ee8:	40                   	inc    %eax
409ee9:	50                   	push   %eax
409eea:	50                   	push   %eax
409eeb:	eb 02                	jmp    0x409eef
409eed:	31 c0                	xor    %eax,%eax
409eef:	5a                   	pop    %edx
409ef0:	59                   	pop    %ecx
409ef1:	5f                   	pop    %edi
409ef2:	5e                   	pop    %esi
409ef3:	5b                   	pop    %ebx
409ef4:	c3                   	ret
409ef5:	8d 40 00             	lea    0x0(%eax),%eax
409ef8:	53                   	push   %ebx
409ef9:	57                   	push   %edi
409efa:	56                   	push   %esi
409efb:	88 d3                	mov    %dl,%bl
409efd:	88 cf                	mov    %cl,%bh
409eff:	89 c6                	mov    %eax,%esi
409f01:	01 c9                	add    %ecx,%ecx
409f03:	80 fb 0d             	cmp    $0xd,%bl
409f06:	74 07                	je     0x409f0f
409f08:	80 fb 1b             	cmp    $0x1b,%bl
409f0b:	75 11                	jne    0x409f1e
409f0d:	01 c9                	add    %ecx,%ecx
409f0f:	80 ff 00             	cmp    $0x0,%bh
409f12:	75 07                	jne    0x409f1b
409f14:	f6 d1                	not    %cl
409f16:	20 4e 39             	and    %cl,0x39(%esi)
409f19:	b1 00                	mov    $0x0,%cl
409f1b:	08 4e 39             	or     %cl,0x39(%esi)
409f1e:	83 3d 98 98 42 00 00 	cmpl   $0x0,0x429898
409f25:	74 6e                	je     0x409f95
409f27:	e8 14 20 00 00       	call   0x40bf40
409f2c:	85 c0                	test   %eax,%eax
409f2e:	74 65                	je     0x409f95
409f30:	97                   	xchg   %eax,%edi
409f31:	88 f8                	mov    %bh,%al
409f33:	d1 e8                	shr    $1,%eax
409f35:	19 c9                	sbb    %ecx,%ecx
409f37:	21 f1                	and    %esi,%ecx
409f39:	ba 30 61 42 00       	mov    $0x426130,%edx
409f3e:	80 fb 0d             	cmp    $0xd,%bl
409f41:	74 05                	je     0x409f48
409f43:	ba 38 61 42 00       	mov    $0x426138,%edx
409f48:	97                   	xchg   %eax,%edi
409f49:	e8 5a 41 00 00       	call   0x40e0a8
409f4e:	96                   	xchg   %eax,%esi
409f4f:	8b 50 24             	mov    0x24(%eax),%edx
409f52:	80 e2 fe             	and    $0xfe,%dl
409f55:	08 fa                	or     %bh,%dl
409f57:	e8 14 18 00 00       	call   0x40b770
409f5c:	84 ff                	test   %bh,%bh
409f5e:	8b 35 98 98 42 00    	mov    0x429898,%esi
409f64:	8b 5e 50             	mov    0x50(%esi),%ebx
409f67:	74 1e                	je     0x409f87
409f69:	8b 13                	mov    (%ebx),%edx
409f6b:	81 fa c0 9d 40 00    	cmp    $0x409dc0,%edx
409f71:	74 09                	je     0x409f7c
409f73:	89 53 08             	mov    %edx,0x8(%ebx)
409f76:	8b 53 04             	mov    0x4(%ebx),%edx
409f79:	89 53 0c             	mov    %edx,0xc(%ebx)
409f7c:	c7 03 c0 9d 40 00    	movl   $0x409dc0,(%ebx)
409f82:	89 73 04             	mov    %esi,0x4(%ebx)
409f85:	eb 0e                	jmp    0x409f95
409f87:	8d 73 08             	lea    0x8(%ebx),%esi
409f8a:	8d 3b                	lea    (%ebx),%edi
409f8c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409f8d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
409f8e:	c7 43 08 fc 50 40 00 	movl   $0x4050fc,0x8(%ebx)
409f95:	5e                   	pop    %esi
409f96:	5f                   	pop    %edi
409f97:	5b                   	pop    %ebx
409f98:	c3                   	ret
409f99:	8d 40 00             	lea    0x0(%eax),%eax
409f9c:	6a 02                	push   $0x2
409f9e:	6a ff                	push   $0xffffffff
409fa0:	68 0c 10 00 00       	push   $0x100c
409fa5:	50                   	push   %eax
409fa6:	e8 91 25 00 00       	call   0x40c53c
409fab:	c3                   	ret
409fac:	6a 00                	push   $0x0
409fae:	6a 00                	push   $0x0
409fb0:	6a 10                	push   $0x10
409fb2:	8b 40 1c             	mov    0x1c(%eax),%eax
409fb5:	50                   	push   %eax
409fb6:	e8 29 b0 ff ff       	call   0x404fe4
409fbb:	c3                   	ret
409fbc:	53                   	push   %ebx
409fbd:	51                   	push   %ecx
409fbe:	33 db                	xor    %ebx,%ebx
409fc0:	81 7a 04 12 01 00 00 	cmpl   $0x112,0x4(%edx)
409fc7:	75 62                	jne    0x40a02b
409fc9:	8b 42 08             	mov    0x8(%edx),%eax
409fcc:	25 f0 ff 00 00       	and    $0xfff0,%eax
409fd1:	3d 20 f0 00 00       	cmp    $0xf020,%eax
409fd6:	75 53                	jne    0x40a02b
409fd8:	83 3d 98 98 42 00 00 	cmpl   $0x0,0x429898
409fdf:	74 4a                	je     0x40a02b
409fe1:	ba 28 61 42 00       	mov    $0x426128,%edx
409fe6:	a1 98 98 42 00       	mov    0x429898,%eax
409feb:	e8 a0 40 00 00       	call   0x40e090
409ff0:	89 04 24             	mov    %eax,(%esp)
409ff3:	83 3c 24 00          	cmpl   $0x0,(%esp)
409ff7:	74 32                	je     0x40a02b
409ff9:	6a 0c                	push   $0xc
409ffb:	6a 00                	push   $0x0
409ffd:	8b 44 24 08          	mov    0x8(%esp),%eax
40a001:	e8 36 1c 00 00       	call   0x40bc3c
40a006:	50                   	push   %eax
40a007:	8b 44 24 0c          	mov    0xc(%esp),%eax
40a00b:	e8 fc 1b 00 00       	call   0x40bc0c
40a010:	50                   	push   %eax
40a011:	8b 44 24 10          	mov    0x10(%esp),%eax
40a015:	e8 c2 1b 00 00       	call   0x40bbdc
40a01a:	50                   	push   %eax
40a01b:	6a 00                	push   $0x0
40a01d:	a1 98 98 42 00       	mov    0x429898,%eax
40a022:	8b 40 1c             	mov    0x1c(%eax),%eax
40a025:	50                   	push   %eax
40a026:	e8 0d ab ff ff       	call   0x404b38
40a02b:	8b c3                	mov    %ebx,%eax
40a02d:	5a                   	pop    %edx
40a02e:	5b                   	pop    %ebx
40a02f:	c3                   	ret
40a030:	53                   	push   %ebx
40a031:	56                   	push   %esi
40a032:	57                   	push   %edi
40a033:	8b f9                	mov    %ecx,%edi
40a035:	8b f0                	mov    %eax,%esi
40a037:	33 db                	xor    %ebx,%ebx
40a039:	8b 42 04             	mov    0x4(%edx),%eax
40a03c:	83 e8 18             	sub    $0x18,%eax
40a03f:	75 66                	jne    0x40a0a7
40a041:	8b 42 0c             	mov    0xc(%edx),%eax
40a044:	48                   	dec    %eax
40a045:	74 07                	je     0x40a04e
40a047:	83 e8 02             	sub    $0x2,%eax
40a04a:	74 37                	je     0x40a083
40a04c:	eb 59                	jmp    0x40a0a7
40a04e:	8b 46 1c             	mov    0x1c(%esi),%eax
40a051:	50                   	push   %eax
40a052:	e8 61 aa ff ff       	call   0x404ab8
40a057:	85 c0                	test   %eax,%eax
40a059:	74 09                	je     0x40a064
40a05b:	c6 86 06 01 00 00 07 	movb   $0x7,0x106(%esi)
40a062:	eb 43                	jmp    0x40a0a7
40a064:	8b 46 1c             	mov    0x1c(%esi),%eax
40a067:	50                   	push   %eax
40a068:	e8 6b aa ff ff       	call   0x404ad8
40a06d:	85 c0                	test   %eax,%eax
40a06f:	74 09                	je     0x40a07a
40a071:	c6 86 06 01 00 00 03 	movb   $0x3,0x106(%esi)
40a078:	eb 2d                	jmp    0x40a0a7
40a07a:	c6 86 06 01 00 00 04 	movb   $0x4,0x106(%esi)
40a081:	eb 24                	jmp    0x40a0a7
40a083:	8a 86 06 01 00 00    	mov    0x106(%esi),%al
40a089:	84 c0                	test   %al,%al
40a08b:	74 16                	je     0x40a0a3
40a08d:	25 ff 00 00 00       	and    $0xff,%eax
40a092:	50                   	push   %eax
40a093:	8b 46 1c             	mov    0x1c(%esi),%eax
40a096:	50                   	push   %eax
40a097:	e8 a4 aa ff ff       	call   0x404b40
40a09c:	c6 86 06 01 00 00 00 	movb   $0x0,0x106(%esi)
40a0a3:	33 c0                	xor    %eax,%eax
40a0a5:	89 07                	mov    %eax,(%edi)
40a0a7:	8b c3                	mov    %ebx,%eax
40a0a9:	5f                   	pop    %edi
40a0aa:	5e                   	pop    %esi
40a0ab:	5b                   	pop    %ebx
40a0ac:	c3                   	ret
40a0ad:	8d 40 00             	lea    0x0(%eax),%eax
40a0b0:	53                   	push   %ebx
40a0b1:	51                   	push   %ecx
40a0b2:	8b d8                	mov    %eax,%ebx
40a0b4:	a1 98 98 42 00       	mov    0x429898,%eax
40a0b9:	89 04 24             	mov    %eax,(%esp)
40a0bc:	83 3c 24 00          	cmpl   $0x0,(%esp)
40a0c0:	75 03                	jne    0x40a0c5
40a0c2:	89 1c 24             	mov    %ebx,(%esp)
40a0c5:	8b cb                	mov    %ebx,%ecx
40a0c7:	ba 28 61 42 00       	mov    $0x426128,%edx
40a0cc:	8b 04 24             	mov    (%esp),%eax
40a0cf:	e8 d4 3f 00 00       	call   0x40e0a8
40a0d4:	ba bc 9f 40 00       	mov    $0x409fbc,%edx
40a0d9:	8b 04 24             	mov    (%esp),%eax
40a0dc:	e8 57 f9 ff ff       	call   0x409a38
40a0e1:	ba 30 a0 40 00       	mov    $0x40a030,%edx
40a0e6:	8b c3                	mov    %ebx,%eax
40a0e8:	e8 4b f9 ff ff       	call   0x409a38
40a0ed:	5a                   	pop    %edx
40a0ee:	5b                   	pop    %ebx
40a0ef:	c3                   	ret
40a0f0:	53                   	push   %ebx
40a0f1:	56                   	push   %esi
40a0f2:	57                   	push   %edi
40a0f3:	8b f2                	mov    %edx,%esi
40a0f5:	8b f8                	mov    %eax,%edi
40a0f7:	83 7e 04 18          	cmpl   $0x18,0x4(%esi)
40a0fb:	75 51                	jne    0x40a14e
40a0fd:	8b 06                	mov    (%esi),%eax
40a0ff:	8b 5f 1c             	mov    0x1c(%edi),%ebx
40a102:	3b c3                	cmp    %ebx,%eax
40a104:	75 48                	jne    0x40a14e
40a106:	53                   	push   %ebx
40a107:	e8 c4 a9 ff ff       	call   0x404ad0
40a10c:	83 f8 01             	cmp    $0x1,%eax
40a10f:	1b c0                	sbb    %eax,%eax
40a111:	40                   	inc    %eax
40a112:	8b d8                	mov    %eax,%ebx
40a114:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40a118:	74 1b                	je     0x40a135
40a11a:	80 4f 27 10          	orb    $0x10,0x27(%edi)
40a11e:	84 db                	test   %bl,%bl
40a120:	75 2c                	jne    0x40a14e
40a122:	8b 5f 50             	mov    0x50(%edi),%ebx
40a125:	8b d7                	mov    %edi,%edx
40a127:	8b 83 14 01 00 00    	mov    0x114(%ebx),%eax
40a12d:	ff 93 10 01 00 00    	call   *0x110(%ebx)
40a133:	eb 19                	jmp    0x40a14e
40a135:	80 67 27 ef          	andb   $0xef,0x27(%edi)
40a139:	84 db                	test   %bl,%bl
40a13b:	74 11                	je     0x40a14e
40a13d:	8b 5f 50             	mov    0x50(%edi),%ebx
40a140:	8b d7                	mov    %edi,%edx
40a142:	8b 83 0c 01 00 00    	mov    0x10c(%ebx),%eax
40a148:	ff 93 08 01 00 00    	call   *0x108(%ebx)
40a14e:	8b c7                	mov    %edi,%eax
40a150:	e8 fb 1f 00 00       	call   0x40c150
40a155:	33 c0                	xor    %eax,%eax
40a157:	5f                   	pop    %edi
40a158:	5e                   	pop    %esi
40a159:	5b                   	pop    %ebx
40a15a:	c3                   	ret
40a15b:	90                   	nop
40a15c:	55                   	push   %ebp
40a15d:	8b ec                	mov    %esp,%ebp
40a15f:	53                   	push   %ebx
40a160:	8b d8                	mov    %eax,%ebx
40a162:	8b c3                	mov    %ebx,%eax
40a164:	e8 73 3e 00 00       	call   0x40dfdc
40a169:	8b 55 08             	mov    0x8(%ebp),%edx
40a16c:	89 90 10 01 00 00    	mov    %edx,0x110(%eax)
40a172:	8b 55 0c             	mov    0xc(%ebp),%edx
40a175:	89 90 14 01 00 00    	mov    %edx,0x114(%eax)
40a17b:	ba f0 a0 40 00       	mov    $0x40a0f0,%edx
40a180:	8b c3                	mov    %ebx,%eax
40a182:	e8 b1 f8 ff ff       	call   0x409a38
40a187:	5b                   	pop    %ebx
40a188:	5d                   	pop    %ebp
40a189:	c2 08 00             	ret    $0x8
40a18c:	55                   	push   %ebp
40a18d:	8b ec                	mov    %esp,%ebp
40a18f:	56                   	push   %esi
40a190:	57                   	push   %edi
40a191:	8b 7d 08             	mov    0x8(%ebp),%edi
40a194:	8d 75 0c             	lea    0xc(%ebp),%esi
40a197:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a198:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a199:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a19a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a19b:	5f                   	pop    %edi
40a19c:	5e                   	pop    %esi
40a19d:	5d                   	pop    %ebp
40a19e:	c2 14 00             	ret    $0x14
40a1a1:	8d 40 00             	lea    0x0(%eax),%eax
40a1a4:	b9 10 00 00 00       	mov    $0x10,%ecx
40a1a9:	e8 2a b6 ff ff       	call   0x4057d8
40a1ae:	c3                   	ret
40a1af:	90                   	nop
40a1b0:	56                   	push   %esi
40a1b1:	89 c1                	mov    %eax,%ecx
40a1b3:	89 d6                	mov    %edx,%esi
40a1b5:	ad                   	lods   %ds:(%esi),%eax
40a1b6:	3b 01                	cmp    (%ecx),%eax
40a1b8:	7f 0f                	jg     0x40a1c9
40a1ba:	ad                   	lods   %ds:(%esi),%eax
40a1bb:	3b 41 04             	cmp    0x4(%ecx),%eax
40a1be:	7f 09                	jg     0x40a1c9
40a1c0:	ad                   	lods   %ds:(%esi),%eax
40a1c1:	39 01                	cmp    %eax,(%ecx)
40a1c3:	7f 04                	jg     0x40a1c9
40a1c5:	ad                   	lods   %ds:(%esi),%eax
40a1c6:	39 41 04             	cmp    %eax,0x4(%ecx)
40a1c9:	0f 9e c0             	setle  %al
40a1cc:	5e                   	pop    %esi
40a1cd:	c3                   	ret
40a1ce:	8b c0                	mov    %eax,%eax
40a1d0:	55                   	push   %ebp
40a1d1:	8b ec                	mov    %esp,%ebp
40a1d3:	53                   	push   %ebx