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
43a575:	8b ce                	mov    %esi,%ecx
43a577:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43a57b:	89 7c 24 18          	mov    %edi,0x18(%esp)
43a57f:	ff 15 84 23 45 00    	call   *0x452384
43a585:	8b cb                	mov    %ebx,%ecx
43a587:	ff d6                	call   *%esi
43a589:	8b d8                	mov    %eax,%ebx
43a58b:	85 db                	test   %ebx,%ebx
43a58d:	0f 88 a9 00 00 00    	js     0x43a63c
43a593:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
43a597:	8d 44 24 20          	lea    0x20(%esp),%eax
43a59b:	33 db                	xor    %ebx,%ebx
43a59d:	50                   	push   %eax
43a59e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
43a5a2:	ff 15 d4 20 45 00    	call   *0x4520d4
43a5a8:	85 c0                	test   %eax,%eax
43a5aa:	0f 85 88 00 00 00    	jne    0x43a638
43a5b0:	ff 15 6c 20 45 00    	call   *0x45206c
43a5b6:	8b 5c 24 18          	mov    0x18(%esp),%ebx
43a5ba:	50                   	push   %eax
43a5bb:	89 44 24 18          	mov    %eax,0x18(%esp)
43a5bf:	8b 0b                	mov    (%ebx),%ecx
43a5c1:	8b 71 10             	mov    0x10(%ecx),%esi
43a5c4:	8b ce                	mov    %esi,%ecx
43a5c6:	ff 15 84 23 45 00    	call   *0x452384
43a5cc:	8b cb                	mov    %ebx,%ecx
43a5ce:	ff d6                	call   *%esi
43a5d0:	8b d8                	mov    %eax,%ebx
43a5d2:	81 fb f8 fb ff ff    	cmp    $0xfffffbf8,%ebx
43a5d8:	75 5e                	jne    0x43a638
43a5da:	83 3d 7c 12 45 00 00 	cmpl   $0x0,0x45127c
43a5e1:	74 55                	je     0x43a638
43a5e3:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
43a5e8:	75 15                	jne    0x43a5ff
43a5ea:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
43a5f1:	00
43a5f2:	e8 09 2e ff ff       	call   0x42d400
43a5f7:	8b f8                	mov    %eax,%edi
43a5f9:	03 3d 7c 12 45 00    	add    0x45127c,%edi
43a5ff:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
43a605:	8b ce                	mov    %esi,%ecx
43a607:	ff 15 84 23 45 00    	call   *0x452384
43a60d:	ff d6                	call   *%esi
43a60f:	6a 00                	push   $0x0
43a611:	6a 02                	push   $0x2
43a613:	ff 15 20 22 45 00    	call   *0x452220
43a619:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
43a61f:	8b ce                	mov    %esi,%ecx
43a621:	ff 15 84 23 45 00    	call   *0x452384
43a627:	ff d6                	call   *%esi
43a629:	e8 d2 2d ff ff       	call   0x42d400
43a62e:	2b c7                	sub    %edi,%eax
43a630:	85 c0                	test   %eax,%eax
43a632:	0f 8e 5f ff ff ff    	jle    0x43a597
43a638:	8b 7c 24 14          	mov    0x14(%esp),%edi
43a63c:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43a640:	8d b3 13 07 00 00    	lea    0x713(%ebx),%esi
43a646:	f7 de                	neg    %esi
43a648:	57                   	push   %edi
43a649:	1b f6                	sbb    %esi,%esi
43a64b:	23 f3                	and    %ebx,%esi
43a64d:	56                   	push   %esi
43a64e:	6a 00                	push   $0x0
43a650:	ff 74 24 28          	push   0x28(%esp)
43a654:	e8 87 e4 ff ff       	call   0x438ae0
43a659:	8b 8c 24 2c 02 00 00 	mov    0x22c(%esp),%ecx
43a660:	8b c6                	mov    %esi,%eax
43a662:	5f                   	pop    %edi
43a663:	5e                   	pop    %esi
43a664:	5b                   	pop    %ebx
43a665:	33 cc                	xor    %esp,%ecx
43a667:	e8 e4 28 01 00       	call   0x44cf50
43a66c:	8b e5                	mov    %ebp,%esp
43a66e:	5d                   	pop    %ebp
43a66f:	c2 04 00             	ret    $0x4
43a672:	cc                   	int3
43a673:	cc                   	int3
43a674:	cc                   	int3
43a675:	cc                   	int3
43a676:	cc                   	int3
43a677:	cc                   	int3
43a678:	cc                   	int3
43a679:	cc                   	int3
43a67a:	cc                   	int3
43a67b:	cc                   	int3
43a67c:	cc                   	int3
43a67d:	cc                   	int3
43a67e:	cc                   	int3
43a67f:	cc                   	int3
43a680:	8b ff                	mov    %edi,%edi
43a682:	55                   	push   %ebp
43a683:	8b ec                	mov    %esp,%ebp
43a685:	83 e4 f8             	and    $0xfffffff8,%esp
43a688:	81 ec 34 04 00 00    	sub    $0x434,%esp
43a68e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a693:	33 c4                	xor    %esp,%eax
43a695:	89 84 24 30 04 00 00 	mov    %eax,0x430(%esp)
43a69c:	8b 45 0c             	mov    0xc(%ebp),%eax
43a69f:	8d 94 24 24 02 00 00 	lea    0x224(%esp),%edx
43a6a6:	53                   	push   %ebx
43a6a7:	8b d9                	mov    %ecx,%ebx
43a6a9:	89 44 24 14          	mov    %eax,0x14(%esp)
43a6ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a6b0:	56                   	push   %esi
43a6b1:	57                   	push   %edi
43a6b2:	8b 03                	mov    (%ebx),%eax
43a6b4:	33 ff                	xor    %edi,%edi
43a6b6:	52                   	push   %edx
43a6b7:	89 4c 24 24          	mov    %ecx,0x24(%esp)
43a6bb:	51                   	push   %ecx
43a6bc:	8b 70 1c             	mov    0x1c(%eax),%esi
43a6bf:	8b ce                	mov    %esi,%ecx
43a6c1:	89 5c 24 18          	mov    %ebx,0x18(%esp)
43a6c5:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
43a6c9:	ff 15 84 23 45 00    	call   *0x452384
43a6cf:	8b cb                	mov    %ebx,%ecx
43a6d1:	ff d6                	call   *%esi
43a6d3:	8b d8                	mov    %eax,%ebx
43a6d5:	85 db                	test   %ebx,%ebx
43a6d7:	0f 88 ed 00 00 00    	js     0x43a7ca
43a6dd:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43a6e1:	8d 4c 24 28          	lea    0x28(%esp),%ecx
43a6e5:	51                   	push   %ecx
43a6e6:	ff 74 24 20          	push   0x20(%esp)
43a6ea:	8b 03                	mov    (%ebx),%eax
43a6ec:	8b 70 1c             	mov    0x1c(%eax),%esi
43a6ef:	8b ce                	mov    %esi,%ecx
43a6f1:	ff 15 84 23 45 00    	call   *0x452384
43a6f7:	8b cb                	mov    %ebx,%ecx
43a6f9:	ff d6                	call   *%esi
43a6fb:	8b d8                	mov    %eax,%ebx
43a6fd:	85 db                	test   %ebx,%ebx
43a6ff:	0f 88 c5 00 00 00    	js     0x43a7ca
43a705:	8b 7c 24 20          	mov    0x20(%esp),%edi
43a709:	33 c0                	xor    %eax,%eax
43a70b:	39 45 10             	cmp    %eax,0x10(%ebp)
43a70e:	0f 95 c0             	setne  %al
43a711:	83 c0 0a             	add    $0xa,%eax
43a714:	89 44 24 24          	mov    %eax,0x24(%esp)
43a718:	50                   	push   %eax
43a719:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43a71d:	33 db                	xor    %ebx,%ebx
43a71f:	50                   	push   %eax
43a720:	8d 84 24 38 02 00 00 	lea    0x238(%esp),%eax
43a727:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43a72b:	50                   	push   %eax
43a72c:	ff 15 fc 20 45 00    	call   *0x4520fc
43a732:	85 c0                	test   %eax,%eax
43a734:	0f 85 8c 00 00 00    	jne    0x43a7c6
43a73a:	ff 15 6c 20 45 00    	call   *0x45206c
43a740:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43a744:	50                   	push   %eax
43a745:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43a749:	8b 0b                	mov    (%ebx),%ecx
43a74b:	8b 71 10             	mov    0x10(%ecx),%esi
43a74e:	8b ce                	mov    %esi,%ecx
43a750:	ff 15 84 23 45 00    	call   *0x452384
43a756:	8b cb                	mov    %ebx,%ecx
43a758:	ff d6                	call   *%esi
43a75a:	8b d8                	mov    %eax,%ebx
43a75c:	81 fb f8 fb ff ff    	cmp    $0xfffffbf8,%ebx
43a762:	75 62                	jne    0x43a7c6
43a764:	83 3d 7c 12 45 00 00 	cmpl   $0x0,0x45127c
43a76b:	74 59                	je     0x43a7c6
43a76d:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
43a772:	75 15                	jne    0x43a789
43a774:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
43a77b:	00
43a77c:	e8 7f 2c ff ff       	call   0x42d400
43a781:	8b f8                	mov    %eax,%edi
43a783:	03 3d 7c 12 45 00    	add    0x45127c,%edi
43a789:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
43a78f:	8b ce                	mov    %esi,%ecx
43a791:	ff 15 84 23 45 00    	call   *0x452384
43a797:	ff d6                	call   *%esi