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
40a1d4:	56                   	push   %esi
40a1d5:	8b 18                	mov    (%eax),%ebx
40a1d7:	89 d6                	mov    %edx,%esi
40a1d9:	31 d2                	xor    %edx,%edx
40a1db:	41                   	inc    %ecx
40a1dc:	74 18                	je     0x40a1f6
40a1de:	ad                   	lods   %ds:(%esi),%eax
40a1df:	85 c0                	test   %eax,%eax
40a1e1:	7d 08                	jge    0x40a1eb
40a1e3:	f7 d0                	not    %eax
40a1e5:	f6 c3 01             	test   $0x1,%bl
40a1e8:	74 06                	je     0x40a1f0
40a1ea:	4b                   	dec    %ebx
40a1eb:	f6 c3 01             	test   $0x1,%bl
40a1ee:	74 02                	je     0x40a1f2
40a1f0:	09 c2                	or     %eax,%edx
40a1f2:	d1 eb                	shr    $1,%ebx
40a1f4:	e2 e8                	loop   0x40a1de
40a1f6:	92                   	xchg   %eax,%edx
40a1f7:	5e                   	pop    %esi
40a1f8:	5b                   	pop    %ebx
40a1f9:	8b e5                	mov    %ebp,%esp
40a1fb:	5d                   	pop    %ebp
40a1fc:	c3                   	ret
40a1fd:	8d 40 00             	lea    0x0(%eax),%eax
40a200:	e8 a7 89 ff ff       	call   0x402bac
40a205:	74 06                	je     0x40a20d
40a207:	50                   	push   %eax
40a208:	8b 10                	mov    (%eax),%edx
40a20a:	ff 12                	call   *(%edx)
40a20c:	58                   	pop    %eax
40a20d:	c3                   	ret
40a20e:	8b c0                	mov    %eax,%eax
40a210:	85 c0                	test   %eax,%eax
40a212:	74 0b                	je     0x40a21f
40a214:	83 68 04 02          	subl   $0x2,0x4(%eax)
40a218:	7d 05                	jge    0x40a21f
40a21a:	8b 10                	mov    (%eax),%edx
40a21c:	ff 72 04             	push   0x4(%edx)
40a21f:	c3                   	ret
40a220:	50                   	push   %eax
40a221:	e8 4a af ff ff       	call   0x405170
40a226:	58                   	pop    %eax
40a227:	31 d2                	xor    %edx,%edx
40a229:	e8 32 86 ff ff       	call   0x402860
40a22e:	c3                   	ret
40a22f:	90                   	nop
40a230:	53                   	push   %ebx
40a231:	52                   	push   %edx
40a232:	93                   	xchg   %eax,%ebx
40a233:	8b 43 10             	mov    0x10(%ebx),%eax
40a236:	85 c0                	test   %eax,%eax
40a238:	75 08                	jne    0x40a242
40a23a:	e8 79 af ff ff       	call   0x4051b8
40a23f:	89 43 10             	mov    %eax,0x10(%ebx)
40a242:	89 c3                	mov    %eax,%ebx
40a244:	31 d2                	xor    %edx,%edx
40a246:	59                   	pop    %ecx
40a247:	e8 54 b0 ff ff       	call   0x4052a0
40a24c:	93                   	xchg   %eax,%ebx
40a24d:	31 d2                	xor    %edx,%edx
40a24f:	b9 10 a2 40 00       	mov    $0x40a210,%ecx
40a254:	e8 47 b0 ff ff       	call   0x4052a0
40a259:	5b                   	pop    %ebx
40a25a:	c3                   	ret
40a25b:	90                   	nop
40a25c:	55                   	push   %ebp
40a25d:	8b ec                	mov    %esp,%ebp
40a25f:	53                   	push   %ebx
40a260:	93                   	xchg   %eax,%ebx
40a261:	8b 43 10             	mov    0x10(%ebx),%eax
40a264:	85 c0                	test   %eax,%eax
40a266:	75 08                	jne    0x40a270
40a268:	e8 4b af ff ff       	call   0x4051b8
40a26d:	89 43 10             	mov    %eax,0x10(%ebx)
40a270:	31 d2                	xor    %edx,%edx
40a272:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a275:	89 c3                	mov    %eax,%ebx
40a277:	e8 24 b0 ff ff       	call   0x4052a0
40a27c:	93                   	xchg   %eax,%ebx
40a27d:	31 d2                	xor    %edx,%edx
40a27f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a282:	e8 19 b0 ff ff       	call   0x4052a0
40a287:	5b                   	pop    %ebx
40a288:	5d                   	pop    %ebp
40a289:	c2 08 00             	ret    $0x8
40a28c:	53                   	push   %ebx
40a28d:	93                   	xchg   %eax,%ebx
40a28e:	8b 4b 10             	mov    0x10(%ebx),%ecx
40a291:	e3 29                	jecxz  0x40a2bc
40a293:	91                   	xchg   %eax,%ecx
40a294:	50                   	push   %eax
40a295:	e8 ea af ff ff       	call   0x405284
40a29a:	85 c0                	test   %eax,%eax
40a29c:	5a                   	pop    %edx
40a29d:	92                   	xchg   %eax,%edx
40a29e:	7c 1c                	jl     0x40a2bc
40a2a0:	50                   	push   %eax
40a2a1:	83 e2 fe             	and    $0xfffffffe,%edx
40a2a4:	31 c9                	xor    %ecx,%ecx
40a2a6:	b1 02                	mov    $0x2,%cl
40a2a8:	e8 87 af ff ff       	call   0x405234
40a2ad:	58                   	pop    %eax
40a2ae:	8b 48 1c             	mov    0x1c(%eax),%ecx
40a2b1:	41                   	inc    %ecx
40a2b2:	e2 08                	loop   0x40a2bc
40a2b4:	8d 43 10             	lea    0x10(%ebx),%eax
40a2b7:	e8 94 ae ff ff       	call   0x405150
40a2bc:	5b                   	pop    %ebx
40a2bd:	c3                   	ret
40a2be:	8b c0                	mov    %eax,%eax
40a2c0:	50                   	push   %eax
40a2c1:	e8 26 00 00 00       	call   0x40a2ec
40a2c6:	58                   	pop    %eax
40a2c7:	e8 54 ff ff ff       	call   0x40a220
40a2cc:	c3                   	ret
40a2cd:	8d 40 00             	lea    0x0(%eax),%eax
40a2d0:	3b 50 1c             	cmp    0x1c(%eax),%edx
40a2d3:	7d 03                	jge    0x40a2d8
40a2d5:	8b 50 1c             	mov    0x1c(%eax),%edx
40a2d8:	3b 50 20             	cmp    0x20(%eax),%edx
40a2db:	74 0e                	je     0x40a2eb
40a2dd:	89 50 20             	mov    %edx,0x20(%eax)
40a2e0:	c1 e2 02             	shl    $0x2,%edx
40a2e3:	8d 40 18             	lea    0x18(%eax),%eax
40a2e6:	e8 95 85 ff ff       	call   0x402880
40a2eb:	c3                   	ret
40a2ec:	ff 70 18             	push   0x18(%eax)
40a2ef:	31 d2                	xor    %edx,%edx
40a2f1:	89 50 18             	mov    %edx,0x18(%eax)
40a2f4:	89 50 1c             	mov    %edx,0x1c(%eax)
40a2f7:	89 50 20             	mov    %edx,0x20(%eax)
40a2fa:	58                   	pop    %eax
40a2fb:	e8 60 85 ff ff       	call   0x402860
40a300:	c3                   	ret
40a301:	8d 40 00             	lea    0x0(%eax),%eax
40a304:	85 d2                	test   %edx,%edx
40a306:	7c 0c                	jl     0x40a314
40a308:	3b 50 1c             	cmp    0x1c(%eax),%edx
40a30b:	7d 07                	jge    0x40a314
40a30d:	8b 40 18             	mov    0x18(%eax),%eax
40a310:	8b 04 90             	mov    (%eax,%edx,4),%eax
40a313:	c3                   	ret
40a314:	31 c0                	xor    %eax,%eax
40a316:	c3                   	ret
40a317:	90                   	nop
40a318:	53                   	push   %ebx
40a319:	56                   	push   %esi
40a31a:	66 bb 00 01          	mov    $0x100,%bx
40a31e:	66 87 1d 94 98 42 00 	xchg   %bx,0x429894
40a325:	31 c9                	xor    %ecx,%ecx
40a327:	87 0d 98 98 42 00    	xchg   %ecx,0x429898
40a32d:	e3 32                	jecxz  0x40a361
40a32f:	50                   	push   %eax
40a330:	91                   	xchg   %eax,%ecx
40a331:	89 c6                	mov    %eax,%esi
40a333:	e8 30 ae ff ff       	call   0x405168
40a338:	84 ff                	test   %bh,%bh
40a33a:	75 13                	jne    0x40a34f
40a33c:	89 f0                	mov    %esi,%eax
40a33e:	e8 21 1a 00 00       	call   0x40bd64
40a343:	6a 00                	push   $0x0
40a345:	6a 00                	push   $0x0
40a347:	6a 10                	push   $0x10
40a349:	56                   	push   %esi
40a34a:	e8 ed 21 00 00       	call   0x40c53c
40a34f:	58                   	pop    %eax
40a350:	31 c9                	xor    %ecx,%ecx
40a352:	89 08                	mov    %ecx,(%eax)
40a354:	89 f0                	mov    %esi,%eax
40a356:	e8 b5 fe ff ff       	call   0x40a210
40a35b:	96                   	xchg   %eax,%esi
40a35c:	e8 af fe ff ff       	call   0x40a210
40a361:	5e                   	pop    %esi
40a362:	5b                   	pop    %ebx