43f7fa:	e8 5f fd fd ff       	call   0x41f55e
43f7ff:	59                   	pop    %ecx
43f800:	8b c6                	mov    %esi,%eax
43f802:	5e                   	pop    %esi
43f803:	c2 04 00             	ret    $0x4
43f806:	55                   	push   %ebp
43f807:	8b ec                	mov    %esp,%ebp
43f809:	8b 45 08             	mov    0x8(%ebp),%eax
43f80c:	83 c0 24             	add    $0x24,%eax
43f80f:	50                   	push   %eax
43f810:	ff 15 34 d3 48 00    	call   *0x48d334
43f816:	5d                   	pop    %ebp
43f817:	c2 04 00             	ret    $0x4
43f81a:	55                   	push   %ebp
43f81b:	8b ec                	mov    %esp,%ebp
43f81d:	83 e4 f8             	and    $0xfffffff8,%esp
43f820:	81 ec 94 00 00 00    	sub    $0x94,%esp
43f826:	53                   	push   %ebx
43f827:	56                   	push   %esi
43f828:	57                   	push   %edi
43f829:	8b f9                	mov    %ecx,%edi
43f82b:	8d 4c 24 70          	lea    0x70(%esp),%ecx
43f82f:	8b 47 28             	mov    0x28(%edi),%eax
43f832:	89 44 24 70          	mov    %eax,0x70(%esp)
43f836:	8b 47 2c             	mov    0x2c(%edi),%eax
43f839:	89 44 24 74          	mov    %eax,0x74(%esp)
43f83d:	8b 47 30             	mov    0x30(%edi),%eax
43f840:	89 44 24 78          	mov    %eax,0x78(%esp)
43f844:	8b 47 34             	mov    0x34(%edi),%eax
43f847:	89 44 24 7c          	mov    %eax,0x7c(%esp)
43f84b:	ff 00                	incl   (%eax)
43f84d:	8d 45 0c             	lea    0xc(%ebp),%eax
43f850:	50                   	push   %eax
43f851:	89 7c 24 40          	mov    %edi,0x40(%esp)
43f855:	e8 b3 58 fc ff       	call   0x40510d
43f85a:	8b 45 08             	mov    0x8(%ebp),%eax
43f85d:	ff 74 24 70          	push   0x70(%esp)
43f861:	8b 40 08             	mov    0x8(%eax),%eax
43f864:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
43f868:	89 44 24 18          	mov    %eax,0x18(%esp)
43f86c:	e8 a8 d5 fc ff       	call   0x40ce19
43f871:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43f874:	8d 44 24 58          	lea    0x58(%esp),%eax
43f878:	50                   	push   %eax
43f879:	e8 2c 24 fc ff       	call   0x401caa
43f87e:	8b f0                	mov    %eax,%esi
43f880:	8d 4c 24 58          	lea    0x58(%esp),%ecx
43f884:	89 74 24 30          	mov    %esi,0x30(%esp)
43f888:	e8 aa d2 fc ff       	call   0x40cb37
43f88d:	33 db                	xor    %ebx,%ebx
43f88f:	85 f6                	test   %esi,%esi
43f891:	0f 84 a6 05 00 00    	je     0x43fe3d
43f897:	38 5e 20             	cmp    %bl,0x20(%esi)
43f89a:	0f 84 61 04 00 00    	je     0x43fd01
43f8a0:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43f8a3:	8b 46 10             	mov    0x10(%esi),%eax
43f8a6:	89 81 f4 00 00 00    	mov    %eax,0xf4(%ecx)
43f8ac:	ff 76 10             	push   0x10(%esi)
43f8af:	89 5c 24 38          	mov    %ebx,0x38(%esp)
43f8b3:	e8 90 65 fc ff       	call   0x405e48
43f8b8:	8b 54 24 14          	mov    0x14(%esp),%edx
43f8bc:	8b ca                	mov    %edx,%ecx
43f8be:	c1 e1 04             	shl    $0x4,%ecx
43f8c1:	89 44 24 0c          	mov    %eax,0xc(%esp)
43f8c5:	8b c3                	mov    %ebx,%eax
43f8c7:	6a 04                	push   $0x4
43f8c9:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
43f8cd:	c7 44 24 5c 50 dc 49 	movl   $0x49dc50,0x5c(%esp)
43f8d4:	00
43f8d5:	89 5c 24 60          	mov    %ebx,0x60(%esp)
43f8d9:	89 5c 24 64          	mov    %ebx,0x64(%esp)
43f8dd:	89 5c 24 68          	mov    %ebx,0x68(%esp)
43f8e1:	5e                   	pop    %esi
43f8e2:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43f8e6:	89 5c 24 28          	mov    %ebx,0x28(%esp)
43f8ea:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
43f8f1:	00
43f8f2:	c7 84 24 80 00 00 00 	movl   $0x49dc4c,0x80(%esp)
43f8f9:	4c dc 49 00
43f8fd:	89 9c 24 84 00 00 00 	mov    %ebx,0x84(%esp)
43f904:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
43f90b:	89 9c 24 8c 00 00 00 	mov    %ebx,0x8c(%esp)
43f912:	c7 44 24 40 04 dc 49 	movl   $0x49dc04,0x40(%esp)
43f919:	00
43f91a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43f91e:	89 44 24 44          	mov    %eax,0x44(%esp)
43f922:	89 5c 24 48          	mov    %ebx,0x48(%esp)
43f926:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
43f92a:	c7 44 24 68 47 00 00 	movl   $0x47,0x68(%esp)
43f931:	00
43f932:	c7 44 24 6c 48 00 00 	movl   $0x48,0x6c(%esp)
43f939:	00
43f93a:	c7 44 24 38 40 00 00 	movl   $0x40,0x38(%esp)
43f941:	00
43f942:	8b cb                	mov    %ebx,%ecx
43f944:	8b 44 24 30          	mov    0x30(%esp),%eax
43f948:	3b 48 14             	cmp    0x14(%eax),%ecx
43f94b:	7c 08                	jl     0x43f955
43f94d:	3b ca                	cmp    %edx,%ecx
43f94f:	0f 8d 13 01 00 00    	jge    0x43fa68
43f955:	88 5c 24 13          	mov    %bl,0x13(%esp)
43f959:	3b 48 14             	cmp    0x14(%eax),%ecx
43f95c:	0f 8d ba 00 00 00    	jge    0x43fa1c
43f962:	8b 44 24 0c          	mov    0xc(%esp),%eax
43f966:	8b 40 04             	mov    0x4(%eax),%eax
43f969:	8d 0c b0             	lea    (%eax,%esi,4),%ecx
43f96c:	eb 38                	jmp    0x43f9a6
43f96e:	8b 41 04             	mov    0x4(%ecx),%eax
43f971:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
43f976:	74 13                	je     0x43f98b
43f978:	8b 01                	mov    (%ecx),%eax
43f97a:	8b 79 04             	mov    0x4(%ecx),%edi
43f97d:	8b 00                	mov    (%eax),%eax
43f97f:	3b 07                	cmp    (%edi),%eax
43f981:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
43f985:	0f 84 29 03 00 00    	je     0x43fcb4
43f98b:	8b 01                	mov    (%ecx),%eax
43f98d:	83 38 24             	cmpl   $0x24,(%eax)
43f990:	75 07                	jne    0x43f999
43f992:	c6 44 24 13 01       	movb   $0x1,0x13(%esp)
43f997:	eb 09                	jmp    0x43f9a2
43f999:	83 38 1e             	cmpl   $0x1e,(%eax)
43f99c:	0f 85 12 03 00 00    	jne    0x43fcb4
43f9a2:	46                   	inc    %esi
43f9a3:	83 c1 04             	add    $0x4,%ecx
43f9a6:	8b 01                	mov    (%ecx),%eax
43f9a8:	66 39 58 08          	cmp    %bx,0x8(%eax)
43f9ac:	74 c0                	je     0x43f96e
43f9ae:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43f9b2:	46                   	inc    %esi
43f9b3:	8b 41 04             	mov    0x4(%ecx),%eax
43f9b6:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43f9b9:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
43f9be:	75 2b                	jne    0x43f9eb
43f9c0:	8b 7c 24 0c          	mov    0xc(%esp),%edi
43f9c4:	46                   	inc    %esi
43f9c5:	8b 47 04             	mov    0x4(%edi),%eax
43f9c8:	8b cb                	mov    %ebx,%ecx
43f9ca:	8d 3c b0             	lea    (%eax,%esi,4),%edi
43f9cd:	8b 07                	mov    (%edi),%eax
43f9cf:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43f9d3:	66 3b 44 24 68       	cmp    0x68(%esp),%ax
43f9d8:	75 03                	jne    0x43f9dd
43f9da:	41                   	inc    %ecx
43f9db:	eb 39                	jmp    0x43fa16
43f9dd:	66 3b 44 24 6c       	cmp    0x6c(%esp),%ax
43f9e2:	75 27                	jne    0x43fa0b
43f9e4:	49                   	dec    %ecx
43f9e5:	79 2f                	jns    0x43fa16
43f9e7:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
43f9eb:	39 54 24 34          	cmp    %edx,0x34(%esp)
43f9ef:	7d 2b                	jge    0x43fa1c
43f9f1:	8b 45 08             	mov    0x8(%ebp),%eax
43f9f4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43f9f8:	8b 00                	mov    (%eax),%eax
43f9fa:	83 c1 f0             	add    $0xfffffff0,%ecx
43f9fd:	03 c1                	add    %ecx,%eax
43f9ff:	50                   	push   %eax
43fa00:	8d 4c 24 24          	lea    0x24(%esp),%ecx
43fa04:	e8 bc a3 00 00       	call   0x449dc5
43fa09:	eb 26                	jmp    0x43fa31
43fa0b:	66 3b 44 24 38       	cmp    0x38(%esp),%ax
43fa10:	75 04                	jne    0x43fa16
43fa12:	85 c9                	test   %ecx,%ecx
43fa14:	74 d1                	je     0x43f9e7
43fa16:	46                   	inc    %esi
43fa17:	83 c7 04             	add    $0x4,%edi
43fa1a:	eb b1                	jmp    0x43f9cd
43fa1c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fa20:	e8 fb 31 fd ff       	call   0x412c20
43fa25:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43fa29:	c7 44 24 2c 01 00 00 	movl   $0x1,0x2c(%esp)
43fa30:	00
43fa31:	8d 44 24 13          	lea    0x13(%esp),%eax
43fa35:	50                   	push   %eax
43fa36:	8d 8c 24 84 00 00 00 	lea    0x84(%esp),%ecx
43fa3d:	e8 81 c9 fd ff       	call   0x41c3c3
43fa42:	8d 44 24 20          	lea    0x20(%esp),%eax
43fa46:	50                   	push   %eax
43fa47:	8d 4c 24 5c          	lea    0x5c(%esp),%ecx
43fa4b:	e8 86 c8 fd ff       	call   0x41c2d6
43fa50:	8b 4c 24 34          	mov    0x34(%esp),%ecx
43fa54:	83 6c 24 18 10       	subl   $0x10,0x18(%esp)
43fa59:	8b 54 24 14          	mov    0x14(%esp),%edx
43fa5d:	41                   	inc    %ecx
43fa5e:	89 4c 24 34          	mov    %ecx,0x34(%esp)
43fa62:	46                   	inc    %esi
43fa63:	e9 dc fe ff ff       	jmp    0x43f944
43fa68:	ff 70 10             	push   0x10(%eax)
43fa6b:	e8 dd 30 fc ff       	call   0x402b4d
43fa70:	8b 44 24 30          	mov    0x30(%esp),%eax
43fa74:	6a 04                	push   $0x4
43fa76:	83 78 14 01          	cmpl   $0x1,0x14(%eax)
43fa7a:	5e                   	pop    %esi
43fa7b:	c7 44 24 54 01 00 00 	movl   $0x1,0x54(%esp)
43fa82:	00
43fa83:	0f 8c 39 01 00 00    	jl     0x43fbc2
43fa89:	8b 44 24 5c          	mov    0x5c(%esp),%eax
43fa8d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43fa91:	8b 44 24 0c          	mov    0xc(%esp),%eax
43fa95:	89 5c 24 18          	mov    %ebx,0x18(%esp)
43fa99:	8b 50 04             	mov    0x4(%eax),%edx
43fa9c:	8d 0c b2             	lea    (%edx,%esi,4),%ecx
43fa9f:	eb 19                	jmp    0x43faba
43faa1:	8b 01                	mov    (%ecx),%eax
43faa3:	83 38 24             	cmpl   $0x24,(%eax)
43faa6:	74 0e                	je     0x43fab6
43faa8:	83 38 1e             	cmpl   $0x1e,(%eax)
43faab:	75 0d                	jne    0x43faba
43faad:	b8 00 01 00 00       	mov    $0x100,%eax
43fab2:	89 44 24 18          	mov    %eax,0x18(%esp)
43fab6:	46                   	inc    %esi
43fab7:	83 c1 04             	add    $0x4,%ecx
43faba:	8b 01                	mov    (%ecx),%eax
43fabc:	66 39 58 08          	cmp    %bx,0x8(%eax)
43fac0:	74 df                	je     0x43faa1
43fac2:	33 ff                	xor    %edi,%edi
43fac4:	47                   	inc    %edi
43fac5:	8b cb                	mov    %ebx,%ecx
43fac7:	8d 14 b2             	lea    (%edx,%esi,4),%edx
43faca:	83 c2 04             	add    $0x4,%edx
43facd:	8b 02                	mov    (%edx),%eax
43facf:	0f b7 40 08          	movzwl 0x8(%eax),%eax
43fad3:	66 3b 44 24 68       	cmp    0x68(%esp),%ax
43fad8:	75 03                	jne    0x43fadd
43fada:	41                   	inc    %ecx
43fadb:	eb 7b                	jmp    0x43fb58
43fadd:	66 3b 44 24 6c       	cmp    0x6c(%esp),%ax
43fae2:	75 69                	jne    0x43fb4d
43fae4:	49                   	dec    %ecx
43fae5:	79 71                	jns    0x43fb58
43fae7:	8b 44 24 34          	mov    0x34(%esp),%eax
43faeb:	89 7c 24 14          	mov    %edi,0x14(%esp)
43faef:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
43faf3:	39 44 24 54          	cmp    %eax,0x54(%esp)
43faf7:	7e 65                	jle    0x43fb5e
43faf9:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43fafc:	8d 46 02             	lea    0x2(%esi),%eax
43faff:	89 44 24 50          	mov    %eax,0x50(%esp)
43fb03:	8b 44 24 14          	mov    0x14(%esp),%eax
43fb07:	03 c6                	add    %esi,%eax
43fb09:	50                   	push   %eax
43fb0a:	8d 44 24 24          	lea    0x24(%esp),%eax
43fb0e:	50                   	push   %eax
43fb0f:	8d 44 24 58          	lea    0x58(%esp),%eax
43fb13:	50                   	push   %eax
43fb14:	ff 74 24 18          	push   0x18(%esp)
43fb18:	e8 13 03 fd ff       	call   0x40fe30
43fb1d:	85 c0                	test   %eax,%eax
43fb1f:	0f 88 ab 01 00 00    	js     0x43fcd0
43fb25:	8b 44 24 0c          	mov    0xc(%esp),%eax
43fb29:	8d 4c 24 40          	lea    0x40(%esp),%ecx
43fb2d:	8b 40 04             	mov    0x4(%eax),%eax
43fb30:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43fb33:	ff 30                	push   (%eax)
43fb35:	e8 95 69 fc ff       	call   0x4064cf
43fb3a:	8b 44 24 18          	mov    0x18(%esp),%eax
43fb3e:	6a 01                	push   $0x1
43fb40:	0d 00 02 00 00       	or     $0x200,%eax
43fb45:	50                   	push   %eax
43fb46:	8d 44 24 28          	lea    0x28(%esp),%eax
43fb4a:	50                   	push   %eax
43fb4b:	eb 38                	jmp    0x43fb85
43fb4d:	66 3b 44 24 38       	cmp    0x38(%esp),%ax
43fb52:	75 04                	jne    0x43fb58
43fb54:	85 c9                	test   %ecx,%ecx
43fb56:	74 8f                	je     0x43fae7
43fb58:	47                   	inc    %edi
43fb59:	e9 6c ff ff ff       	jmp    0x43faca
43fb5e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43fb62:	8b 41 04             	mov    0x4(%ecx),%eax
43fb65:	8d 4c 24 40          	lea    0x40(%esp),%ecx
43fb69:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43fb6c:	ff 30                	push   (%eax)
43fb6e:	e8 5c 69 fc ff       	call   0x4064cf
43fb73:	8b 44 24 18          	mov    0x18(%esp),%eax
43fb77:	6a 01                	push   $0x1
43fb79:	0d 00 02 00 00       	or     $0x200,%eax
43fb7e:	50                   	push   %eax
43fb7f:	8b 44 24 24          	mov    0x24(%esp),%eax
43fb83:	ff 30                	push   (%eax)
43fb85:	8b 44 24 18          	mov    0x18(%esp),%eax
43fb89:	8b 40 04             	mov    0x4(%eax),%eax
43fb8c:	8b 04 b0             	mov    (%eax,%esi,4),%eax
43fb8f:	ff 30                	push   (%eax)
43fb91:	e8 53 db fc ff       	call   0x40d6e9
43fb96:	8b 44 24 14          	mov    0x14(%esp),%eax
43fb9a:	8b 54 24 54          	mov    0x54(%esp),%edx
43fb9e:	83 44 24 1c 04       	addl   $0x4,0x1c(%esp)
43fba3:	40                   	inc    %eax
43fba4:	03 f0                	add    %eax,%esi
43fba6:	8b 44 24 30          	mov    0x30(%esp),%eax
43fbaa:	42                   	inc    %edx
43fbab:	89 54 24 54          	mov    %edx,0x54(%esp)
43fbaf:	3b 50 14             	cmp    0x14(%eax),%edx
43fbb2:	0f 8e d9 fe ff ff    	jle    0x43fa91
43fbb8:	8b 74 24 44          	mov    0x44(%esp),%esi
43fbbc:	89 74 24 1c          	mov    %esi,0x1c(%esp)
43fbc0:	eb 02                	jmp    0x43fbc4
43fbc2:	8b f3                	mov    %ebx,%esi
43fbc4:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43fbc8:	e8 53 30 fd ff       	call   0x412c20
43fbcd:	8d 47 40             	lea    0x40(%edi),%eax
43fbd0:	68 30 2f 4b 00       	push   $0x4b2f30
43fbd5:	8d 8c 24 94 00 00 00 	lea    0x94(%esp),%ecx
43fbdc:	c7 44 24 30 06 00 00 	movl   $0x6,0x30(%esp)
43fbe3:	00
43fbe4:	89 44 24 24          	mov    %eax,0x24(%esp)
43fbe8:	e8 2c d2 fc ff       	call   0x40ce19
43fbed:	8b 44 24 2c          	mov    0x2c(%esp),%eax
43fbf1:	83 e8 06             	sub    $0x6,%eax
43fbf4:	f7 d8                	neg    %eax
43fbf6:	1b c0                	sbb    %eax,%eax
43fbf8:	f7 d0                	not    %eax
43fbfa:	23 44 24 20          	and    0x20(%esp),%eax
43fbfe:	6a 01                	push   $0x1
43fc00:	53                   	push   %ebx
43fc01:	50                   	push   %eax
43fc02:	8d 84 24 9c 00 00 00 	lea    0x9c(%esp),%eax
43fc09:	50                   	push   %eax
43fc0a:	e8 da da fc ff       	call   0x40d6e9
43fc0f:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
43fc16:	e8 1c cf fc ff       	call   0x40cb37
43fc1b:	8b 44 24 30          	mov    0x30(%esp),%eax
43fc1f:	8b 4f 3c             	mov    0x3c(%edi),%ecx
43fc22:	8b 40 10             	mov    0x10(%eax),%eax
43fc25:	53                   	push   %ebx
43fc26:	53                   	push   %ebx
43fc27:	40                   	inc    %eax
43fc28:	50                   	push   %eax
43fc29:	e8 80 2e fc ff       	call   0x402aae
43fc2e:	8b 55 08             	mov    0x8(%ebp),%edx
43fc31:	8b 4a 08             	mov    0x8(%edx),%ecx
43fc34:	85 c9                	test   %ecx,%ecx
43fc36:	74 4b                	je     0x43fc83
43fc38:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
43fc3f:	2b c6                	sub    %esi,%eax
43fc41:	89 44 24 38          	mov    %eax,0x38(%esp)
43fc45:	8b 04 30             	mov    (%eax,%esi,1),%eax
43fc48:	80 38 00             	cmpb   $0x0,(%eax)
43fc4b:	74 21                	je     0x43fc6e
43fc4d:	2b cb                	sub    %ebx,%ecx
43fc4f:	83 ec 10             	sub    $0x10,%esp
43fc52:	8d 71 ff             	lea    -0x1(%ecx),%esi
43fc55:	c1 e6 04             	shl    $0x4,%esi
43fc58:	03 32                	add    (%edx),%esi
43fc5a:	8b fc                	mov    %esp,%edi
43fc5c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43fc5d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43fc5e:	a5                   	movsl  %ds:(%esi),%es:(%edi)