41ab2c:	5f                   	pop    %edi
41ab2d:	5e                   	pop    %esi
41ab2e:	33 cd                	xor    %ebp,%ecx
41ab30:	5b                   	pop    %ebx
41ab31:	e8 00 33 01 00       	call   0x42de36
41ab36:	8b e5                	mov    %ebp,%esp
41ab38:	5d                   	pop    %ebp
41ab39:	c2 0c 00             	ret    $0xc
41ab3c:	55                   	push   %ebp
41ab3d:	8b ec                	mov    %esp,%ebp
41ab3f:	51                   	push   %ecx
41ab40:	51                   	push   %ecx
41ab41:	56                   	push   %esi
41ab42:	57                   	push   %edi
41ab43:	8b 7d 08             	mov    0x8(%ebp),%edi
41ab46:	33 f6                	xor    %esi,%esi
41ab48:	89 75 f8             	mov    %esi,-0x8(%ebp)
41ab4b:	89 75 fc             	mov    %esi,-0x4(%ebp)
41ab4e:	ff 77 04             	push   0x4(%edi)
41ab51:	ff 37                	push   (%edi)
41ab53:	ff 15 9c b1 44 00    	call   *0x44b19c
41ab59:	85 c0                	test   %eax,%eax
41ab5b:	75 3d                	jne    0x41ab9a
41ab5d:	ff 15 e8 b0 44 00    	call   *0x44b0e8
41ab63:	0f b7 f0             	movzwl %ax,%esi
41ab66:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ab6c:	85 c0                	test   %eax,%eax
41ab6e:	0f 4e f0             	cmovle %eax,%esi
41ab71:	b8 05 40 00 80       	mov    $0x80004005,%eax
41ab76:	85 f6                	test   %esi,%esi
41ab78:	0f 49 f0             	cmovns %eax,%esi
41ab7b:	56                   	push   %esi
41ab7c:	68 8a 04 00 00       	push   $0x48a
41ab81:	68 50 7a 45 00       	push   $0x457a50
41ab86:	e8 48 8c fe ff       	call   0x4037d3
41ab8b:	68 d0 89 45 00       	push   $0x4589d0
41ab90:	56                   	push   %esi
41ab91:	e8 99 55 02 00       	call   0x44012f
41ab96:	59                   	pop    %ecx
41ab97:	59                   	pop    %ecx
41ab98:	eb 45                	jmp    0x41abdf
41ab9a:	56                   	push   %esi
41ab9b:	56                   	push   %esi
41ab9c:	ff 15 b0 b3 44 00    	call   *0x44b3b0
41aba2:	8b f0                	mov    %eax,%esi
41aba4:	85 f6                	test   %esi,%esi
41aba6:	79 07                	jns    0x41abaf
41aba8:	68 38 b9 44 00       	push   $0x44b938
41abad:	eb e1                	jmp    0x41ab90
41abaf:	8d 45 f8             	lea    -0x8(%ebp),%eax
41abb2:	50                   	push   %eax
41abb3:	57                   	push   %edi
41abb4:	68 f4 c4 41 00       	push   $0x41c4f4
41abb9:	ff 77 04             	push   0x4(%edi)
41abbc:	e8 f2 a3 ff ff       	call   0x414fb3
41abc1:	8b f0                	mov    %eax,%esi
41abc3:	85 f6                	test   %esi,%esi
41abc5:	79 0f                	jns    0x41abd6
41abc7:	68 58 89 45 00       	push   $0x458958
41abcc:	56                   	push   %esi
41abcd:	e8 5d 55 02 00       	call   0x44012f
41abd2:	59                   	pop    %ecx
41abd3:	59                   	pop    %ecx
41abd4:	eb 03                	jmp    0x41abd9
41abd6:	8b 75 f8             	mov    -0x8(%ebp),%esi
41abd9:	ff 15 ac b3 44 00    	call   *0x44b3ac
41abdf:	5f                   	pop    %edi
41abe0:	8b c6                	mov    %esi,%eax
41abe2:	5e                   	pop    %esi
41abe3:	8b e5                	mov    %ebp,%esp
41abe5:	5d                   	pop    %ebp
41abe6:	c2 04 00             	ret    $0x4
41abe9:	55                   	push   %ebp
41abea:	8b ec                	mov    %esp,%ebp
41abec:	83 ec 0c             	sub    $0xc,%esp
41abef:	53                   	push   %ebx
41abf0:	56                   	push   %esi
41abf1:	8b 75 08             	mov    0x8(%ebp),%esi
41abf4:	8d 45 f8             	lea    -0x8(%ebp),%eax
41abf7:	57                   	push   %edi
41abf8:	33 db                	xor    %ebx,%ebx
41abfa:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
41ac01:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ac04:	8b fb                	mov    %ebx,%edi
41ac06:	ff 76 04             	push   0x4(%esi)
41ac09:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ac0c:	50                   	push   %eax
41ac0d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ac10:	50                   	push   %eax
41ac11:	e8 9c 4b 02 00       	call   0x43f7b2
41ac16:	85 c0                	test   %eax,%eax
41ac18:	79 0a                	jns    0x41ac24
41ac1a:	68 a4 96 45 00       	push   $0x4596a4
41ac1f:	e9 d6 00 00 00       	jmp    0x41acfa
41ac24:	8b 06                	mov    (%esi),%eax
41ac26:	83 e8 01             	sub    $0x1,%eax
41ac29:	74 78                	je     0x41aca3
41ac2b:	83 e8 01             	sub    $0x1,%eax
41ac2e:	74 54                	je     0x41ac84
41ac30:	83 e8 01             	sub    $0x1,%eax
41ac33:	0f 85 a3 00 00 00    	jne    0x41acdc
41ac39:	ff 76 08             	push   0x8(%esi)
41ac3c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ac3f:	50                   	push   %eax
41ac40:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ac43:	50                   	push   %eax
41ac44:	e8 69 4b 02 00       	call   0x43f7b2
41ac49:	85 c0                	test   %eax,%eax
41ac4b:	79 0a                	jns    0x41ac57
41ac4d:	68 54 97 45 00       	push   $0x459754
41ac52:	e9 a3 00 00 00       	jmp    0x41acfa
41ac57:	39 5e 08             	cmp    %ebx,0x8(%esi)
41ac5a:	76 1d                	jbe    0x41ac79
41ac5c:	8b 46 0c             	mov    0xc(%esi),%eax
41ac5f:	ff 34 b8             	push   (%eax,%edi,4)
41ac62:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ac65:	50                   	push   %eax
41ac66:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ac69:	50                   	push   %eax
41ac6a:	e8 71 4b 02 00       	call   0x43f7e0
41ac6f:	85 c0                	test   %eax,%eax
41ac71:	78 0a                	js     0x41ac7d
41ac73:	47                   	inc    %edi
41ac74:	3b 7e 08             	cmp    0x8(%esi),%edi
41ac77:	72 e3                	jb     0x41ac5c
41ac79:	6a 18                	push   $0x18
41ac7b:	eb 5e                	jmp    0x41acdb
41ac7d:	68 88 97 45 00       	push   $0x459788
41ac82:	eb 76                	jmp    0x41acfa
41ac84:	ff 76 08             	push   0x8(%esi)
41ac87:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ac8a:	50                   	push   %eax
41ac8b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ac8e:	50                   	push   %eax
41ac8f:	e8 1e 4b 02 00       	call   0x43f7b2
41ac94:	85 c0                	test   %eax,%eax
41ac96:	79 07                	jns    0x41ac9f
41ac98:	68 c0 96 45 00       	push   $0x4596c0
41ac9d:	eb 5b                	jmp    0x41acfa
41ac9f:	6a 15                	push   $0x15
41aca1:	eb 38                	jmp    0x41acdb
41aca3:	ff 76 08             	push   0x8(%esi)
41aca6:	8d 45 f8             	lea    -0x8(%ebp),%eax
41aca9:	50                   	push   %eax
41acaa:	8d 45 fc             	lea    -0x4(%ebp),%eax
41acad:	50                   	push   %eax
41acae:	e8 ff 4a 02 00       	call   0x43f7b2
41acb3:	85 c0                	test   %eax,%eax
41acb5:	79 07                	jns    0x41acbe
41acb7:	68 f8 96 45 00       	push   $0x4596f8
41acbc:	eb 3c                	jmp    0x41acfa
41acbe:	ff 76 0c             	push   0xc(%esi)
41acc1:	8d 45 f8             	lea    -0x8(%ebp),%eax
41acc4:	50                   	push   %eax
41acc5:	8d 45 fc             	lea    -0x4(%ebp),%eax
41acc8:	50                   	push   %eax
41acc9:	e8 12 4b 02 00       	call   0x43f7e0
41acce:	85 c0                	test   %eax,%eax
41acd0:	79 07                	jns    0x41acd9
41acd2:	68 28 97 45 00       	push   $0x459728
41acd7:	eb 21                	jmp    0x41acfa
41acd9:	6a 16                	push   $0x16
41acdb:	5f                   	pop    %edi
41acdc:	8d 45 f4             	lea    -0xc(%ebp),%eax
41acdf:	50                   	push   %eax
41ace0:	53                   	push   %ebx
41ace1:	53                   	push   %ebx
41ace2:	ff 75 f8             	push   -0x8(%ebp)
41ace5:	ff 75 fc             	push   -0x4(%ebp)
41ace8:	57                   	push   %edi
41ace9:	ff 75 0c             	push   0xc(%ebp)
41acec:	e8 94 a4 ff ff       	call   0x415185
41acf1:	85 c0                	test   %eax,%eax
41acf3:	79 0d                	jns    0x41ad02
41acf5:	68 b8 97 45 00       	push   $0x4597b8
41acfa:	50                   	push   %eax
41acfb:	e8 2f 54 02 00       	call   0x44012f
41ad00:	59                   	pop    %ecx
41ad01:	59                   	pop    %ecx
41ad02:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41ad06:	5f                   	pop    %edi
41ad07:	5e                   	pop    %esi
41ad08:	5b                   	pop    %ebx
41ad09:	74 08                	je     0x41ad13
41ad0b:	ff 75 fc             	push   -0x4(%ebp)
41ad0e:	e8 86 8c fe ff       	call   0x403999
41ad13:	8b 45 f4             	mov    -0xc(%ebp),%eax
41ad16:	8b e5                	mov    %ebp,%esp
41ad18:	5d                   	pop    %ebp
41ad19:	c2 08 00             	ret    $0x8
41ad1c:	55                   	push   %ebp
41ad1d:	8b ec                	mov    %esp,%ebp
41ad1f:	83 ec 0c             	sub    $0xc,%esp
41ad22:	53                   	push   %ebx
41ad23:	56                   	push   %esi
41ad24:	8b 75 08             	mov    0x8(%ebp),%esi
41ad27:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ad2a:	33 db                	xor    %ebx,%ebx
41ad2c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
41ad33:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41ad36:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41ad39:	ff 76 08             	push   0x8(%esi)
41ad3c:	50                   	push   %eax
41ad3d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ad40:	50                   	push   %eax
41ad41:	e8 6c 4a 02 00       	call   0x43f7b2
41ad46:	85 c0                	test   %eax,%eax
41ad48:	79 12                	jns    0x41ad5c
41ad4a:	68 e4 97 45 00       	push   $0x4597e4
41ad4f:	50                   	push   %eax
41ad50:	e8 da 53 02 00       	call   0x44012f
41ad55:	59                   	pop    %ecx
41ad56:	59                   	pop    %ecx
41ad57:	e9 3d 01 00 00       	jmp    0x41ae99
41ad5c:	57                   	push   %edi
41ad5d:	8b fb                	mov    %ebx,%edi
41ad5f:	39 5e 08             	cmp    %ebx,0x8(%esi)
41ad62:	76 1d                	jbe    0x41ad81
41ad64:	8b 46 0c             	mov    0xc(%esi),%eax
41ad67:	ff 34 b8             	push   (%eax,%edi,4)
41ad6a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ad6d:	50                   	push   %eax
41ad6e:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ad71:	50                   	push   %eax
41ad72:	e8 69 4a 02 00       	call   0x43f7e0
41ad77:	85 c0                	test   %eax,%eax
41ad79:	78 24                	js     0x41ad9f
41ad7b:	47                   	inc    %edi
41ad7c:	3b 7e 08             	cmp    0x8(%esi),%edi
41ad7f:	72 e3                	jb     0x41ad64
41ad81:	ff 76 04             	push   0x4(%esi)
41ad84:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ad87:	50                   	push   %eax
41ad88:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ad8b:	50                   	push   %eax
41ad8c:	e8 21 4a 02 00       	call   0x43f7b2
41ad91:	85 c0                	test   %eax,%eax
41ad93:	79 14                	jns    0x41ada9
41ad95:	68 a4 96 45 00       	push   $0x4596a4
41ad9a:	e9 f1 00 00 00       	jmp    0x41ae90
41ad9f:	68 18 98 45 00       	push   $0x459818
41ada4:	e9 e7 00 00 00       	jmp    0x41ae90
41ada9:	8b 0e                	mov    (%esi),%ecx
41adab:	8b c1                	mov    %ecx,%eax
41adad:	83 e8 01             	sub    $0x1,%eax
41adb0:	0f 84 9e 00 00 00    	je     0x41ae54
41adb6:	83 e8 01             	sub    $0x1,%eax
41adb9:	74 66                	je     0x41ae21
41adbb:	83 e8 01             	sub    $0x1,%eax
41adbe:	74 24                	je     0x41ade4
41adc0:	83 e8 01             	sub    $0x1,%eax
41adc3:	74 18                	je     0x41addd
41adc5:	51                   	push   %ecx
41adc6:	68 78 98 45 00       	push   $0x459878
41adcb:	68 ff ff 00 80       	push   $0x8000ffff
41add0:	e8 5a 53 02 00       	call   0x44012f
41add5:	83 c4 0c             	add    $0xc,%esp
41add8:	e9 bb 00 00 00       	jmp    0x41ae98
41addd:	6a 18                	push   $0x18
41addf:	e9 8d 00 00 00       	jmp    0x41ae71
41ade4:	ff 76 14             	push   0x14(%esi)
41ade7:	8d 45 f8             	lea    -0x8(%ebp),%eax
41adea:	50                   	push   %eax
41adeb:	8d 45 fc             	lea    -0x4(%ebp),%eax
41adee:	50                   	push   %eax
41adef:	e8 be 49 02 00       	call   0x43f7b2
41adf4:	85 c0                	test   %eax,%eax
41adf6:	79 0a                	jns    0x41ae02
41adf8:	68 44 98 45 00       	push   $0x459844
41adfd:	e9 8e 00 00 00       	jmp    0x41ae90
41ae02:	ff 76 18             	push   0x18(%esi)
41ae05:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ae08:	50                   	push   %eax
41ae09:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ae0c:	50                   	push   %eax
41ae0d:	e8 ce 49 02 00       	call   0x43f7e0
41ae12:	85 c0                	test   %eax,%eax
41ae14:	79 07                	jns    0x41ae1d
41ae16:	68 28 97 45 00       	push   $0x459728
41ae1b:	eb 73                	jmp    0x41ae90
41ae1d:	6a 17                	push   $0x17
41ae1f:	eb 50                	jmp    0x41ae71
41ae21:	ff 76 14             	push   0x14(%esi)
41ae24:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ae27:	50                   	push   %eax
41ae28:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ae2b:	50                   	push   %eax
41ae2c:	e8 81 49 02 00       	call   0x43f7b2
41ae31:	85 c0                	test   %eax,%eax
41ae33:	79 07                	jns    0x41ae3c
41ae35:	68 f8 96 45 00       	push   $0x4596f8
41ae3a:	eb 54                	jmp    0x41ae90
41ae3c:	ff 76 18             	push   0x18(%esi)
41ae3f:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ae42:	50                   	push   %eax
41ae43:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ae46:	50                   	push   %eax
41ae47:	e8 94 49 02 00       	call   0x43f7e0
41ae4c:	85 c0                	test   %eax,%eax
41ae4e:	78 c6                	js     0x41ae16
41ae50:	6a 16                	push   $0x16
41ae52:	eb 1d                	jmp    0x41ae71
41ae54:	ff 76 14             	push   0x14(%esi)
41ae57:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ae5a:	50                   	push   %eax
41ae5b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ae5e:	50                   	push   %eax
41ae5f:	e8 4e 49 02 00       	call   0x43f7b2
41ae64:	85 c0                	test   %eax,%eax
41ae66:	79 07                	jns    0x41ae6f
41ae68:	68 c0 96 45 00       	push   $0x4596c0
41ae6d:	eb 21                	jmp    0x41ae90
41ae6f:	6a 15                	push   $0x15
41ae71:	58                   	pop    %eax
41ae72:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41ae75:	51                   	push   %ecx
41ae76:	53                   	push   %ebx
41ae77:	53                   	push   %ebx
41ae78:	ff 75 f8             	push   -0x8(%ebp)
41ae7b:	ff 75 fc             	push   -0x4(%ebp)
41ae7e:	50                   	push   %eax
41ae7f:	ff 75 0c             	push   0xc(%ebp)
41ae82:	e8 fe a2 ff ff       	call   0x415185
41ae87:	85 c0                	test   %eax,%eax
41ae89:	79 0d                	jns    0x41ae98
41ae8b:	68 c8 7b 45 00       	push   $0x457bc8
41ae90:	50                   	push   %eax
41ae91:	e8 99 52 02 00       	call   0x44012f
41ae96:	59                   	pop    %ecx
41ae97:	59                   	pop    %ecx
41ae98:	5f                   	pop    %edi
41ae99:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
41ae9d:	5e                   	pop    %esi
41ae9e:	5b                   	pop    %ebx
41ae9f:	74 08                	je     0x41aea9
41aea1:	ff 75 fc             	push   -0x4(%ebp)
41aea4:	e8 f0 8a fe ff       	call   0x403999
41aea9:	8b 45 f4             	mov    -0xc(%ebp),%eax
41aeac:	8b e5                	mov    %ebp,%esp
41aeae:	5d                   	pop    %ebp
41aeaf:	c2 08 00             	ret    $0x8
41aeb2:	55                   	push   %ebp
41aeb3:	8b ec                	mov    %esp,%ebp
41aeb5:	83 ec 14             	sub    $0x14,%esp
41aeb8:	53                   	push   %ebx
41aeb9:	8b 5d 18             	mov    0x18(%ebp),%ebx
41aebc:	33 c0                	xor    %eax,%eax
41aebe:	56                   	push   %esi
41aebf:	57                   	push   %edi
41aec0:	8b 7d 1c             	mov    0x1c(%ebp),%edi