41f827:	51                   	push   %ecx
41f828:	68 e4 f8 40 00       	push   $0x40f8e4
41f82d:	8b 40 04             	mov    0x4(%eax),%eax
41f830:	68 c5 54 00 00       	push   $0x54c5
41f835:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
41f83b:	50                   	push   %eax
41f83c:	8b 30                	mov    (%eax),%esi
41f83e:	8b 4e 20             	mov    0x20(%esi),%ecx
41f841:	ff 15 2c 81 4a 00    	call   *0x4a812c
41f847:	ff 56 20             	call   *0x20(%esi)
41f84a:	ff 15 58 75 4a 00    	call   *0x4a7558
41f850:	be b8 f7 40 00       	mov    $0x40f7b8,%esi
41f855:	56                   	push   %esi
41f856:	8b 48 04             	mov    0x4(%eax),%ecx
41f859:	51                   	push   %ecx
41f85a:	68 c6 54 00 00       	push   $0x54c6
41f85f:	e8 51 21 03 00       	call   0x4519b5
41f864:	ff 15 58 75 4a 00    	call   *0x4a7558
41f86a:	56                   	push   %esi
41f86b:	8b 48 04             	mov    0x4(%eax),%ecx
41f86e:	51                   	push   %ecx
41f86f:	68 c7 54 00 00       	push   $0x54c7
41f874:	e8 3c 21 03 00       	call   0x4519b5
41f879:	33 f6                	xor    %esi,%esi
41f87b:	46                   	inc    %esi
41f87c:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
41f880:	75 76                	jne    0x41f8f8
41f882:	89 73 2c             	mov    %esi,0x2c(%ebx)
41f885:	eb 71                	jmp    0x41f8f8
41f887:	ff 75 e4             	push   -0x1c(%ebp)
41f88a:	ff 15 5c 72 4a 00    	call   *0x4a725c
41f890:	8b 45 dc             	mov    -0x24(%ebp),%eax
41f893:	85 c0                	test   %eax,%eax
41f895:	74 07                	je     0x41f89e
41f897:	50                   	push   %eax
41f898:	ff 15 60 71 4a 00    	call   *0x4a7160
41f89e:	8b 45 d8             	mov    -0x28(%ebp),%eax
41f8a1:	85 c0                	test   %eax,%eax
41f8a3:	74 07                	je     0x41f8ac
41f8a5:	50                   	push   %eax
41f8a6:	ff 15 60 71 4a 00    	call   *0x4a7160
41f8ac:	8b 5d ec             	mov    -0x14(%ebp),%ebx
41f8af:	85 db                	test   %ebx,%ebx
41f8b1:	0f 84 c7 fc ff ff    	je     0x41f57e
41f8b7:	8b 03                	mov    (%ebx),%eax
41f8b9:	56                   	push   %esi
41f8ba:	8b 70 04             	mov    0x4(%eax),%esi
41f8bd:	8b ce                	mov    %esi,%ecx
41f8bf:	ff 15 2c 81 4a 00    	call   *0x4a812c
41f8c5:	8b cb                	mov    %ebx,%ecx
41f8c7:	ff d6                	call   *%esi
41f8c9:	33 f6                	xor    %esi,%esi
41f8cb:	46                   	inc    %esi
41f8cc:	e9 ad fc ff ff       	jmp    0x41f57e
41f8d1:	8b 43 08             	mov    0x8(%ebx),%eax
41f8d4:	89 45 d0             	mov    %eax,-0x30(%ebp)
41f8d7:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8da:	eb 09                	jmp    0x41f8e5
41f8dc:	8b 45 0c             	mov    0xc(%ebp),%eax
41f8df:	89 45 d0             	mov    %eax,-0x30(%ebp)
41f8e2:	8b 43 0c             	mov    0xc(%ebx),%eax
41f8e5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41f8e8:	8d 45 d0             	lea    -0x30(%ebp),%eax
41f8eb:	50                   	push   %eax
41f8ec:	51                   	push   %ecx
41f8ed:	8b cb                	mov    %ebx,%ecx
41f8ef:	e8 13 00 00 00       	call   0x41f907
41f8f4:	8b f8                	mov    %eax,%edi
41f8f6:	8b f7                	mov    %edi,%esi
41f8f8:	e8 a9 02 00 00       	call   0x41fba6
41f8fd:	8b c6                	mov    %esi,%eax
41f8ff:	e8 9d 0b 07 00       	call   0x4904a1
41f904:	c2 0c 00             	ret    $0xc
41f907:	6a 14                	push   $0x14
41f909:	b8 c2 17 49 00       	mov    $0x4917c2,%eax
41f90e:	e8 c0 0b 07 00       	call   0x4904d3
41f913:	8b f1                	mov    %ecx,%esi
41f915:	a1 08 01 4a 00       	mov    0x4a0108,%eax
41f91a:	33 db                	xor    %ebx,%ebx
41f91c:	43                   	inc    %ebx
41f91d:	81 78 40 59 02 00 00 	cmpl   $0x259,0x40(%eax)
41f924:	74 09                	je     0x41f92f
41f926:	81 78 40 5a 02 00 00 	cmpl   $0x25a,0x40(%eax)
41f92d:	75 0e                	jne    0x41f93d
41f92f:	8b cb                	mov    %ebx,%ecx
41f931:	e8 d2 ee 00 00       	call   0x42e808
41f936:	83 25 30 49 4a 00 00 	andl   $0x0,0x4a4930
41f93d:	8b 7d 0c             	mov    0xc(%ebp),%edi
41f940:	8b 46 04             	mov    0x4(%esi),%eax
41f943:	8b 17                	mov    (%edi),%edx
41f945:	3b 50 2c             	cmp    0x2c(%eax),%edx
41f948:	75 0f                	jne    0x41f959
41f94a:	8b 4f 04             	mov    0x4(%edi),%ecx
41f94d:	3b 48 30             	cmp    0x30(%eax),%ecx
41f950:	75 07                	jne    0x41f959
41f952:	8b c3                	mov    %ebx,%eax
41f954:	e9 13 01 00 00       	jmp    0x41fa6c
41f959:	3b d3                	cmp    %ebx,%edx
41f95b:	0f 8c f8 00 00 00    	jl     0x41fa59
41f961:	39 5f 04             	cmp    %ebx,0x4(%edi)
41f964:	0f 8c ef 00 00 00    	jl     0x41fa59
41f96a:	ff 15 58 75 4a 00    	call   *0x4a7558
41f970:	8b 48 04             	mov    0x4(%eax),%ecx
41f973:	ff 15 a0 75 4a 00    	call   *0x4a75a0
41f979:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41f97d:	8b 4e 04             	mov    0x4(%esi),%ecx
41f980:	e8 9b e6 00 00       	call   0x42e020
41f985:	8b 4e 04             	mov    0x4(%esi),%ecx
41f988:	ff 77 04             	push   0x4(%edi)
41f98b:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
41f98f:	ff 37                	push   (%edi)
41f991:	8b 41 2c             	mov    0x2c(%ecx),%eax
41f994:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41f998:	89 45 e8             	mov    %eax,-0x18(%ebp)
41f99b:	8b 41 30             	mov    0x30(%ecx),%eax
41f99e:	89 45 ec             	mov    %eax,-0x14(%ebp)
41f9a1:	e8 af ef 00 00       	call   0x42e955
41f9a6:	85 c0                	test   %eax,%eax
41f9a8:	75 15                	jne    0x41f9bf
41f9aa:	53                   	push   %ebx
41f9ab:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
41f9b0:	e8 c4 e2 02 00       	call   0x44dc79
41f9b5:	e8 ec 01 00 00       	call   0x41fba6
41f9ba:	e9 ab 00 00 00       	jmp    0x41fa6a
41f9bf:	8d 45 e0             	lea    -0x20(%ebp),%eax
41f9c2:	8b ce                	mov    %esi,%ecx
41f9c4:	50                   	push   %eax
41f9c5:	e8 ad f8 ff ff       	call   0x41f277
41f9ca:	8b 4e 04             	mov    0x4(%esi),%ecx
41f9cd:	e8 a5 d3 00 00       	call   0x42cd77
41f9d2:	8b 4e 04             	mov    0x4(%esi),%ecx
41f9d5:	83 25 44 47 4a 00 00 	andl   $0x0,0x4a4744
41f9dc:	e8 99 d9 00 00       	call   0x42d37a
41f9e1:	83 3d c8 63 4a 00 00 	cmpl   $0x0,0x4a63c8
41f9e8:	74 25                	je     0x41fa0f
41f9ea:	83 3d cc 63 4a 00 00 	cmpl   $0x0,0x4a63cc
41f9f1:	75 1c                	jne    0x41fa0f
41f9f3:	ff 76 08             	push   0x8(%esi)
41f9f6:	68 5a 01 00 00       	push   $0x15a
41f9fb:	56                   	push   %esi
41f9fc:	e8 df a2 04 00       	call   0x469ce0
41fa01:	ff 76 0c             	push   0xc(%esi)
41fa04:	68 5b 01 00 00       	push   $0x15b
41fa09:	56                   	push   %esi
41fa0a:	e8 d1 a2 04 00       	call   0x469ce0
41fa0f:	8b 07                	mov    (%edi),%eax
41fa11:	8b 4e 08             	mov    0x8(%esi),%ecx
41fa14:	8b 5e 0c             	mov    0xc(%esi),%ebx
41fa17:	89 46 08             	mov    %eax,0x8(%esi)
41fa1a:	8b 57 04             	mov    0x4(%edi),%edx
41fa1d:	89 56 0c             	mov    %edx,0xc(%esi)
41fa20:	3b c1                	cmp    %ecx,%eax
41fa22:	74 0f                	je     0x41fa33
41fa24:	68 5a 01 00 00       	push   $0x15a
41fa29:	8b ce                	mov    %esi,%ecx
41fa2b:	e8 6b e8 ff ff       	call   0x41e29b
41fa30:	8b 56 0c             	mov    0xc(%esi),%edx
41fa33:	3b d3                	cmp    %ebx,%edx
41fa35:	74 0c                	je     0x41fa43
41fa37:	68 5b 01 00 00       	push   $0x15b
41fa3c:	8b ce                	mov    %esi,%ecx
41fa3e:	e8 58 e8 ff ff       	call   0x41e29b
41fa43:	68 59 01 00 00       	push   $0x159
41fa48:	8b ce                	mov    %esi,%ecx
41fa4a:	e8 4c e8 ff ff       	call   0x41e29b
41fa4f:	e8 52 01 00 00       	call   0x41fba6
41fa54:	33 c0                	xor    %eax,%eax
41fa56:	40                   	inc    %eax
41fa57:	eb 13                	jmp    0x41fa6c
41fa59:	6a 30                	push   $0x30
41fa5b:	ba 00 e0 00 00       	mov    $0xe000,%edx
41fa60:	b9 fb 08 00 00       	mov    $0x8fb,%ecx
41fa65:	e8 3a 08 00 00       	call   0x4202a4
41fa6a:	33 c0                	xor    %eax,%eax
41fa6c:	e8 30 0a 07 00       	call   0x4904a1
41fa71:	c2 08 00             	ret    $0x8
41fa74:	8b ff                	mov    %edi,%edi
41fa76:	55                   	push   %ebp
41fa77:	8b ec                	mov    %esp,%ebp
41fa79:	83 e4 f8             	and    $0xfffffff8,%esp
41fa7c:	83 ec 0c             	sub    $0xc,%esp
41fa7f:	53                   	push   %ebx
41fa80:	8b d9                	mov    %ecx,%ebx
41fa82:	56                   	push   %esi
41fa83:	57                   	push   %edi
41fa84:	8b 7b 04             	mov    0x4(%ebx),%edi
41fa87:	89 7c 24 14          	mov    %edi,0x14(%esp)
41fa8b:	85 ff                	test   %edi,%edi
41fa8d:	0f 84 07 01 00 00    	je     0x41fb9a
41fa93:	33 f6                	xor    %esi,%esi
41fa95:	39 75 08             	cmp    %esi,0x8(%ebp)
41fa98:	74 4f                	je     0x41fae9
41fa9a:	39 73 30             	cmp    %esi,0x30(%ebx)
41fa9d:	74 0e                	je     0x41faad
41fa9f:	39 77 08             	cmp    %esi,0x8(%edi)
41faa2:	75 09                	jne    0x41faad
41faa4:	39 73 2c             	cmp    %esi,0x2c(%ebx)
41faa7:	0f 84 ed 00 00 00    	je     0x41fb9a
41faad:	8b 47 08             	mov    0x8(%edi),%eax
41fab0:	09 43 2c             	or     %eax,0x2c(%ebx)
41fab3:	8b 0d 30 49 4a 00    	mov    0x4a4930,%ecx
41fab9:	3b f9                	cmp    %ecx,%edi
41fabb:	75 10                	jne    0x41facd
41fabd:	33 d2                	xor    %edx,%edx
41fabf:	e8 18 d3 00 00       	call   0x42cddc
41fac4:	89 35 30 49 4a 00    	mov    %esi,0x4a4930
41faca:	8b 7b 04             	mov    0x4(%ebx),%edi
41facd:	2b 3d 44 47 4a 00    	sub    0x4a4744,%edi
41fad3:	f7 df                	neg    %edi
41fad5:	1b ff                	sbb    %edi,%edi
41fad7:	21 3d 44 47 4a 00    	and    %edi,0x4a4744
41fadd:	e8 c9 d7 00 00       	call   0x42d2ab
41fae2:	8b 7b 04             	mov    0x4(%ebx),%edi
41fae5:	89 7c 24 14          	mov    %edi,0x14(%esp)
41fae9:	89 74 24 10          	mov    %esi,0x10(%esp)
41faed:	39 73 24             	cmp    %esi,0x24(%ebx)
41faf0:	74 1f                	je     0x41fb11
41faf2:	8b 43 10             	mov    0x10(%ebx),%eax
41faf5:	83 e8 01             	sub    $0x1,%eax
41faf8:	74 0f                	je     0x41fb09
41fafa:	83 e8 01             	sub    $0x1,%eax
41fafd:	75 12                	jne    0x41fb11
41faff:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
41fb06:	00
41fb07:	eb 08                	jmp    0x41fb11
41fb09:	c7 44 24 10 02 00 00 	movl   $0x2,0x10(%esp)
41fb10:	00
41fb11:	8d 4b 10             	lea    0x10(%ebx),%ecx
41fb14:	e8 67 e5 ff ff       	call   0x41e080
41fb19:	8b 7f 14             	mov    0x14(%edi),%edi
41fb1c:	8b f0                	mov    %eax,%esi
41fb1e:	8b 44 24 14          	mov    0x14(%esp),%eax
41fb22:	ff 70 18             	push   0x18(%eax)
41fb25:	ff 70 0c             	push   0xc(%eax)
41fb28:	ff 15 68 71 4a 00    	call   *0x4a7168
41fb2e:	8b 43 04             	mov    0x4(%ebx),%eax
41fb31:	8b 54 24 10          	mov    0x10(%esp),%edx
41fb35:	ff 70 40             	push   0x40(%eax)
41fb38:	ff 70 3c             	push   0x3c(%eax)
41fb3b:	8d 44 24 1c          	lea    0x1c(%esp),%eax
41fb3f:	50                   	push   %eax
41fb40:	51                   	push   %ecx
41fb41:	ff 35 60 58 4a 00    	push   0x4a5860
41fb47:	8b cf                	mov    %edi,%ecx
41fb49:	56                   	push   %esi
41fb4a:	e8 30 db 00 00       	call   0x42d67f
41fb4f:	8b f0                	mov    %eax,%esi
41fb51:	8b 43 04             	mov    0x4(%ebx),%eax
41fb54:	ff 70 14             	push   0x14(%eax)
41fb57:	ff 70 0c             	push   0xc(%eax)
41fb5a:	ff 15 68 71 4a 00    	call   *0x4a7168
41fb60:	85 f6                	test   %esi,%esi
41fb62:	75 10                	jne    0x41fb74
41fb64:	6a 01                	push   $0x1
41fb66:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
41fb6b:	e8 09 e1 02 00       	call   0x44dc79
41fb70:	33 c0                	xor    %eax,%eax
41fb72:	eb 29                	jmp    0x41fb9d
41fb74:	33 ff                	xor    %edi,%edi
41fb76:	39 7b 30             	cmp    %edi,0x30(%ebx)
41fb79:	74 07                	je     0x41fb82
41fb7b:	8b cb                	mov    %ebx,%ecx
41fb7d:	e8 7c e7 ff ff       	call   0x41e2fe
41fb82:	8b 4c 24 14          	mov    0x14(%esp),%ecx
41fb86:	89 7b 34             	mov    %edi,0x34(%ebx)
41fb89:	89 73 30             	mov    %esi,0x30(%ebx)
41fb8c:	89 4b 38             	mov    %ecx,0x38(%ebx)
41fb8f:	39 7d 08             	cmp    %edi,0x8(%ebp)
41fb92:	74 06                	je     0x41fb9a
41fb94:	8b 4b 04             	mov    0x4(%ebx),%ecx
41fb97:	89 79 08             	mov    %edi,0x8(%ecx)
41fb9a:	33 c0                	xor    %eax,%eax
41fb9c:	40                   	inc    %eax
41fb9d:	5f                   	pop    %edi
41fb9e:	5e                   	pop    %esi
41fb9f:	5b                   	pop    %ebx
41fba0:	8b e5                	mov    %ebp,%esp
41fba2:	5d                   	pop    %ebp
41fba3:	c2 04 00             	ret    $0x4
41fba6:	8b ff                	mov    %edi,%edi
41fba8:	55                   	push   %ebp
41fba9:	8b ec                	mov    %esp,%ebp
41fbab:	6a ff                	push   $0xffffffff
41fbad:	68 e2 17 49 00       	push   $0x4917e2
41fbb2:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
41fbb8:	50                   	push   %eax
41fbb9:	83 ec 10             	sub    $0x10,%esp
41fbbc:	53                   	push   %ebx
41fbbd:	56                   	push   %esi
41fbbe:	57                   	push   %edi
41fbbf:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
41fbc4:	33 c5                	xor    %ebp,%eax
41fbc6:	50                   	push   %eax
41fbc7:	8d 45 f4             	lea    -0xc(%ebp),%eax
41fbca:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
41fbd0:	89 65 f0             	mov    %esp,-0x10(%ebp)
41fbd3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
41fbd6:	ff 15 38 74 4a 00    	call   *0x4a7438
41fbdc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41fbe0:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41fbe4:	ff 15 58 75 4a 00    	call   *0x4a7558
41fbea:	8b 48 04             	mov    0x4(%eax),%ecx
41fbed:	ff 15 a4 75 4a 00    	call   *0x4a75a4
41fbf3:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
41fbfa:	ff 15 3c 74 4a 00    	call   *0x4a743c
41fc00:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41fc03:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41fc0a:	59                   	pop    %ecx
41fc0b:	5f                   	pop    %edi
41fc0c:	5e                   	pop    %esi
41fc0d:	5b                   	pop    %ebx
41fc0e:	c9                   	leave
41fc0f:	c3                   	ret
41fc10:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41fc13:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41fc16:	85 c9                	test   %ecx,%ecx
41fc18:	74 06                	je     0x41fc20
41fc1a:	ff 15 24 75 4a 00    	call   *0x4a7524
41fc20:	b8 f3 fb 41 00       	mov    $0x41fbf3,%eax
41fc25:	c3                   	ret
41fc26:	8b ff                	mov    %edi,%edi
41fc28:	55                   	push   %ebp
41fc29:	8b ec                	mov    %esp,%ebp
41fc2b:	8b 45 18             	mov    0x18(%ebp),%eax
41fc2e:	85 c0                	test   %eax,%eax
41fc30:	74 03                	je     0x41fc35
41fc32:	8b 40 04             	mov    0x4(%eax),%eax
41fc35:	ff 75 24             	push   0x24(%ebp)
41fc38:	ff 75 20             	push   0x20(%ebp)
41fc3b:	ff 75 1c             	push   0x1c(%ebp)
41fc3e:	50                   	push   %eax
41fc3f:	ff 75 14             	push   0x14(%ebp)
41fc42:	ff 75 10             	push   0x10(%ebp)
41fc45:	ff 75 0c             	push   0xc(%ebp)
41fc48:	ff 75 08             	push   0x8(%ebp)
41fc4b:	ff 71 04             	push   0x4(%ecx)
41fc4e:	ff 15 7c 71 4a 00    	call   *0x4a717c
41fc54:	5d                   	pop    %ebp
41fc55:	c2 20 00             	ret    $0x20
41fc58:	8b ff                	mov    %edi,%edi
41fc5a:	55                   	push   %ebp
41fc5b:	8b ec                	mov    %esp,%ebp
41fc5d:	8b 45 08             	mov    0x8(%ebp),%eax
41fc60:	56                   	push   %esi
41fc61:	8b f1                	mov    %ecx,%esi
41fc63:	85 c0                	test   %eax,%eax
41fc65:	74 03                	je     0x41fc6a
41fc67:	8b 40 04             	mov    0x4(%eax),%eax
41fc6a:	50                   	push   %eax
41fc6b:	ff 15 74 71 4a 00    	call   *0x4a7174