45f03c:	e8 ff ee ff ff       	call   0x45df40
45f041:	6a 40                	push   $0x40
45f043:	6a 00                	push   $0x0
45f045:	6a 00                	push   $0x0
45f047:	6a 01                	push   $0x1
45f049:	a1 44 db 46 00       	mov    0x46db44,%eax
45f04e:	8b 00                	mov    (%eax),%eax
45f050:	ff d0                	call   *%eax
45f052:	d1 f8                	sar    $1,%eax
45f054:	79 03                	jns    0x45f059
45f056:	83 d0 00             	adc    $0x0,%eax
45f059:	50                   	push   %eax
45f05a:	6a 00                	push   $0x0
45f05c:	a1 44 db 46 00       	mov    0x46db44,%eax
45f061:	8b 00                	mov    (%eax),%eax
45f063:	ff d0                	call   *%eax
45f065:	d1 f8                	sar    $1,%eax
45f067:	79 03                	jns    0x45f06c
45f069:	83 d0 00             	adc    $0x0,%eax
45f06c:	50                   	push   %eax
45f06d:	6a 00                	push   $0x0
45f06f:	8b 43 30             	mov    0x30(%ebx),%eax
45f072:	50                   	push   %eax
45f073:	e8 2c 78 fa ff       	call   0x4068a4
45f078:	8b 43 44             	mov    0x44(%ebx),%eax
45f07b:	85 c0                	test   %eax,%eax
45f07d:	74 1e                	je     0x45f09d
45f07f:	80 b8 2b 02 00 00 01 	cmpb   $0x1,0x22b(%eax)
45f086:	75 15                	jne    0x45f09d
45f088:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
45f08c:	75 0f                	jne    0x45f09d
45f08e:	33 d2                	xor    %edx,%edx
45f090:	e8 b7 ab ff ff       	call   0x459c4c
45f095:	8b 43 44             	mov    0x44(%ebx),%eax
45f098:	e8 cb cf ff ff       	call   0x45c068
45f09d:	8b c3                	mov    %ebx,%eax
45f09f:	e8 7c f5 ff ff       	call   0x45e620
45f0a4:	a1 bc eb 46 00       	mov    0x46ebbc,%eax
45f0a9:	8b 70 64             	mov    0x64(%eax),%esi
45f0ac:	85 f6                	test   %esi,%esi
45f0ae:	74 0d                	je     0x45f0bd
45f0b0:	8b c6                	mov    %esi,%eax
45f0b2:	e8 39 70 fe ff       	call   0x4460f0
45f0b7:	50                   	push   %eax
45f0b8:	e8 7f 77 fa ff       	call   0x40683c
45f0bd:	66 83 bb 22 01 00 00 	cmpw   $0x0,0x122(%ebx)
45f0c4:	00
45f0c5:	74 0e                	je     0x45f0d5
45f0c7:	8b d3                	mov    %ebx,%edx
45f0c9:	8b 83 24 01 00 00    	mov    0x124(%ebx),%eax
45f0cf:	ff 93 20 01 00 00    	call   *0x120(%ebx)
45f0d5:	5e                   	pop    %esi
45f0d6:	5b                   	pop    %ebx
45f0d7:	c3                   	ret
45f0d8:	53                   	push   %ebx
45f0d9:	56                   	push   %esi
45f0da:	8b d8                	mov    %eax,%ebx
45f0dc:	8b 43 30             	mov    0x30(%ebx),%eax
45f0df:	85 c0                	test   %eax,%eax
45f0e1:	74 2b                	je     0x45f10e
45f0e3:	50                   	push   %eax
45f0e4:	e8 13 75 fa ff       	call   0x4065fc
45f0e9:	8b f0                	mov    %eax,%esi
45f0eb:	85 f6                	test   %esi,%esi
45f0ed:	74 1f                	je     0x45f10e
45f0ef:	3b 73 30             	cmp    0x30(%ebx),%esi
45f0f2:	74 1a                	je     0x45f10e
45f0f4:	56                   	push   %esi
45f0f5:	e8 3a 76 fa ff       	call   0x406734
45f0fa:	85 c0                	test   %eax,%eax
45f0fc:	74 10                	je     0x45f10e
45f0fe:	56                   	push   %esi
45f0ff:	e8 28 76 fa ff       	call   0x40672c
45f104:	85 c0                	test   %eax,%eax
45f106:	74 06                	je     0x45f10e
45f108:	56                   	push   %esi
45f109:	e8 36 77 fa ff       	call   0x406844
45f10e:	5e                   	pop    %esi
45f10f:	5b                   	pop    %ebx
45f110:	c3                   	ret
45f111:	8d 40 00             	lea    0x0(%eax),%eax
45f114:	53                   	push   %ebx
45f115:	56                   	push   %esi
45f116:	81 c4 00 ff ff ff    	add    $0xffffff00,%esp
45f11c:	8b f2                	mov    %edx,%esi
45f11e:	8b d8                	mov    %eax,%ebx
45f120:	80 bb a4 00 00 00 00 	cmpb   $0x0,0xa4(%ebx)
45f127:	74 20                	je     0x45f149
45f129:	68 00 01 00 00       	push   $0x100
45f12e:	8d 44 24 04          	lea    0x4(%esp),%eax
45f132:	50                   	push   %eax
45f133:	8b 43 30             	mov    0x30(%ebx),%eax
45f136:	50                   	push   %eax
45f137:	e8 88 75 fa ff       	call   0x4066c4
45f13c:	8b c8                	mov    %eax,%ecx
45f13e:	8b d4                	mov    %esp,%edx
45f140:	8b c6                	mov    %esi,%eax
45f142:	e8 41 4f fa ff       	call   0x404088
45f147:	eb 0d                	jmp    0x45f156
45f149:	8b c6                	mov    %esi,%eax
45f14b:	8b 93 8c 00 00 00    	mov    0x8c(%ebx),%edx
45f151:	e8 96 4e fa ff       	call   0x403fec
45f156:	81 c4 00 01 00 00    	add    $0x100,%esp
45f15c:	5e                   	pop    %esi
45f15d:	5b                   	pop    %ebx
45f15e:	c3                   	ret
45f15f:	90                   	nop
45f160:	53                   	push   %ebx
45f161:	56                   	push   %esi
45f162:	57                   	push   %edi
45f163:	8b fa                	mov    %edx,%edi
45f165:	8b d8                	mov    %eax,%ebx
45f167:	33 c0                	xor    %eax,%eax
45f169:	8b b3 b0 00 00 00    	mov    0xb0(%ebx),%esi
45f16f:	85 f6                	test   %esi,%esi
45f171:	74 0d                	je     0x45f180
45f173:	57                   	push   %edi
45f174:	56                   	push   %esi
45f175:	e8 92 75 fa ff       	call   0x40670c
45f17a:	83 f8 01             	cmp    $0x1,%eax
45f17d:	1b c0                	sbb    %eax,%eax
45f17f:	40                   	inc    %eax
45f180:	5f                   	pop    %edi
45f181:	5e                   	pop    %esi
45f182:	5b                   	pop    %ebx
45f183:	c3                   	ret
45f184:	53                   	push   %ebx
45f185:	56                   	push   %esi
45f186:	57                   	push   %edi
45f187:	8b fa                	mov    %edx,%edi
45f189:	8b d8                	mov    %eax,%ebx
45f18b:	33 c0                	xor    %eax,%eax
45f18d:	8b 73 44             	mov    0x44(%ebx),%esi
45f190:	85 f6                	test   %esi,%esi
45f192:	74 3a                	je     0x45f1ce
45f194:	80 be 2f 02 00 00 02 	cmpb   $0x2,0x22f(%esi)
45f19b:	75 31                	jne    0x45f1ce
45f19d:	8b 15 bc eb 46 00    	mov    0x46ebbc,%edx
45f1a3:	83 7a 6c 00          	cmpl   $0x0,0x6c(%edx)
45f1a7:	74 25                	je     0x45f1ce
45f1a9:	8b 15 bc eb 46 00    	mov    0x46ebbc,%edx
45f1af:	8b 52 6c             	mov    0x6c(%edx),%edx
45f1b2:	80 ba 2f 02 00 00 01 	cmpb   $0x1,0x22f(%edx)
45f1b9:	75 13                	jne    0x45f1ce
45f1bb:	57                   	push   %edi
45f1bc:	8b 86 54 02 00 00    	mov    0x254(%esi),%eax
45f1c2:	50                   	push   %eax
45f1c3:	e8 1c 77 fa ff       	call   0x4068e4
45f1c8:	83 f8 01             	cmp    $0x1,%eax
45f1cb:	1b c0                	sbb    %eax,%eax
45f1cd:	40                   	inc    %eax
45f1ce:	5f                   	pop    %edi
45f1cf:	5e                   	pop    %esi
45f1d0:	5b                   	pop    %ebx
45f1d1:	c3                   	ret
45f1d2:	8b c0                	mov    %eax,%eax
45f1d4:	53                   	push   %ebx
45f1d5:	56                   	push   %esi
45f1d6:	57                   	push   %edi
45f1d7:	55                   	push   %ebp
45f1d8:	8b f2                	mov    %edx,%esi
45f1da:	8b f8                	mov    %eax,%edi
45f1dc:	33 db                	xor    %ebx,%ebx
45f1de:	8b 46 04             	mov    0x4(%esi),%eax
45f1e1:	3d 00 01 00 00       	cmp    $0x100,%eax
45f1e6:	0f 82 99 00 00 00    	jb     0x45f285
45f1ec:	3d 08 01 00 00       	cmp    $0x108,%eax
45f1f1:	0f 87 8e 00 00 00    	ja     0x45f285
45f1f7:	e8 68 73 fa ff       	call   0x406564
45f1fc:	8b e8                	mov    %eax,%ebp
45f1fe:	85 ed                	test   %ebp,%ebp
45f200:	75 56                	jne    0x45f258
45f202:	8b 2e                	mov    (%esi),%ebp
45f204:	8b 47 44             	mov    0x44(%edi),%eax
45f207:	85 c0                	test   %eax,%eax
45f209:	74 19                	je     0x45f224
45f20b:	3b a8 54 02 00 00    	cmp    0x254(%eax),%ebp
45f211:	75 11                	jne    0x45f224
45f213:	e8 d8 6e fe ff       	call   0x4460f0
45f218:	8b e8                	mov    %eax,%ebp
45f21a:	eb 1d                	jmp    0x45f239
45f21c:	55                   	push   %ebp
45f21d:	e8 22 74 fa ff       	call   0x406644
45f222:	8b e8                	mov    %eax,%ebp
45f224:	8b c5                	mov    %ebp,%eax
45f226:	e8 69 d5 fd ff       	call   0x43c794
45f22b:	85 c0                	test   %eax,%eax
45f22d:	75 04                	jne    0x45f233
45f22f:	85 ed                	test   %ebp,%ebp
45f231:	75 e9                	jne    0x45f21c
45f233:	85 ed                	test   %ebp,%ebp
45f235:	75 02                	jne    0x45f239
45f237:	8b 2e                	mov    (%esi),%ebp
45f239:	8b 46 0c             	mov    0xc(%esi),%eax
45f23c:	50                   	push   %eax
45f23d:	8b 46 08             	mov    0x8(%esi),%eax
45f240:	50                   	push   %eax
45f241:	8b 46 04             	mov    0x4(%esi),%eax
45f244:	05 00 bc 00 00       	add    $0xbc00,%eax
45f249:	50                   	push   %eax
45f24a:	55                   	push   %ebp
45f24b:	e8 c4 75 fa ff       	call   0x406814
45f250:	85 c0                	test   %eax,%eax
45f252:	74 31                	je     0x45f285
45f254:	b3 01                	mov    $0x1,%bl
45f256:	eb 2d                	jmp    0x45f285
45f258:	6a fa                	push   $0xfffffffa
45f25a:	55                   	push   %ebp
45f25b:	e8 4c 74 fa ff       	call   0x4066ac
45f260:	3b 05 64 e6 46 00    	cmp    0x46e664,%eax
45f266:	75 1d                	jne    0x45f285
45f268:	8b 46 0c             	mov    0xc(%esi),%eax
45f26b:	50                   	push   %eax
45f26c:	8b 46 08             	mov    0x8(%esi),%eax
45f26f:	50                   	push   %eax
45f270:	8b 46 04             	mov    0x4(%esi),%eax
45f273:	05 00 bc 00 00       	add    $0xbc00,%eax
45f278:	50                   	push   %eax
45f279:	55                   	push   %ebp
45f27a:	e8 95 75 fa ff       	call   0x406814
45f27f:	85 c0                	test   %eax,%eax
45f281:	74 02                	je     0x45f285
45f283:	b3 01                	mov    $0x1,%bl
45f285:	8b c3                	mov    %ebx,%eax
45f287:	5d                   	pop    %ebp
45f288:	5f                   	pop    %edi
45f289:	5e                   	pop    %esi
45f28a:	5b                   	pop    %ebx
45f28b:	c3                   	ret
45f28c:	53                   	push   %ebx
45f28d:	56                   	push   %esi
45f28e:	57                   	push   %edi
45f28f:	55                   	push   %ebp
45f290:	8b fa                	mov    %edx,%edi
45f292:	8b e8                	mov    %eax,%ebp
45f294:	33 db                	xor    %ebx,%ebx
45f296:	8b b5 84 00 00 00    	mov    0x84(%ebp),%esi
45f29c:	85 f6                	test   %esi,%esi
45f29e:	74 17                	je     0x45f2b7
45f2a0:	8b d7                	mov    %edi,%edx
45f2a2:	8b c6                	mov    %esi,%eax
45f2a4:	8b 08                	mov    (%eax),%ecx
45f2a6:	ff 91 dc 00 00 00    	call   *0xdc(%ecx)
45f2ac:	84 c0                	test   %al,%al
45f2ae:	74 07                	je     0x45f2b7
45f2b0:	8b c5                	mov    %ebp,%eax
45f2b2:	e8 35 0f 00 00       	call   0x4601ec
45f2b7:	8b c3                	mov    %ebx,%eax
45f2b9:	5d                   	pop    %ebp
45f2ba:	5f                   	pop    %edi
45f2bb:	5e                   	pop    %esi
45f2bc:	5b                   	pop    %ebx
45f2bd:	c3                   	ret
45f2be:	8b c0                	mov    %eax,%eax
45f2c0:	53                   	push   %ebx
45f2c1:	56                   	push   %esi
45f2c2:	57                   	push   %edi
45f2c3:	55                   	push   %ebp
45f2c4:	51                   	push   %ecx
45f2c5:	8b ea                	mov    %edx,%ebp
45f2c7:	8b d8                	mov    %eax,%ebx
45f2c9:	c6 04 24 00          	movb   $0x0,(%esp)
45f2cd:	66 83 bb 2a 01 00 00 	cmpw   $0x0,0x12a(%ebx)
45f2d4:	00
45f2d5:	74 10                	je     0x45f2e7
45f2d7:	8b cc                	mov    %esp,%ecx
45f2d9:	8b d5                	mov    %ebp,%edx
45f2db:	8b 83 2c 01 00 00    	mov    0x12c(%ebx),%eax
45f2e1:	ff 93 28 01 00 00    	call   *0x128(%ebx)
45f2e7:	80 3c 24 00          	cmpb   $0x0,(%esp)
45f2eb:	75 2e                	jne    0x45f31b
45f2ed:	8b 7b 44             	mov    0x44(%ebx),%edi
45f2f0:	85 ff                	test   %edi,%edi
45f2f2:	74 23                	je     0x45f317
45f2f4:	8b c7                	mov    %edi,%eax
45f2f6:	e8 f5 6d fe ff       	call   0x4460f0
45f2fb:	50                   	push   %eax
45f2fc:	e8 2b 74 fa ff       	call   0x40672c
45f301:	85 c0                	test   %eax,%eax
45f303:	74 12                	je     0x45f317
45f305:	8b d5                	mov    %ebp,%edx
45f307:	8b 43 44             	mov    0x44(%ebx),%eax
45f30a:	66 be ab ff          	mov    $0xffab,%si
45f30e:	e8 31 41 fa ff       	call   0x403444
45f313:	84 c0                	test   %al,%al
45f315:	75 04                	jne    0x45f31b
45f317:	33 c0                	xor    %eax,%eax
45f319:	eb 02                	jmp    0x45f31d
45f31b:	b0 01                	mov    $0x1,%al
45f31d:	88 04 24             	mov    %al,(%esp)
45f320:	8a 04 24             	mov    (%esp),%al
45f323:	5a                   	pop    %edx
45f324:	5d                   	pop    %ebp
45f325:	5f                   	pop    %edi
45f326:	5e                   	pop    %esi
45f327:	5b                   	pop    %ebx
45f328:	c3                   	ret
45f329:	8d 40 00             	lea    0x0(%eax),%eax
45f32c:	53                   	push   %ebx
45f32d:	56                   	push   %esi
45f32e:	57                   	push   %edi
45f32f:	51                   	push   %ecx
45f330:	8b fa                	mov    %edx,%edi
45f332:	8b f0                	mov    %eax,%esi
45f334:	33 db                	xor    %ebx,%ebx
45f336:	6a 01                	push   $0x1
45f338:	6a 00                	push   $0x0
45f33a:	6a 00                	push   $0x0
45f33c:	6a 00                	push   $0x0
45f33e:	57                   	push   %edi
45f33f:	e8 60 74 fa ff       	call   0x4067a4
45f344:	85 c0                	test   %eax,%eax
45f346:	74 75                	je     0x45f3bd
45f348:	b3 01                	mov    $0x1,%bl
45f34a:	83 7f 04 12          	cmpl   $0x12,0x4(%edi)
45f34e:	74 66                	je     0x45f3b6
45f350:	c6 04 24 00          	movb   $0x0,(%esp)
45f354:	66 83 be da 00 00 00 	cmpw   $0x0,0xda(%esi)
45f35b:	00
45f35c:	74 10                	je     0x45f36e
45f35e:	8b cc                	mov    %esp,%ecx
45f360:	8b d7                	mov    %edi,%edx
45f362:	8b 86 dc 00 00 00    	mov    0xdc(%esi),%eax
45f368:	ff 96 d8 00 00 00    	call   *0xd8(%esi)
45f36e:	8b d7                	mov    %edi,%edx
45f370:	8b c6                	mov    %esi,%eax
45f372:	e8 15 ff ff ff       	call   0x45f28c
45f377:	84 c0                	test   %al,%al
45f379:	75 42                	jne    0x45f3bd
45f37b:	80 3c 24 00          	cmpb   $0x0,(%esp)
45f37f:	75 3c                	jne    0x45f3bd
45f381:	8b d7                	mov    %edi,%edx
45f383:	8b c6                	mov    %esi,%eax
45f385:	e8 fa fd ff ff       	call   0x45f184
45f38a:	84 c0                	test   %al,%al
45f38c:	75 2f                	jne    0x45f3bd
45f38e:	8b d7                	mov    %edi,%edx
45f390:	8b c6                	mov    %esi,%eax
45f392:	e8 3d fe ff ff       	call   0x45f1d4
45f397:	84 c0                	test   %al,%al
45f399:	75 22                	jne    0x45f3bd
45f39b:	8b d7                	mov    %edi,%edx
45f39d:	8b c6                	mov    %esi,%eax
45f39f:	e8 bc fd ff ff       	call   0x45f160
45f3a4:	84 c0                	test   %al,%al
45f3a6:	75 15                	jne    0x45f3bd
45f3a8:	57                   	push   %edi
45f3a9:	e8 3e 75 fa ff       	call   0x4068ec
45f3ae:	57                   	push   %edi
45f3af:	e8 10 71 fa ff       	call   0x4064c4