43a189:	33 c0                	xor    %eax,%eax
43a18b:	5e                   	pop    %esi
43a18c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a18f:	33 cd                	xor    %ebp,%ecx
43a191:	e8 ba 2d 01 00       	call   0x44cf50
43a196:	8b e5                	mov    %ebp,%esp
43a198:	5d                   	pop    %ebp
43a199:	c2 08 00             	ret    $0x8
43a19c:	ff 15 6c 20 45 00    	call   *0x45206c
43a1a2:	ba ed f8 ff ff       	mov    $0xfffff8ed,%edx
43a1a7:	8b c8                	mov    %eax,%ecx
43a1a9:	e8 72 e6 fe ff       	call   0x428820
43a1ae:	3d 01 fc ff ff       	cmp    $0xfffffc01,%eax
43a1b3:	75 41                	jne    0x43a1f6
43a1b5:	e8 36 3b 00 00       	call   0x43dcf0
43a1ba:	83 c0 10             	add    $0x10,%eax
43a1bd:	74 0a                	je     0x43a1c9
43a1bf:	e8 2c 3b 00 00       	call   0x43dcf0
43a1c4:	83 c0 14             	add    $0x14,%eax
43a1c7:	eb 02                	jmp    0x43a1cb
43a1c9:	33 c0                	xor    %eax,%eax
43a1cb:	81 3d 30 1a 45 00 ed 	cmpl   $0xfffff8ed,0x451a30
43a1d2:	f8 ff ff
43a1d5:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43a1db:	c7 40 04 58 05 00 00 	movl   $0x558,0x4(%eax)
43a1e2:	c7 40 08 ed f8 ff ff 	movl   $0xfffff8ed,0x8(%eax)
43a1e9:	75 06                	jne    0x43a1f1
43a1eb:	ff 15 58 20 45 00    	call   *0x452058
43a1f1:	b8 ed f8 ff ff       	mov    $0xfffff8ed,%eax
43a1f6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a1f9:	33 cd                	xor    %ebp,%ecx
43a1fb:	5e                   	pop    %esi
43a1fc:	e8 4f 2d 01 00       	call   0x44cf50
43a201:	8b e5                	mov    %ebp,%esp
43a203:	5d                   	pop    %ebp
43a204:	c2 08 00             	ret    $0x8
43a207:	cc                   	int3
43a208:	cc                   	int3
43a209:	cc                   	int3
43a20a:	cc                   	int3
43a20b:	cc                   	int3
43a20c:	cc                   	int3
43a20d:	cc                   	int3
43a20e:	cc                   	int3
43a20f:	cc                   	int3
43a210:	8b ff                	mov    %edi,%edi
43a212:	55                   	push   %ebp
43a213:	8b ec                	mov    %esp,%ebp
43a215:	8b 4d 10             	mov    0x10(%ebp),%ecx
43a218:	a1 60 0c 45 00       	mov    0x450c60,%eax
43a21d:	56                   	push   %esi
43a21e:	89 01                	mov    %eax,(%ecx)
43a220:	e8 ab 33 00 00       	call   0x43d5d0
43a225:	8b f0                	mov    %eax,%esi
43a227:	85 f6                	test   %esi,%esi
43a229:	78 34                	js     0x43a25f
43a22b:	8b 55 0c             	mov    0xc(%ebp),%edx
43a22e:	d1 ea                	shr    $1,%edx
43a230:	8b ca                	mov    %edx,%ecx
43a232:	f7 d9                	neg    %ecx
43a234:	1b c9                	sbb    %ecx,%ecx
43a236:	81 e1 a9 ff f8 7f    	and    $0x7ff8ffa9,%ecx
43a23c:	81 c1 57 00 07 80    	add    $0x80070057,%ecx
43a242:	85 d2                	test   %edx,%edx
43a244:	74 12                	je     0x43a258
43a246:	51                   	push   %ecx
43a247:	ff 35 d0 19 45 00    	push   0x4519d0
43a24d:	51                   	push   %ecx
43a24e:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a251:	e8 5a b0 fd ff       	call   0x4152b0
43a256:	8b c8                	mov    %eax,%ecx
43a258:	e8 83 ea fe ff       	call   0x428ce0
43a25d:	8b c6                	mov    %esi,%eax
43a25f:	5e                   	pop    %esi
43a260:	5d                   	pop    %ebp
43a261:	c2 0c 00             	ret    $0xc
43a264:	cc                   	int3
43a265:	cc                   	int3
43a266:	cc                   	int3
43a267:	cc                   	int3
43a268:	cc                   	int3
43a269:	cc                   	int3
43a26a:	cc                   	int3
43a26b:	cc                   	int3
43a26c:	cc                   	int3
43a26d:	cc                   	int3
43a26e:	cc                   	int3
43a26f:	cc                   	int3
43a270:	8b ff                	mov    %edi,%edi
43a272:	55                   	push   %ebp
43a273:	8b ec                	mov    %esp,%ebp
43a275:	81 ec 10 02 00 00    	sub    $0x210,%esp
43a27b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a280:	33 c5                	xor    %ebp,%eax
43a282:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a285:	53                   	push   %ebx
43a286:	56                   	push   %esi
43a287:	57                   	push   %edi
43a288:	8b f9                	mov    %ecx,%edi
43a28a:	8d 95 f4 fd ff ff    	lea    -0x20c(%ebp),%edx
43a290:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a293:	33 db                	xor    %ebx,%ebx
43a295:	52                   	push   %edx
43a296:	89 8d f0 fd ff ff    	mov    %ecx,-0x210(%ebp)
43a29c:	8b 07                	mov    (%edi),%eax
43a29e:	51                   	push   %ecx
43a29f:	8b 70 1c             	mov    0x1c(%eax),%esi
43a2a2:	8b ce                	mov    %esi,%ecx
43a2a4:	ff 15 84 23 45 00    	call   *0x452384
43a2aa:	8b cf                	mov    %edi,%ecx
43a2ac:	ff d6                	call   *%esi
43a2ae:	8b f0                	mov    %eax,%esi
43a2b0:	85 f6                	test   %esi,%esi
43a2b2:	78 2e                	js     0x43a2e2
43a2b4:	53                   	push   %ebx
43a2b5:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
43a2bb:	50                   	push   %eax
43a2bc:	ff 15 e4 20 45 00    	call   *0x4520e4
43a2c2:	85 c0                	test   %eax,%eax
43a2c4:	75 1c                	jne    0x43a2e2
43a2c6:	ff 15 6c 20 45 00    	call   *0x45206c
43a2cc:	8b 0f                	mov    (%edi),%ecx
43a2ce:	8b d8                	mov    %eax,%ebx
43a2d0:	53                   	push   %ebx
43a2d1:	8b 71 10             	mov    0x10(%ecx),%esi
43a2d4:	8b ce                	mov    %esi,%ecx
43a2d6:	ff 15 84 23 45 00    	call   *0x452384
43a2dc:	8b cf                	mov    %edi,%ecx
43a2de:	ff d6                	call   *%esi
43a2e0:	8b f0                	mov    %eax,%esi
43a2e2:	53                   	push   %ebx
43a2e3:	56                   	push   %esi
43a2e4:	6a 00                	push   $0x0
43a2e6:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
43a2ec:	8b cf                	mov    %edi,%ecx
43a2ee:	e8 ed e7 ff ff       	call   0x438ae0
43a2f3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a2f6:	8b c6                	mov    %esi,%eax
43a2f8:	5f                   	pop    %edi
43a2f9:	5e                   	pop    %esi
43a2fa:	33 cd                	xor    %ebp,%ecx
43a2fc:	5b                   	pop    %ebx
43a2fd:	e8 4e 2c 01 00       	call   0x44cf50
43a302:	8b e5                	mov    %ebp,%esp
43a304:	5d                   	pop    %ebp
43a305:	c2 04 00             	ret    $0x4
43a308:	cc                   	int3
43a309:	cc                   	int3
43a30a:	cc                   	int3
43a30b:	cc                   	int3
43a30c:	cc                   	int3
43a30d:	cc                   	int3
43a30e:	cc                   	int3
43a30f:	cc                   	int3
43a310:	8b ff                	mov    %edi,%edi
43a312:	55                   	push   %ebp
43a313:	8b ec                	mov    %esp,%ebp
43a315:	81 ec 10 02 00 00    	sub    $0x210,%esp
43a31b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a320:	33 c5                	xor    %ebp,%eax
43a322:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a325:	53                   	push   %ebx
43a326:	56                   	push   %esi
43a327:	57                   	push   %edi
43a328:	8b f9                	mov    %ecx,%edi
43a32a:	8d 95 f4 fd ff ff    	lea    -0x20c(%ebp),%edx
43a330:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a333:	33 db                	xor    %ebx,%ebx
43a335:	52                   	push   %edx
43a336:	89 8d f0 fd ff ff    	mov    %ecx,-0x210(%ebp)
43a33c:	8b 07                	mov    (%edi),%eax
43a33e:	51                   	push   %ecx
43a33f:	8b 70 1c             	mov    0x1c(%eax),%esi
43a342:	8b ce                	mov    %esi,%ecx
43a344:	ff 15 84 23 45 00    	call   *0x452384
43a34a:	8b cf                	mov    %edi,%ecx
43a34c:	ff d6                	call   *%esi
43a34e:	8b f0                	mov    %eax,%esi
43a350:	85 f6                	test   %esi,%esi
43a352:	78 2d                	js     0x43a381
43a354:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
43a35a:	50                   	push   %eax
43a35b:	ff 15 ac 20 45 00    	call   *0x4520ac
43a361:	85 c0                	test   %eax,%eax
43a363:	75 1c                	jne    0x43a381
43a365:	ff 15 6c 20 45 00    	call   *0x45206c
43a36b:	8b 0f                	mov    (%edi),%ecx
43a36d:	8b d8                	mov    %eax,%ebx
43a36f:	53                   	push   %ebx
43a370:	8b 71 10             	mov    0x10(%ecx),%esi
43a373:	8b ce                	mov    %esi,%ecx
43a375:	ff 15 84 23 45 00    	call   *0x452384
43a37b:	8b cf                	mov    %edi,%ecx
43a37d:	ff d6                	call   *%esi
43a37f:	8b f0                	mov    %eax,%esi
43a381:	81 fe ed f8 ff ff    	cmp    $0xfffff8ed,%esi
43a387:	75 41                	jne    0x43a3ca
43a389:	e8 62 39 00 00       	call   0x43dcf0
43a38e:	83 c0 10             	add    $0x10,%eax
43a391:	74 0a                	je     0x43a39d
43a393:	e8 58 39 00 00       	call   0x43dcf0
43a398:	83 c0 14             	add    $0x14,%eax
43a39b:	eb 02                	jmp    0x43a39f
43a39d:	33 c0                	xor    %eax,%eax
43a39f:	81 3d 30 1a 45 00 01 	cmpl   $0xfffffc01,0x451a30
43a3a6:	fc ff ff
43a3a9:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43a3af:	c7 40 04 b9 05 00 00 	movl   $0x5b9,0x4(%eax)
43a3b6:	c7 40 08 01 fc ff ff 	movl   $0xfffffc01,0x8(%eax)
43a3bd:	75 06                	jne    0x43a3c5
43a3bf:	ff 15 58 20 45 00    	call   *0x452058
43a3c5:	be 01 fc ff ff       	mov    $0xfffffc01,%esi
43a3ca:	53                   	push   %ebx
43a3cb:	56                   	push   %esi
43a3cc:	51                   	push   %ecx
43a3cd:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
43a3d3:	8b cf                	mov    %edi,%ecx
43a3d5:	e8 56 e8 ff ff       	call   0x438c30
43a3da:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a3dd:	8b c6                	mov    %esi,%eax
43a3df:	5f                   	pop    %edi
43a3e0:	5e                   	pop    %esi
43a3e1:	33 cd                	xor    %ebp,%ecx
43a3e3:	5b                   	pop    %ebx
43a3e4:	e8 67 2b 01 00       	call   0x44cf50
43a3e9:	8b e5                	mov    %ebp,%esp
43a3eb:	5d                   	pop    %ebp
43a3ec:	c2 04 00             	ret    $0x4
43a3ef:	cc                   	int3
43a3f0:	8b ff                	mov    %edi,%edi
43a3f2:	55                   	push   %ebp
43a3f3:	8b ec                	mov    %esp,%ebp
43a3f5:	81 ec 14 02 00 00    	sub    $0x214,%esp
43a3fb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a400:	33 c5                	xor    %ebp,%eax
43a402:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a405:	8b 45 0c             	mov    0xc(%ebp),%eax
43a408:	8b 55 08             	mov    0x8(%ebp),%edx
43a40b:	53                   	push   %ebx
43a40c:	8b d9                	mov    %ecx,%ebx
43a40e:	89 85 f0 fd ff ff    	mov    %eax,-0x210(%ebp)
43a414:	56                   	push   %esi
43a415:	57                   	push   %edi
43a416:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
43a41c:	89 9d ec fd ff ff    	mov    %ebx,-0x214(%ebp)
43a422:	8b 03                	mov    (%ebx),%eax
43a424:	51                   	push   %ecx
43a425:	52                   	push   %edx
43a426:	8b 70 1c             	mov    0x1c(%eax),%esi
43a429:	8b ce                	mov    %esi,%ecx
43a42b:	ff 15 84 23 45 00    	call   *0x452384
43a431:	8b cb                	mov    %ebx,%ecx
43a433:	ff d6                	call   *%esi
43a435:	8b d8                	mov    %eax,%ebx
43a437:	85 db                	test   %ebx,%ebx
43a439:	0f 88 de 00 00 00    	js     0x43a51d
43a43f:	68 48 06 00 00       	push   $0x648
43a444:	6a 00                	push   $0x0
43a446:	ff 35 00 12 45 00    	push   0x451200
43a44c:	ff 15 24 21 45 00    	call   *0x452124
43a452:	8b f8                	mov    %eax,%edi
43a454:	85 ff                	test   %edi,%edi
43a456:	0f 84 80 00 00 00    	je     0x43a4dc
43a45c:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
43a462:	c7 07 bc 11 40 00    	movl   $0x4011bc,(%edi)
43a468:	50                   	push   %eax
43a469:	ff b5 ec fd ff ff    	push   -0x214(%ebp)
43a46f:	8b cf                	mov    %edi,%ecx
43a471:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
43a478:	c7 87 18 04 00 00 01 	movl   $0x1,0x418(%edi)
43a47f:	00 00 00
43a482:	c7 87 1c 04 00 00 ed 	movl   $0xfffff8ed,0x41c(%edi)
43a489:	f8 ff ff
43a48c:	c7 87 20 04 00 00 ff 	movl   $0xffffffff,0x420(%edi)
43a493:	ff ff ff
43a496:	c7 87 24 04 00 00 ed 	movl   $0xfffff8ed,0x424(%edi)
43a49d:	f8 ff ff
43a4a0:	e8 7b 1e 00 00       	call   0x43c320
43a4a5:	8b d8                	mov    %eax,%ebx
43a4a7:	85 db                	test   %ebx,%ebx
43a4a9:	78 1d                	js     0x43a4c8
43a4ab:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
43a4b1:	89 38                	mov    %edi,(%eax)
43a4b3:	33 c0                	xor    %eax,%eax
43a4b5:	5f                   	pop    %edi
43a4b6:	5e                   	pop    %esi
43a4b7:	5b                   	pop    %ebx
43a4b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a4bb:	33 cd                	xor    %ebp,%ecx
43a4bd:	e8 8e 2a 01 00       	call   0x44cf50
43a4c2:	8b e5                	mov    %ebp,%esp
43a4c4:	5d                   	pop    %ebp
43a4c5:	c2 08 00             	ret    $0x8
43a4c8:	8b 07                	mov    (%edi),%eax
43a4ca:	6a 01                	push   $0x1
43a4cc:	8b 30                	mov    (%eax),%esi
43a4ce:	8b ce                	mov    %esi,%ecx
43a4d0:	ff 15 84 23 45 00    	call   *0x452384
43a4d6:	8b cf                	mov    %edi,%ecx
43a4d8:	ff d6                	call   *%esi
43a4da:	eb 41                	jmp    0x43a51d
43a4dc:	e8 0f 38 00 00       	call   0x43dcf0
43a4e1:	83 c0 10             	add    $0x10,%eax
43a4e4:	74 0a                	je     0x43a4f0
43a4e6:	e8 05 38 00 00       	call   0x43dcf0
43a4eb:	83 c0 14             	add    $0x14,%eax
43a4ee:	eb 02                	jmp    0x43a4f2
43a4f0:	33 c0                	xor    %eax,%eax
43a4f2:	81 3d 30 1a 45 00 0d 	cmpl   $0xfffffc0d,0x451a30
43a4f9:	fc ff ff
43a4fc:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
43a502:	c7 40 04 cc 05 00 00 	movl   $0x5cc,0x4(%eax)
43a509:	c7 40 08 0d fc ff ff 	movl   $0xfffffc0d,0x8(%eax)
43a510:	75 06                	jne    0x43a518
43a512:	ff 15 58 20 45 00    	call   *0x452058
43a518:	bb 0d fc ff ff       	mov    $0xfffffc0d,%ebx
43a51d:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
43a523:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a526:	5f                   	pop    %edi
43a527:	5e                   	pop    %esi
43a528:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
43a52e:	33 cd                	xor    %ebp,%ecx
43a530:	8b c3                	mov    %ebx,%eax
43a532:	5b                   	pop    %ebx
43a533:	e8 18 2a 01 00       	call   0x44cf50
43a538:	8b e5                	mov    %ebp,%esp
43a53a:	5d                   	pop    %ebp
43a53b:	c2 08 00             	ret    $0x8
43a53e:	cc                   	int3
43a53f:	cc                   	int3
43a540:	8b ff                	mov    %edi,%edi
43a542:	55                   	push   %ebp
43a543:	8b ec                	mov    %esp,%ebp
43a545:	83 e4 f8             	and    $0xfffffff8,%esp
43a548:	81 ec 24 02 00 00    	sub    $0x224,%esp
43a54e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a553:	33 c4                	xor    %esp,%eax
43a555:	89 84 24 20 02 00 00 	mov    %eax,0x220(%esp)
43a55c:	53                   	push   %ebx
43a55d:	8b d9                	mov    %ecx,%ebx
43a55f:	8d 54 24 18          	lea    0x18(%esp),%edx
43a563:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a566:	56                   	push   %esi
43a567:	57                   	push   %edi
43a568:	8b 03                	mov    (%ebx),%eax
43a56a:	33 ff                	xor    %edi,%edi
43a56c:	52                   	push   %edx
43a56d:	89 4c 24 20          	mov    %ecx,0x20(%esp)
43a571:	51                   	push   %ecx
43a572:	8b 70 1c             	mov    0x1c(%eax),%esi