40ad06:	cc                   	int3
40ad07:	cc                   	int3
40ad08:	cc                   	int3
40ad09:	cc                   	int3
40ad0a:	cc                   	int3
40ad0b:	cc                   	int3
40ad0c:	cc                   	int3
40ad0d:	cc                   	int3
40ad0e:	cc                   	int3
40ad0f:	cc                   	int3
40ad10:	55                   	push   %ebp
40ad11:	8b ec                	mov    %esp,%ebp
40ad13:	6a ff                	push   $0xffffffff
40ad15:	68 45 7f 49 00       	push   $0x497f45
40ad1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ad20:	50                   	push   %eax
40ad21:	83 ec 20             	sub    $0x20,%esp
40ad24:	53                   	push   %ebx
40ad25:	56                   	push   %esi
40ad26:	57                   	push   %edi
40ad27:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40ad2c:	33 c5                	xor    %ebp,%eax
40ad2e:	50                   	push   %eax
40ad2f:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ad32:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ad38:	89 65 f0             	mov    %esp,-0x10(%ebp)
40ad3b:	8b c1                	mov    %ecx,%eax
40ad3d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ad40:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ad43:	8b 10                	mov    (%eax),%edx
40ad45:	89 45 e0             	mov    %eax,-0x20(%ebp)
40ad48:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40ad4b:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
40ad4f:	89 55 ec             	mov    %edx,-0x14(%ebp)
40ad52:	0f 85 92 00 00 00    	jne    0x40adea
40ad58:	8d 79 10             	lea    0x10(%ecx),%edi
40ad5b:	89 45 d8             	mov    %eax,-0x28(%ebp)
40ad5e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ad65:	6a 40                	push   $0x40
40ad67:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40ad6e:	e8 65 ec 05 00       	call   0x4699d8
40ad73:	8b d8                	mov    %eax,%ebx
40ad75:	83 c4 04             	add    $0x4,%esp
40ad78:	89 5d dc             	mov    %ebx,-0x24(%ebp)
40ad7b:	8d 73 10             	lea    0x10(%ebx),%esi
40ad7e:	57                   	push   %edi
40ad7f:	8b ce                	mov    %esi,%ecx
40ad81:	89 75 d4             	mov    %esi,-0x2c(%ebp)
40ad84:	e8 e7 87 ff ff       	call   0x403570
40ad89:	8d 47 18             	lea    0x18(%edi),%eax
40ad8c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40ad90:	50                   	push   %eax
40ad91:	8d 4e 18             	lea    0x18(%esi),%ecx
40ad94:	e8 d7 87 ff ff       	call   0x403570
40ad99:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40ad9c:	8b 7d e8             	mov    -0x18(%ebp),%edi
40ad9f:	8b 45 0c             	mov    0xc(%ebp),%eax
40ada2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40ada5:	89 0b                	mov    %ecx,(%ebx)
40ada7:	89 4b 08             	mov    %ecx,0x8(%ebx)
40adaa:	66 c7 43 0c 00 00    	movw   $0x0,0xc(%ebx)
40adb0:	89 43 04             	mov    %eax,0x4(%ebx)
40adb3:	8a 47 0c             	mov    0xc(%edi),%al
40adb6:	88 43 0c             	mov    %al,0xc(%ebx)
40adb9:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
40adbd:	53                   	push   %ebx
40adbe:	0f 45 cb             	cmovne %ebx,%ecx
40adc1:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40adc8:	ff 37                	push   (%edi)
40adca:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40adcd:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40add0:	8b ce                	mov    %esi,%ecx
40add2:	e8 39 ff ff ff       	call   0x40ad10
40add7:	53                   	push   %ebx
40add8:	89 03                	mov    %eax,(%ebx)
40adda:	8b ce                	mov    %esi,%ecx
40addc:	ff 77 08             	push   0x8(%edi)
40addf:	e8 2c ff ff ff       	call   0x40ad10
40ade4:	8b 55 ec             	mov    -0x14(%ebp),%edx
40ade7:	89 43 08             	mov    %eax,0x8(%ebx)
40adea:	8b c2                	mov    %edx,%eax
40adec:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40adef:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40adf6:	59                   	pop    %ecx
40adf7:	5f                   	pop    %edi
40adf8:	5e                   	pop    %esi
40adf9:	5b                   	pop    %ebx
40adfa:	8b e5                	mov    %ebp,%esp
40adfc:	5d                   	pop    %ebp
40adfd:	c2 08 00             	ret    $0x8
40ae00:	ff 75 e8             	push   -0x18(%ebp)
40ae03:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40ae06:	e8 15 8a ff ff       	call   0x403820
40ae0b:	50                   	push   %eax
40ae0c:	e8 7f 8a ff ff       	call   0x403890
40ae11:	6a 00                	push   $0x0
40ae13:	6a 00                	push   $0x0
40ae15:	e8 94 07 06 00       	call   0x46b5ae
40ae1a:	cc                   	int3
40ae1b:	cc                   	int3
40ae1c:	cc                   	int3
40ae1d:	cc                   	int3
40ae1e:	cc                   	int3
40ae1f:	cc                   	int3
40ae20:	53                   	push   %ebx
40ae21:	8b dc                	mov    %esp,%ebx
40ae23:	83 ec 08             	sub    $0x8,%esp
40ae26:	83 e4 f8             	and    $0xfffffff8,%esp
40ae29:	83 c4 04             	add    $0x4,%esp
40ae2c:	55                   	push   %ebp
40ae2d:	8b 6b 04             	mov    0x4(%ebx),%ebp
40ae30:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40ae34:	8b ec                	mov    %esp,%ebp
40ae36:	6a ff                	push   $0xffffffff
40ae38:	68 7d 7f 49 00       	push   $0x497f7d
40ae3d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ae43:	50                   	push   %eax
40ae44:	53                   	push   %ebx
40ae45:	83 ec 18             	sub    $0x18,%esp
40ae48:	56                   	push   %esi
40ae49:	57                   	push   %edi
40ae4a:	a1 14 40 4c 00       	mov    0x4c4014,%eax
40ae4f:	33 c5                	xor    %ebp,%eax
40ae51:	50                   	push   %eax
40ae52:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ae55:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ae5b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40ae5e:	8b 7b 08             	mov    0x8(%ebx),%edi
40ae61:	8d 45 e0             	lea    -0x20(%ebp),%eax
40ae64:	57                   	push   %edi
40ae65:	50                   	push   %eax
40ae66:	e8 85 8c ff ff       	call   0x403af0
40ae6b:	8b 75 e8             	mov    -0x18(%ebp),%esi
40ae6e:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40ae72:	75 30                	jne    0x40aea4
40ae74:	83 7e 24 08          	cmpl   $0x8,0x24(%esi)
40ae78:	8d 56 10             	lea    0x10(%esi),%edx
40ae7b:	72 03                	jb     0x40ae80
40ae7d:	8b 56 10             	mov    0x10(%esi),%edx
40ae80:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
40ae84:	8b cf                	mov    %edi,%ecx
40ae86:	72 02                	jb     0x40ae8a
40ae88:	8b 0f                	mov    (%edi),%ecx
40ae8a:	ff 76 20             	push   0x20(%esi)
40ae8d:	52                   	push   %edx
40ae8e:	8b 57 10             	mov    0x10(%edi),%edx
40ae91:	e8 8a 8d ff ff       	call   0x403c20
40ae96:	c1 e8 1f             	shr    $0x1f,%eax
40ae99:	83 c4 08             	add    $0x8,%esp
40ae9c:	84 c0                	test   %al,%al
40ae9e:	0f 84 90 00 00 00    	je     0x40af34
40aea4:	8b 45 ec             	mov    -0x14(%ebp),%eax
40aea7:	81 78 04 ff ff ff 03 	cmpl   $0x3ffffff,0x4(%eax)
40aeae:	0f 84 99 00 00 00    	je     0x40af4d
40aeb4:	8b 30                	mov    (%eax),%esi
40aeb6:	89 45 d8             	mov    %eax,-0x28(%ebp)
40aeb9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40aec0:	6a 40                	push   $0x40
40aec2:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40aec9:	e8 0a eb 05 00       	call   0x4699d8
40aece:	83 c4 04             	add    $0x4,%esp
40aed1:	33 c9                	xor    %ecx,%ecx
40aed3:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
40aeda:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%eax)
40aee1:	c7 40 24 00 00 00 00 	movl   $0x0,0x24(%eax)
40aee8:	0f 10 07             	movups (%edi),%xmm0
40aeeb:	50                   	push   %eax
40aeec:	ff 75 e4             	push   -0x1c(%ebp)
40aeef:	0f 11 40 10          	movups %xmm0,0x10(%eax)
40aef3:	f3 0f 7e 47 10       	movq   0x10(%edi),%xmm0
40aef8:	ff 75 e0             	push   -0x20(%ebp)
40aefb:	66 0f d6 40 20       	movq   %xmm0,0x20(%eax)
40af00:	66 89 0f             	mov    %cx,(%edi)
40af03:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40af0a:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
40af11:	89 48 28             	mov    %ecx,0x28(%eax)
40af14:	89 48 38             	mov    %ecx,0x38(%eax)
40af17:	c7 40 3c 07 00 00 00 	movl   $0x7,0x3c(%eax)
40af1e:	89 30                	mov    %esi,(%eax)
40af20:	89 70 04             	mov    %esi,0x4(%eax)
40af23:	89 70 08             	mov    %esi,0x8(%eax)
40af26:	66 89 48 0c          	mov    %cx,0xc(%eax)
40af2a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40af2d:	e8 ae 89 ff ff       	call   0x4038e0
40af32:	8b f0                	mov    %eax,%esi
40af34:	8d 46 28             	lea    0x28(%esi),%eax
40af37:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40af3a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40af41:	59                   	pop    %ecx
40af42:	5f                   	pop    %edi
40af43:	5e                   	pop    %esi
40af44:	8b e5                	mov    %ebp,%esp
40af46:	5d                   	pop    %ebp
40af47:	8b e3                	mov    %ebx,%esp
40af49:	5b                   	pop    %ebx
40af4a:	c2 04 00             	ret    $0x4
40af4d:	e8 6e 87 ff ff       	call   0x4036c0
40af52:	cc                   	int3
40af53:	cc                   	int3
40af54:	cc                   	int3
40af55:	cc                   	int3
40af56:	cc                   	int3
40af57:	cc                   	int3
40af58:	cc                   	int3
40af59:	cc                   	int3
40af5a:	cc                   	int3
40af5b:	cc                   	int3
40af5c:	cc                   	int3
40af5d:	cc                   	int3
40af5e:	cc                   	int3
40af5f:	cc                   	int3
40af60:	56                   	push   %esi
40af61:	8b f1                	mov    %ecx,%esi
40af63:	8b 4e 6c             	mov    0x6c(%esi),%ecx
40af66:	83 f9 10             	cmp    $0x10,%ecx
40af69:	72 2c                	jb     0x40af97
40af6b:	8b 46 58             	mov    0x58(%esi),%eax
40af6e:	41                   	inc    %ecx
40af6f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40af75:	72 16                	jb     0x40af8d
40af77:	8b 50 fc             	mov    -0x4(%eax),%edx
40af7a:	83 c1 23             	add    $0x23,%ecx
40af7d:	2b c2                	sub    %edx,%eax
40af7f:	83 c0 fc             	add    $0xfffffffc,%eax
40af82:	83 f8 1f             	cmp    $0x1f,%eax
40af85:	0f 87 ac 00 00 00    	ja     0x40b037
40af8b:	8b c2                	mov    %edx,%eax
40af8d:	51                   	push   %ecx
40af8e:	50                   	push   %eax
40af8f:	e8 74 ea 05 00       	call   0x469a08
40af94:	83 c4 08             	add    $0x8,%esp
40af97:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
40af9e:	c7 46 6c 0f 00 00 00 	movl   $0xf,0x6c(%esi)
40afa5:	c6 46 58 00          	movb   $0x0,0x58(%esi)
40afa9:	8b 4e 30             	mov    0x30(%esi),%ecx
40afac:	83 f9 10             	cmp    $0x10,%ecx
40afaf:	72 28                	jb     0x40afd9
40afb1:	8b 46 1c             	mov    0x1c(%esi),%eax
40afb4:	41                   	inc    %ecx
40afb5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40afbb:	72 12                	jb     0x40afcf
40afbd:	8b 50 fc             	mov    -0x4(%eax),%edx
40afc0:	83 c1 23             	add    $0x23,%ecx
40afc3:	2b c2                	sub    %edx,%eax
40afc5:	83 c0 fc             	add    $0xfffffffc,%eax
40afc8:	83 f8 1f             	cmp    $0x1f,%eax
40afcb:	77 6a                	ja     0x40b037
40afcd:	8b c2                	mov    %edx,%eax
40afcf:	51                   	push   %ecx
40afd0:	50                   	push   %eax
40afd1:	e8 32 ea 05 00       	call   0x469a08
40afd6:	83 c4 08             	add    $0x8,%esp
40afd9:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
40afe0:	c7 46 30 0f 00 00 00 	movl   $0xf,0x30(%esi)
40afe7:	c6 46 1c 00          	movb   $0x0,0x1c(%esi)
40afeb:	8b 4e 18             	mov    0x18(%esi),%ecx
40afee:	83 f9 08             	cmp    $0x8,%ecx
40aff1:	72 2e                	jb     0x40b021
40aff3:	8b 46 04             	mov    0x4(%esi),%eax
40aff6:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40affd:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40b003:	72 12                	jb     0x40b017
40b005:	8b 50 fc             	mov    -0x4(%eax),%edx
40b008:	83 c1 23             	add    $0x23,%ecx
40b00b:	2b c2                	sub    %edx,%eax
40b00d:	83 c0 fc             	add    $0xfffffffc,%eax
40b010:	83 f8 1f             	cmp    $0x1f,%eax
40b013:	77 22                	ja     0x40b037
40b015:	8b c2                	mov    %edx,%eax
40b017:	51                   	push   %ecx
40b018:	50                   	push   %eax
40b019:	e8 ea e9 05 00       	call   0x469a08
40b01e:	83 c4 08             	add    $0x8,%esp
40b021:	33 c0                	xor    %eax,%eax
40b023:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
40b02a:	c7 46 18 07 00 00 00 	movl   $0x7,0x18(%esi)
40b031:	66 89 46 04          	mov    %ax,0x4(%esi)
40b035:	5e                   	pop    %esi
40b036:	c3                   	ret
40b037:	e8 f5 e5 06 00       	call   0x479631
40b03c:	cc                   	int3
40b03d:	cc                   	int3
40b03e:	cc                   	int3
40b03f:	cc                   	int3
40b040:	55                   	push   %ebp
40b041:	8b ec                	mov    %esp,%ebp
40b043:	8b 55 08             	mov    0x8(%ebp),%edx
40b046:	8b c2                	mov    %edx,%eax
40b048:	56                   	push   %esi
40b049:	8b f1                	mov    %ecx,%esi
40b04b:	57                   	push   %edi
40b04c:	8d 78 01             	lea    0x1(%eax),%edi
40b04f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40b055:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40b05c:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
40b063:	8a 08                	mov    (%eax),%cl
40b065:	40                   	inc    %eax
40b066:	84 c9                	test   %cl,%cl
40b068:	75 f9                	jne    0x40b063
40b06a:	2b c7                	sub    %edi,%eax
40b06c:	8b ce                	mov    %esi,%ecx
40b06e:	50                   	push   %eax
40b06f:	52                   	push   %edx
40b070:	e8 0b 00 00 00       	call   0x40b080
40b075:	5f                   	pop    %edi
40b076:	8b c6                	mov    %esi,%eax
40b078:	5e                   	pop    %esi
40b079:	5d                   	pop    %ebp
40b07a:	c2 04 00             	ret    $0x4
40b07d:	cc                   	int3
40b07e:	cc                   	int3
40b07f:	cc                   	int3
40b080:	55                   	push   %ebp
40b081:	8b ec                	mov    %esp,%ebp
40b083:	83 ec 08             	sub    $0x8,%esp
40b086:	8b 45 08             	mov    0x8(%ebp),%eax
40b089:	53                   	push   %ebx
40b08a:	56                   	push   %esi
40b08b:	8b 75 0c             	mov    0xc(%ebp),%esi
40b08e:	8b d9                	mov    %ecx,%ebx
40b090:	89 45 f8             	mov    %eax,-0x8(%ebp)
40b093:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
40b099:	0f 87 b1 00 00 00    	ja     0x40b150
40b09f:	c7 43 14 0f 00 00 00 	movl   $0xf,0x14(%ebx)
40b0a6:	83 fe 10             	cmp    $0x10,%esi
40b0a9:	73 1a                	jae    0x40b0c5
40b0ab:	56                   	push   %esi
40b0ac:	50                   	push   %eax
40b0ad:	53                   	push   %ebx
40b0ae:	89 73 10             	mov    %esi,0x10(%ebx)
40b0b1:	e8 6a 05 06 00       	call   0x46b620
40b0b6:	83 c4 0c             	add    $0xc,%esp
40b0b9:	c6 04 1e 00          	movb   $0x0,(%esi,%ebx,1)
40b0bd:	5e                   	pop    %esi
40b0be:	5b                   	pop    %ebx
40b0bf:	8b e5                	mov    %ebp,%esp
40b0c1:	5d                   	pop    %ebp
40b0c2:	c2 08 00             	ret    $0x8
40b0c5:	57                   	push   %edi
40b0c6:	8b fe                	mov    %esi,%edi
40b0c8:	83 cf 0f             	or     $0xf,%edi
40b0cb:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
40b0d1:	76 27                	jbe    0x40b0fa
40b0d3:	b9 00 00 00 80       	mov    $0x80000000,%ecx
40b0d8:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
40b0dd:	83 c1 23             	add    $0x23,%ecx
40b0e0:	51                   	push   %ecx
40b0e1:	e8 f2 e8 05 00       	call   0x4699d8
40b0e6:	8b c8                	mov    %eax,%ecx
40b0e8:	83 c4 04             	add    $0x4,%esp