409ff5:	ff 75 c4             	push   -0x3c(%ebp)
409ff8:	ff 15 24 b3 41 00    	call   *0x41b324
409ffe:	59                   	pop    %ecx
409fff:	8b de                	mov    %esi,%ebx
40a001:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40a004:	be e8 51 41 00       	mov    $0x4151e8,%esi
40a009:	a1 80 93 41 00       	mov    0x419380,%eax
40a00e:	85 46 28             	test   %eax,0x28(%esi)
40a011:	74 58                	je     0x40a06b
40a013:	8b 0e                	mov    (%esi),%ecx
40a015:	8d 55 e8             	lea    -0x18(%ebp),%edx
40a018:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40a01c:	83 65 84 00          	andl   $0x0,-0x7c(%ebp)
40a020:	c7 85 7c ff ff ff 05 	movl   $0x5,-0x84(%ebp)
40a027:	00 00 00
40a02a:	e8 b6 59 00 00       	call   0x40f9e5
40a02f:	85 c0                	test   %eax,%eax
40a031:	74 38                	je     0x40a06b
40a033:	8b 45 e8             	mov    -0x18(%ebp),%eax
40a036:	85 c0                	test   %eax,%eax
40a038:	74 31                	je     0x40a06b
40a03a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40a03d:	89 45 90             	mov    %eax,-0x70(%ebp)
40a040:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
40a046:	50                   	push   %eax
40a047:	6a 00                	push   $0x0
40a049:	68 4d 10 00 00       	push   $0x104d
40a04e:	89 5e fc             	mov    %ebx,-0x4(%esi)
40a051:	ff 77 0c             	push   0xc(%edi)
40a054:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
40a057:	89 5d 80             	mov    %ebx,-0x80(%ebp)
40a05a:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a060:	ff 75 e8             	push   -0x18(%ebp)
40a063:	43                   	inc    %ebx
40a064:	ff 15 24 b3 41 00    	call   *0x41b324
40a06a:	59                   	pop    %ecx
40a06b:	ff 45 e4             	incl   -0x1c(%ebp)
40a06e:	83 c6 3c             	add    $0x3c,%esi
40a071:	81 fe 98 56 41 00    	cmp    $0x415698,%esi
40a077:	7c 90                	jl     0x40a009
40a079:	8b cf                	mov    %edi,%ecx
40a07b:	e8 d2 07 00 00       	call   0x40a852
40a080:	33 db                	xor    %ebx,%ebx
40a082:	53                   	push   %ebx
40a083:	53                   	push   %ebx
40a084:	68 43 10 00 00       	push   $0x1043
40a089:	ff 77 0c             	push   0xc(%edi)
40a08c:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a092:	6a 03                	push   $0x3
40a094:	58                   	pop    %eax
40a095:	89 45 8c             	mov    %eax,-0x74(%ebp)
40a098:	89 45 88             	mov    %eax,-0x78(%ebp)
40a09b:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
40a0a1:	50                   	push   %eax
40a0a2:	53                   	push   %ebx
40a0a3:	68 2b 10 00 00       	push   $0x102b
40a0a8:	ff 77 0c             	push   0xc(%edi)
40a0ab:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a0b1:	6a ff                	push   $0xffffffff
40a0b3:	8b cf                	mov    %edi,%ecx
40a0b5:	e8 2f 0d 00 00       	call   0x40ade9
40a0ba:	53                   	push   %ebx
40a0bb:	68 54 04 00 00       	push   $0x454
40a0c0:	8b cf                	mov    %edi,%ecx
40a0c2:	e8 35 2c 00 00       	call   0x40ccfc
40a0c7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a0ca:	5f                   	pop    %edi
40a0cb:	5e                   	pop    %esi
40a0cc:	33 cd                	xor    %ebp,%ecx
40a0ce:	5b                   	pop    %ebx
40a0cf:	e8 0c 98 00 00       	call   0x4138e0
40a0d4:	c9                   	leave
40a0d5:	c2 04 00             	ret    $0x4
40a0d8:	cc                   	int3
40a0d9:	cc                   	int3
40a0da:	cc                   	int3
40a0db:	cc                   	int3
40a0dc:	cc                   	int3
40a0dd:	cc                   	int3
40a0de:	cc                   	int3
40a0df:	cc                   	int3
40a0e0:	8b ff                	mov    %edi,%edi
40a0e2:	55                   	push   %ebp
40a0e3:	8b ec                	mov    %esp,%ebp
40a0e5:	83 ec 44             	sub    $0x44,%esp
40a0e8:	8b 45 08             	mov    0x8(%ebp),%eax
40a0eb:	53                   	push   %ebx
40a0ec:	56                   	push   %esi
40a0ed:	57                   	push   %edi
40a0ee:	33 db                	xor    %ebx,%ebx
40a0f0:	8b f9                	mov    %ecx,%edi
40a0f2:	53                   	push   %ebx
40a0f3:	53                   	push   %ebx
40a0f4:	0f b7 c8             	movzwl %ax,%ecx
40a0f7:	68 42 10 00 00       	push   $0x1042
40a0fc:	ff 77 0c             	push   0xc(%edi)
40a0ff:	c1 e8 10             	shr    $0x10,%eax
40a102:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40a105:	89 45 08             	mov    %eax,0x8(%ebp)
40a108:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a10e:	6a 3c                	push   $0x3c
40a110:	8b f0                	mov    %eax,%esi
40a112:	8d 45 bc             	lea    -0x44(%ebp),%eax
40a115:	53                   	push   %ebx
40a116:	50                   	push   %eax
40a117:	e8 45 a0 00 00       	call   0x414161
40a11c:	83 c4 0c             	add    $0xc,%esp
40a11f:	89 75 c0             	mov    %esi,-0x40(%ebp)
40a122:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40a125:	6a 04                	push   $0x4
40a127:	5a                   	pop    %edx
40a128:	89 55 bc             	mov    %edx,-0x44(%ebp)
40a12b:	83 fe ff             	cmp    $0xffffffff,%esi
40a12e:	74 20                	je     0x40a150
40a130:	8d 45 bc             	lea    -0x44(%ebp),%eax
40a133:	50                   	push   %eax
40a134:	53                   	push   %ebx
40a135:	68 4b 10 00 00       	push   $0x104b
40a13a:	ff 77 0c             	push   0xc(%edi)
40a13d:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a143:	85 c0                	test   %eax,%eax
40a145:	75 06                	jne    0x40a14d
40a147:	40                   	inc    %eax
40a148:	e9 9c 02 00 00       	jmp    0x40a3e9
40a14d:	6a 04                	push   $0x4
40a14f:	5a                   	pop    %edx
40a150:	8b 45 f8             	mov    -0x8(%ebp),%eax
40a153:	b9 4e 04 00 00       	mov    $0x44e,%ecx
40a158:	0f b7 c0             	movzwl %ax,%eax
40a15b:	3b c1                	cmp    %ecx,%eax
40a15d:	0f 87 10 02 00 00    	ja     0x40a373
40a163:	0f 84 f5 01 00 00    	je     0x40a35e
40a169:	2d f3 03 00 00       	sub    $0x3f3,%eax
40a16e:	0f 84 c2 01 00 00    	je     0x40a336
40a174:	83 e8 0f             	sub    $0xf,%eax
40a177:	74 32                	je     0x40a1ab
40a179:	83 e8 4a             	sub    $0x4a,%eax
40a17c:	74 1f                	je     0x40a19d
40a17e:	83 e8 01             	sub    $0x1,%eax
40a181:	0f 85 00 02 00 00    	jne    0x40a387
40a187:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a18a:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a18d:	c7 80 08 52 41 00 01 	movl   $0x1,0x415208(%eax)
40a194:	00 00 00
40a197:	51                   	push   %ecx
40a198:	e9 43 02 00 00       	jmp    0x40a3e0
40a19d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a1a0:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a1a3:	89 98 08 52 41 00    	mov    %ebx,0x415208(%eax)
40a1a9:	eb ec                	jmp    0x40a197
40a1ab:	8b 45 dc             	mov    -0x24(%ebp),%eax
40a1ae:	83 e8 06             	sub    $0x6,%eax
40a1b1:	0f 84 8b 00 00 00    	je     0x40a242
40a1b7:	83 e8 01             	sub    $0x1,%eax
40a1ba:	0f 85 27 02 00 00    	jne    0x40a3e7
40a1c0:	66 3b 45 08          	cmp    0x8(%ebp),%ax
40a1c4:	0f 85 1d 02 00 00    	jne    0x40a3e7
40a1ca:	6a 14                	push   $0x14
40a1cc:	e8 c6 91 00 00       	call   0x413397
40a1d1:	8b f0                	mov    %eax,%esi
40a1d3:	8d 47 18             	lea    0x18(%edi),%eax
40a1d6:	89 75 fc             	mov    %esi,-0x4(%ebp)
40a1d9:	59                   	pop    %ecx
40a1da:	85 f6                	test   %esi,%esi
40a1dc:	74 1b                	je     0x40a1f9
40a1de:	33 c9                	xor    %ecx,%ecx
40a1e0:	89 5e 04             	mov    %ebx,0x4(%esi)
40a1e3:	66 89 4e 08          	mov    %cx,0x8(%esi)
40a1e7:	c7 06 80 17 40 00    	movl   $0x401780,(%esi)
40a1ed:	89 46 0c             	mov    %eax,0xc(%esi)
40a1f0:	c7 46 10 01 00 00 00 	movl   $0x1,0x10(%esi)
40a1f7:	eb 05                	jmp    0x40a1fe
40a1f9:	8b f3                	mov    %ebx,%esi
40a1fb:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40a1fe:	85 f6                	test   %esi,%esi
40a200:	74 21                	je     0x40a223
40a202:	8b 4f 04             	mov    0x4(%edi),%ecx
40a205:	ba e3 00 00 00       	mov    $0xe3,%edx
40a20a:	56                   	push   %esi
40a20b:	e8 75 59 00 00       	call   0x40fb85
40a210:	8b 06                	mov    (%esi),%eax
40a212:	6a 01                	push   $0x1
40a214:	8b 30                	mov    (%eax),%esi
40a216:	8b ce                	mov    %esi,%ecx
40a218:	ff 15 90 b3 41 00    	call   *0x41b390
40a21e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40a221:	ff d6                	call   *%esi
40a223:	6a 07                	push   $0x7
40a225:	8b cf                	mov    %edi,%ecx
40a227:	e8 ee 02 00 00       	call   0x40a51a
40a22c:	6a ff                	push   $0xffffffff
40a22e:	8b cf                	mov    %edi,%ecx
40a230:	e8 b4 0b 00 00       	call   0x40ade9
40a235:	8d 4f 18             	lea    0x18(%edi),%ecx
40a238:	e8 58 dd ff ff       	call   0x407f95
40a23d:	e9 a5 01 00 00       	jmp    0x40a3e7
40a242:	33 c0                	xor    %eax,%eax
40a244:	66 3b 45 08          	cmp    0x8(%ebp),%ax
40a248:	0f 85 99 01 00 00    	jne    0x40a3e7
40a24e:	68 88 20 00 00       	push   $0x2088
40a253:	e8 3f 91 00 00       	call   0x413397
40a258:	8b f0                	mov    %eax,%esi
40a25a:	89 75 fc             	mov    %esi,-0x4(%ebp)
40a25d:	59                   	pop    %ecx
40a25e:	85 f6                	test   %esi,%esi
40a260:	0f 84 b9 00 00 00    	je     0x40a31f
40a266:	8d 87 f0 03 00 00    	lea    0x3f0(%edi),%eax
40a26c:	68 88 20 00 00       	push   $0x2088
40a271:	50                   	push   %eax
40a272:	56                   	push   %esi
40a273:	e8 66 9a 00 00       	call   0x413cde
40a278:	33 c0                	xor    %eax,%eax
40a27a:	39 05 70 53 41 00    	cmp    %eax,0x415370
40a280:	6a 18                	push   $0x18
40a282:	0f 94 c0             	sete   %al
40a285:	89 06                	mov    %eax,(%esi)
40a287:	e8 0b 91 00 00       	call   0x413397
40a28c:	8b f0                	mov    %eax,%esi
40a28e:	83 c4 10             	add    $0x10,%esp
40a291:	89 75 f8             	mov    %esi,-0x8(%ebp)
40a294:	85 f6                	test   %esi,%esi
40a296:	74 20                	je     0x40a2b8
40a298:	33 c0                	xor    %eax,%eax
40a29a:	89 5e 04             	mov    %ebx,0x4(%esi)
40a29d:	66 89 46 08          	mov    %ax,0x8(%esi)
40a2a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a2a4:	c7 06 c0 16 40 00    	movl   $0x4016c0,(%esi)
40a2aa:	89 46 0c             	mov    %eax,0xc(%esi)
40a2ad:	88 58 06             	mov    %bl,0x6(%eax)
40a2b0:	89 5e 14             	mov    %ebx,0x14(%esi)
40a2b3:	89 5e 10             	mov    %ebx,0x10(%esi)
40a2b6:	eb 05                	jmp    0x40a2bd
40a2b8:	8b f3                	mov    %ebx,%esi
40a2ba:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40a2bd:	85 f6                	test   %esi,%esi
40a2bf:	74 54                	je     0x40a315
40a2c1:	8b 4f 04             	mov    0x4(%edi),%ecx
40a2c4:	ba ce 00 00 00       	mov    $0xce,%edx
40a2c9:	56                   	push   %esi
40a2ca:	e8 b6 58 00 00       	call   0x40fb85
40a2cf:	83 f8 01             	cmp    $0x1,%eax
40a2d2:	75 2e                	jne    0x40a302
40a2d4:	68 88 20 00 00       	push   $0x2088
40a2d9:	ff 75 fc             	push   -0x4(%ebp)
40a2dc:	8d 87 f0 03 00 00    	lea    0x3f0(%edi),%eax
40a2e2:	50                   	push   %eax
40a2e3:	e8 f6 99 00 00       	call   0x413cde
40a2e8:	33 c0                	xor    %eax,%eax
40a2ea:	8d 8f f0 03 00 00    	lea    0x3f0(%edi),%ecx
40a2f0:	83 c4 0c             	add    $0xc,%esp
40a2f3:	39 19                	cmp    %ebx,(%ecx)
40a2f5:	0f 94 c0             	sete   %al
40a2f8:	a3 70 53 41 00       	mov    %eax,0x415370
40a2fd:	e8 62 dd ff ff       	call   0x408064
40a302:	8b 06                	mov    (%esi),%eax
40a304:	6a 01                	push   $0x1
40a306:	8b 30                	mov    (%eax),%esi
40a308:	8b ce                	mov    %esi,%ecx
40a30a:	ff 15 90 b3 41 00    	call   *0x41b390
40a310:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40a313:	ff d6                	call   *%esi
40a315:	ff 75 fc             	push   -0x4(%ebp)
40a318:	ff 15 cc b2 41 00    	call   *0x41b2cc
40a31e:	59                   	pop    %ecx
40a31f:	6a 06                	push   $0x6
40a321:	8b cf                	mov    %edi,%ecx
40a323:	e8 f2 01 00 00       	call   0x40a51a
40a328:	6a ff                	push   $0xffffffff
40a32a:	8b cf                	mov    %edi,%ecx
40a32c:	e8 b8 0a 00 00       	call   0x40ade9
40a331:	e9 b1 00 00 00       	jmp    0x40a3e7
40a336:	6a 01                	push   $0x1
40a338:	51                   	push   %ecx
40a339:	8b 4f 04             	mov    0x4(%edi),%ecx
40a33c:	6a 46                	push   $0x46
40a33e:	5a                   	pop    %edx
40a33f:	e8 a7 5a 00 00       	call   0x40fdeb
40a344:	83 f8 01             	cmp    $0x1,%eax
40a347:	0f 85 9a 00 00 00    	jne    0x40a3e7
40a34d:	e8 5b df ff ff       	call   0x4082ad
40a352:	8b cf                	mov    %edi,%ecx
40a354:	e8 f9 04 00 00       	call   0x40a852
40a359:	e9 89 00 00 00       	jmp    0x40a3e7
40a35e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a361:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a364:	c7 80 08 52 41 00 02 	movl   $0x2,0x415208(%eax)
40a36b:	00 00 00
40a36e:	e9 24 fe ff ff       	jmp    0x40a197
40a373:	2d 55 04 00 00       	sub    $0x455,%eax
40a378:	74 6d                	je     0x40a3e7
40a37a:	2b c2                	sub    %edx,%eax
40a37c:	74 34                	je     0x40a3b2
40a37e:	83 e8 0e             	sub    $0xe,%eax
40a381:	74 1a                	je     0x40a39d
40a383:	2b c2                	sub    %edx,%eax
40a385:	74 05                	je     0x40a38c
40a387:	33 db                	xor    %ebx,%ebx
40a389:	43                   	inc    %ebx
40a38a:	eb 5b                	jmp    0x40a3e7
40a38c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a38f:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a392:	89 90 08 52 41 00    	mov    %edx,0x415208(%eax)
40a398:	e9 fa fd ff ff       	jmp    0x40a197
40a39d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40a3a0:	6b c1 3c             	imul   $0x3c,%ecx,%eax
40a3a3:	c7 80 08 52 41 00 03 	movl   $0x3,0x415208(%eax)
40a3aa:	00 00 00
40a3ad:	e9 e5 fd ff ff       	jmp    0x40a197
40a3b2:	6a 09                	push   $0x9
40a3b4:	58                   	pop    %eax
40a3b5:	66 3b 45 08          	cmp    0x8(%ebp),%ax
40a3b9:	75 2c                	jne    0x40a3e7
40a3bb:	53                   	push   %ebx
40a3bc:	53                   	push   %ebx
40a3bd:	68 47 01 00 00       	push   $0x147
40a3c2:	ff 75 0c             	push   0xc(%ebp)
40a3c5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40a3cb:	83 f8 ff             	cmp    $0xffffffff,%eax
40a3ce:	74 17                	je     0x40a3e7
40a3d0:	8b 75 dc             	mov    -0x24(%ebp),%esi
40a3d3:	8d 50 02             	lea    0x2(%eax),%edx
40a3d6:	6b ce 3c             	imul   $0x3c,%esi,%ecx
40a3d9:	56                   	push   %esi
40a3da:	89 91 08 52 41 00    	mov    %edx,0x415208(%ecx)
40a3e0:	8b cf                	mov    %edi,%ecx
40a3e2:	e8 33 01 00 00       	call   0x40a51a
40a3e7:	8b c3                	mov    %ebx,%eax
40a3e9:	5f                   	pop    %edi
40a3ea:	5e                   	pop    %esi
40a3eb:	5b                   	pop    %ebx
40a3ec:	c9                   	leave
40a3ed:	c2 08 00             	ret    $0x8
40a3f0:	a1 18 98 41 00       	mov    0x419818,%eax
40a3f5:	53                   	push   %ebx
40a3f6:	56                   	push   %esi
40a3f7:	57                   	push   %edi
40a3f8:	33 ff                	xor    %edi,%edi
40a3fa:	8b d9                	mov    %ecx,%ebx
40a3fc:	3d 22 00 10 00       	cmp    $0x100022,%eax
40a401:	74 27                	je     0x40a42a
40a403:	3d 23 00 10 00       	cmp    $0x100023,%eax
40a408:	74 20                	je     0x40a42a
40a40a:	3d 24 00 10 00       	cmp    $0x100024,%eax
40a40f:	74 19                	je     0x40a42a
40a411:	3d 14 00 02 00       	cmp    $0x20014,%eax
40a416:	74 12                	je     0x40a42a
40a418:	3d 31 00 00 04       	cmp    $0x4000031,%eax
40a41d:	74 0b                	je     0x40a42a
40a41f:	3d 30 00 01 00       	cmp    $0x10030,%eax
40a424:	74 04                	je     0x40a42a