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
41aec3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41aec6:	89 45 f0             	mov    %eax,-0x10(%ebp)
41aec9:	89 45 f8             	mov    %eax,-0x8(%ebp)
41aecc:	89 45 ec             	mov    %eax,-0x14(%ebp)
41aecf:	89 45 f4             	mov    %eax,-0xc(%ebp)
41aed2:	8d 45 f0             	lea    -0x10(%ebp),%eax
41aed5:	50                   	push   %eax
41aed6:	8d 45 fc             	lea    -0x4(%ebp),%eax
41aed9:	50                   	push   %eax
41aeda:	57                   	push   %edi
41aedb:	53                   	push   %ebx
41aedc:	e8 53 46 02 00       	call   0x43f534
41aee1:	8b f0                	mov    %eax,%esi
41aee3:	85 f6                	test   %esi,%esi
41aee5:	79 12                	jns    0x41aef9
41aee7:	68 94 8c 45 00       	push   $0x458c94
41aeec:	56                   	push   %esi
41aeed:	e8 3d 52 02 00       	call   0x44012f
41aef2:	59                   	pop    %ecx
41aef3:	59                   	pop    %ecx
41aef4:	e9 63 01 00 00       	jmp    0x41b05c
41aef9:	8d 45 f8             	lea    -0x8(%ebp),%eax
41aefc:	50                   	push   %eax
41aefd:	8d 45 fc             	lea    -0x4(%ebp),%eax
41af00:	50                   	push   %eax
41af01:	57                   	push   %edi
41af02:	53                   	push   %ebx
41af03:	e8 2c 46 02 00       	call   0x43f534
41af08:	8b f0                	mov    %eax,%esi
41af0a:	85 f6                	test   %esi,%esi
41af0c:	79 07                	jns    0x41af15
41af0e:	68 ac 8c 45 00       	push   $0x458cac
41af13:	eb d7                	jmp    0x41aeec
41af15:	8d 45 ec             	lea    -0x14(%ebp),%eax
41af18:	50                   	push   %eax
41af19:	8d 45 fc             	lea    -0x4(%ebp),%eax
41af1c:	50                   	push   %eax
41af1d:	57                   	push   %edi
41af1e:	53                   	push   %ebx
41af1f:	e8 10 46 02 00       	call   0x43f534
41af24:	8b f0                	mov    %eax,%esi
41af26:	85 f6                	test   %esi,%esi
41af28:	79 07                	jns    0x41af31
41af2a:	68 cc 8c 45 00       	push   $0x458ccc
41af2f:	eb bb                	jmp    0x41aeec
41af31:	8d 45 fc             	lea    -0x4(%ebp),%eax
41af34:	50                   	push   %eax
41af35:	57                   	push   %edi
41af36:	53                   	push   %ebx
41af37:	6a 00                	push   $0x0
41af39:	ff 75 08             	push   0x8(%ebp)
41af3c:	e8 19 bf fe ff       	call   0x406e5a
41af41:	8b f0                	mov    %eax,%esi
41af43:	85 f6                	test   %esi,%esi
41af45:	79 07                	jns    0x41af4e
41af47:	68 f8 8c 45 00       	push   $0x458cf8
41af4c:	eb 9e                	jmp    0x41aeec
41af4e:	ff 75 10             	push   0x10(%ebp)
41af51:	33 db                	xor    %ebx,%ebx
41af53:	43                   	inc    %ebx
41af54:	53                   	push   %ebx
41af55:	e8 85 0b 01 00       	call   0x42badf
41af5a:	8b f0                	mov    %eax,%esi
41af5c:	85 f6                	test   %esi,%esi
41af5e:	79 07                	jns    0x41af67
41af60:	68 14 8d 45 00       	push   $0x458d14
41af65:	eb 85                	jmp    0x41aeec
41af67:	8b 7d 0c             	mov    0xc(%ebp),%edi
41af6a:	8d b7 b4 00 00 00    	lea    0xb4(%edi),%esi
41af70:	56                   	push   %esi
41af71:	e8 ea dc 00 00       	call   0x428c60
41af76:	56                   	push   %esi
41af77:	57                   	push   %edi
41af78:	53                   	push   %ebx
41af79:	e8 f5 db 00 00       	call   0x428b73
41af7e:	8b f0                	mov    %eax,%esi
41af80:	85 f6                	test   %esi,%esi
41af82:	79 0a                	jns    0x41af8e
41af84:	68 94 16 45 00       	push   $0x451694
41af89:	e9 5e ff ff ff       	jmp    0x41aeec
41af8e:	6a 02                	push   $0x2
41af90:	5f                   	pop    %edi
41af91:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
41af94:	74 05                	je     0x41af9b
41af96:	39 7d f8             	cmp    %edi,-0x8(%ebp)
41af99:	75 42                	jne    0x41afdd
41af9b:	68 66 01 00 20       	push   $0x20000166
41afa0:	57                   	push   %edi
41afa1:	e8 69 a5 fe ff       	call   0x40550f
41afa6:	59                   	pop    %ecx
41afa7:	59                   	pop    %ecx
41afa8:	e8 02 8d 02 00       	call   0x443caf
41afad:	8b f0                	mov    %eax,%esi
41afaf:	85 f6                	test   %esi,%esi
41afb1:	79 13                	jns    0x41afc6
41afb3:	56                   	push   %esi
41afb4:	68 34 01 00 a0       	push   $0xa0000134
41afb9:	57                   	push   %edi
41afba:	e8 50 a5 fe ff       	call   0x40550f
41afbf:	83 c4 0c             	add    $0xc,%esp
41afc2:	33 f6                	xor    %esi,%esi
41afc4:	eb 17                	jmp    0x41afdd
41afc6:	68 67 01 00 20       	push   $0x20000167
41afcb:	57                   	push   %edi
41afcc:	e8 3e a5 fe ff       	call   0x40550f
41afd1:	59                   	pop    %ecx
41afd2:	59                   	pop    %ecx
41afd3:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
41afd6:	75 05                	jne    0x41afdd
41afd8:	8b 45 14             	mov    0x14(%ebp),%eax
41afdb:	89 18                	mov    %ebx,(%eax)
41afdd:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41afe1:	74 79                	je     0x41b05c
41afe3:	8d 45 f4             	lea    -0xc(%ebp),%eax
41afe6:	50                   	push   %eax
41afe7:	68 58 0c 45 00       	push   $0x450c58
41afec:	ff 75 08             	push   0x8(%ebp)
41afef:	e8 9a c3 fe ff       	call   0x40738e
41aff4:	85 c0                	test   %eax,%eax
41aff6:	78 62                	js     0x41b05a
41aff8:	68 68 01 00 20       	push   $0x20000168
41affd:	57                   	push   %edi
41affe:	e8 0c a5 fe ff       	call   0x40550f
41b003:	59                   	pop    %ecx
41b004:	59                   	pop    %ecx
41b005:	6a 03                	push   $0x3
41b007:	58                   	pop    %eax
41b008:	39 45 f0             	cmp    %eax,-0x10(%ebp)
41b00b:	0f 44 c3             	cmove  %ebx,%eax
41b00e:	83 7d f0 05          	cmpl   $0x5,-0x10(%ebp)
41b012:	0f 44 c7             	cmove  %edi,%eax
41b015:	50                   	push   %eax
41b016:	ff 75 f4             	push   -0xc(%ebp)
41b019:	e8 3b 6a 02 00       	call   0x441a59
41b01e:	8b f0                	mov    %eax,%esi
41b020:	85 f6                	test   %esi,%esi
41b022:	78 10                	js     0x41b034
41b024:	68 69 01 00 20       	push   $0x20000169
41b029:	57                   	push   %edi
41b02a:	e8 e0 a4 fe ff       	call   0x40550f
41b02f:	e9 be fe ff ff       	jmp    0x41aef2
41b034:	81 fe 01 40 00 80    	cmp    $0x80004001,%esi
41b03a:	75 0f                	jne    0x41b04b
41b03c:	68 6a 01 00 20       	push   $0x2000016a
41b041:	57                   	push   %edi
41b042:	e8 c8 a4 fe ff       	call   0x40550f
41b047:	59                   	pop    %ecx
41b048:	59                   	pop    %ecx
41b049:	eb 0f                	jmp    0x41b05a
41b04b:	56                   	push   %esi
41b04c:	68 6b 01 00 a0       	push   $0xa000016b
41b051:	57                   	push   %edi
41b052:	e8 b8 a4 fe ff       	call   0x40550f
41b057:	83 c4 0c             	add    $0xc,%esp
41b05a:	33 f6                	xor    %esi,%esi
41b05c:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
41b060:	74 08                	je     0x41b06a
41b062:	ff 75 f4             	push   -0xc(%ebp)
41b065:	e8 85 a4 02 00       	call   0x4454ef
41b06a:	5f                   	pop    %edi
41b06b:	8b c6                	mov    %esi,%eax
41b06d:	5e                   	pop    %esi
41b06e:	5b                   	pop    %ebx
41b06f:	8b e5                	mov    %ebp,%esp
41b071:	5d                   	pop    %ebp
41b072:	c2 18 00             	ret    $0x18
41b075:	55                   	push   %ebp
41b076:	8b ec                	mov    %esp,%ebp
41b078:	83 ec 20             	sub    $0x20,%esp
41b07b:	33 c0                	xor    %eax,%eax
41b07d:	53                   	push   %ebx
41b07e:	8b 5d 14             	mov    0x14(%ebp),%ebx
41b081:	56                   	push   %esi
41b082:	57                   	push   %edi
41b083:	8b 7d 18             	mov    0x18(%ebp),%edi