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
43a799:	6a 00                	push   $0x0
43a79b:	6a 02                	push   $0x2
43a79d:	ff 15 20 22 45 00    	call   *0x452220
43a7a3:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
43a7a9:	8b ce                	mov    %esi,%ecx
43a7ab:	ff 15 84 23 45 00    	call   *0x452384
43a7b1:	ff d6                	call   *%esi
43a7b3:	e8 48 2c ff ff       	call   0x42d400
43a7b8:	2b c7                	sub    %edi,%eax
43a7ba:	85 c0                	test   %eax,%eax
43a7bc:	8b 44 24 24          	mov    0x24(%esp),%eax
43a7c0:	0f 8e 52 ff ff ff    	jle    0x43a718
43a7c6:	8b 7c 24 18          	mov    0x18(%esp),%edi
43a7ca:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43a7ce:	57                   	push   %edi
43a7cf:	53                   	push   %ebx
43a7d0:	ff 74 24 24          	push   0x24(%esp)
43a7d4:	ff 74 24 2c          	push   0x2c(%esp)
43a7d8:	e8 03 e3 ff ff       	call   0x438ae0
43a7dd:	8b 8c 24 3c 04 00 00 	mov    0x43c(%esp),%ecx
43a7e4:	8b c3                	mov    %ebx,%eax
43a7e6:	5f                   	pop    %edi
43a7e7:	5e                   	pop    %esi
43a7e8:	5b                   	pop    %ebx
43a7e9:	33 cc                	xor    %esp,%ecx
43a7eb:	e8 60 27 01 00       	call   0x44cf50
43a7f0:	8b e5                	mov    %ebp,%esp
43a7f2:	5d                   	pop    %ebp
43a7f3:	c2 0c 00             	ret    $0xc
43a7f6:	cc                   	int3
43a7f7:	cc                   	int3
43a7f8:	cc                   	int3
43a7f9:	cc                   	int3
43a7fa:	cc                   	int3
43a7fb:	cc                   	int3
43a7fc:	cc                   	int3
43a7fd:	cc                   	int3
43a7fe:	cc                   	int3
43a7ff:	cc                   	int3
43a800:	8b ff                	mov    %edi,%edi
43a802:	55                   	push   %ebp
43a803:	8b ec                	mov    %esp,%ebp
43a805:	83 e4 f8             	and    $0xfffffff8,%esp
43a808:	81 ec 5c 0e 00 00    	sub    $0xe5c,%esp
43a80e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a813:	33 c4                	xor    %esp,%eax
43a815:	89 84 24 58 0e 00 00 	mov    %eax,0xe58(%esp)
43a81c:	8b 45 0c             	mov    0xc(%ebp),%eax
43a81f:	8d 94 24 2c 04 00 00 	lea    0x42c(%esp),%edx
43a826:	53                   	push   %ebx
43a827:	8b d9                	mov    %ecx,%ebx
43a829:	89 44 24 18          	mov    %eax,0x18(%esp)
43a82d:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a830:	56                   	push   %esi
43a831:	57                   	push   %edi
43a832:	8b 03                	mov    (%ebx),%eax
43a834:	33 ff                	xor    %edi,%edi
43a836:	52                   	push   %edx
43a837:	89 4c 24 28          	mov    %ecx,0x28(%esp)
43a83b:	51                   	push   %ecx
43a83c:	8b 70 1c             	mov    0x1c(%eax),%esi
43a83f:	8b ce                	mov    %esi,%ecx
43a841:	89 7c 24 24          	mov    %edi,0x24(%esp)
43a845:	ff 15 84 23 45 00    	call   *0x452384
43a84b:	8b cb                	mov    %ebx,%ecx
43a84d:	ff d6                	call   *%esi
43a84f:	8b f0                	mov    %eax,%esi
43a851:	85 f6                	test   %esi,%esi
43a853:	0f 88 38 02 00 00    	js     0x43aa91
43a859:	8b 03                	mov    (%ebx),%eax
43a85b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
43a85f:	51                   	push   %ecx
43a860:	ff 74 24 24          	push   0x24(%esp)
43a864:	8b 70 1c             	mov    0x1c(%eax),%esi
43a867:	8b ce                	mov    %esi,%ecx
43a869:	ff 15 84 23 45 00    	call   *0x452384
43a86f:	8b cb                	mov    %ebx,%ecx
43a871:	ff d6                	call   *%esi
43a873:	8b f0                	mov    %eax,%esi
43a875:	85 f6                	test   %esi,%esi
43a877:	0f 88 14 02 00 00    	js     0x43aa91
43a87d:	8b 7c 24 24          	mov    0x24(%esp),%edi
43a881:	33 c0                	xor    %eax,%eax
43a883:	39 45 10             	cmp    %eax,0x10(%ebp)
43a886:	0f 94 c0             	sete   %al
43a889:	89 44 24 18          	mov    %eax,0x18(%esp)
43a88d:	8d 49 00             	lea    0x0(%ecx),%ecx
43a890:	50                   	push   %eax
43a891:	33 f6                	xor    %esi,%esi
43a893:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43a897:	56                   	push   %esi
43a898:	56                   	push   %esi
43a899:	56                   	push   %esi
43a89a:	50                   	push   %eax
43a89b:	8d 84 24 4c 04 00 00 	lea    0x44c(%esp),%eax
43a8a2:	89 74 24 28          	mov    %esi,0x28(%esp)
43a8a6:	50                   	push   %eax
43a8a7:	89 74 24 28          	mov    %esi,0x28(%esp)
43a8ab:	ff 15 00 21 45 00    	call   *0x452100
43a8b1:	85 c0                	test   %eax,%eax
43a8b3:	0f 85 91 00 00 00    	jne    0x43a94a
43a8b9:	ff 15 6c 20 45 00    	call   *0x45206c
43a8bf:	8b 0b                	mov    (%ebx),%ecx
43a8c1:	50                   	push   %eax
43a8c2:	89 44 24 14          	mov    %eax,0x14(%esp)
43a8c6:	8b 71 10             	mov    0x10(%ecx),%esi
43a8c9:	8b ce                	mov    %esi,%ecx
43a8cb:	ff 15 84 23 45 00    	call   *0x452384
43a8d1:	8b cb                	mov    %ebx,%ecx
43a8d3:	ff d6                	call   *%esi
43a8d5:	8b f0                	mov    %eax,%esi
43a8d7:	89 74 24 14          	mov    %esi,0x14(%esp)
43a8db:	81 fe f8 fb ff ff    	cmp    $0xfffffbf8,%esi
43a8e1:	75 67                	jne    0x43a94a
43a8e3:	83 3d 7c 12 45 00 00 	cmpl   $0x0,0x45127c
43a8ea:	74 5e                	je     0x43a94a
43a8ec:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
43a8f1:	75 15                	jne    0x43a908
43a8f3:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
43a8fa:	00
43a8fb:	e8 00 2b ff ff       	call   0x42d400
43a900:	8b f8                	mov    %eax,%edi
43a902:	03 3d 7c 12 45 00    	add    0x45127c,%edi
43a908:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
43a90e:	8b ce                	mov    %esi,%ecx
43a910:	ff 15 84 23 45 00    	call   *0x452384
43a916:	ff d6                	call   *%esi
43a918:	6a 00                	push   $0x0
43a91a:	6a 02                	push   $0x2
43a91c:	ff 15 20 22 45 00    	call   *0x452220
43a922:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
43a928:	8b ce                	mov    %esi,%ecx
43a92a:	ff 15 84 23 45 00    	call   *0x452384
43a930:	ff d6                	call   *%esi
43a932:	e8 c9 2a ff ff       	call   0x42d400
43a937:	2b c7                	sub    %edi,%eax
43a939:	85 c0                	test   %eax,%eax
43a93b:	0f 8f 48 01 00 00    	jg     0x43aa89
43a941:	8b 44 24 18          	mov    0x18(%esp),%eax
43a945:	e9 46 ff ff ff       	jmp    0x43a890
43a94a:	85 f6                	test   %esi,%esi
43a94c:	0f 88 3b 01 00 00    	js     0x43aa8d
43a952:	8b 03                	mov    (%ebx),%eax
43a954:	8d 8c 24 30 02 00 00 	lea    0x230(%esp),%ecx
43a95b:	51                   	push   %ecx
43a95c:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
43a960:	51                   	push   %ecx
43a961:	8b 70 1c             	mov    0x1c(%eax),%esi
43a964:	8b ce                	mov    %esi,%ecx
43a966:	ff 15 84 23 45 00    	call   *0x452384
43a96c:	8b cb                	mov    %ebx,%ecx
43a96e:	ff d6                	call   *%esi
43a970:	85 c0                	test   %eax,%eax
43a972:	0f 88 11 01 00 00    	js     0x43aa89
43a978:	8b 33                	mov    (%ebx),%esi
43a97a:	8d 84 24 50 0a 00 00 	lea    0xa50(%esp),%eax
43a981:	50                   	push   %eax
43a982:	8d 84 24 5c 0c 00 00 	lea    0xc5c(%esp),%eax
43a989:	50                   	push   %eax
43a98a:	8b 76 20             	mov    0x20(%esi),%esi
43a98d:	8d 84 24 48 06 00 00 	lea    0x648(%esp),%eax
43a994:	50                   	push   %eax
43a995:	8d 84 24 3c 02 00 00 	lea    0x23c(%esp),%eax
43a99c:	8b ce                	mov    %esi,%ecx
43a99e:	50                   	push   %eax
43a99f:	ff 15 84 23 45 00    	call   *0x452384
43a9a5:	8b cb                	mov    %ebx,%ecx
43a9a7:	ff d6                	call   *%esi
43a9a9:	85 c0                	test   %eax,%eax
43a9ab:	0f 88 d8 00 00 00    	js     0x43aa89
43a9b1:	8b 33                	mov    (%ebx),%esi
43a9b3:	8d 84 24 48 08 00 00 	lea    0x848(%esp),%eax
43a9ba:	68 08 02 00 00       	push   $0x208
43a9bf:	50                   	push   %eax
43a9c0:	68 ec 28 41 00       	push   $0x4128ec