406e2b:	c2 18 00             	ret    $0x18
406e2e:	55                   	push   %ebp
406e2f:	8b ec                	mov    %esp,%ebp
406e31:	33 c9                	xor    %ecx,%ecx
406e33:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
406e36:	77 11                	ja     0x406e49
406e38:	8b 55 08             	mov    0x8(%ebp),%edx
406e3b:	72 05                	jb     0x406e42
406e3d:	83 fa ff             	cmp    $0xffffffff,%edx
406e40:	77 07                	ja     0x406e49
406e42:	8b 45 10             	mov    0x10(%ebp),%eax
406e45:	89 10                	mov    %edx,(%eax)
406e47:	eb 0b                	jmp    0x406e54
406e49:	8b 45 10             	mov    0x10(%ebp),%eax
406e4c:	b9 16 02 07 80       	mov    $0x80070216,%ecx
406e51:	83 08 ff             	orl    $0xffffffff,(%eax)
406e54:	8b c1                	mov    %ecx,%eax
406e56:	5d                   	pop    %ebp
406e57:	c2 0c 00             	ret    $0xc
406e5a:	55                   	push   %ebp
406e5b:	8b ec                	mov    %esp,%ebp
406e5d:	83 ec 34             	sub    $0x34,%esp
406e60:	53                   	push   %ebx
406e61:	56                   	push   %esi
406e62:	57                   	push   %edi
406e63:	6a 06                	push   $0x6
406e65:	33 d2                	xor    %edx,%edx
406e67:	8d 7d cc             	lea    -0x34(%ebp),%edi
406e6a:	59                   	pop    %ecx
406e6b:	ff 75 08             	push   0x8(%ebp)
406e6e:	33 c0                	xor    %eax,%eax
406e70:	89 55 f4             	mov    %edx,-0xc(%ebp)
406e73:	0f 57 c0             	xorps  %xmm0,%xmm0
406e76:	89 55 f8             	mov    %edx,-0x8(%ebp)
406e79:	f3 ab                	rep stos %eax,%es:(%edi)
406e7b:	89 55 f0             	mov    %edx,-0x10(%ebp)
406e7e:	89 55 ec             	mov    %edx,-0x14(%ebp)
406e81:	89 55 fc             	mov    %edx,-0x4(%ebp)
406e84:	66 0f 13 45 e4       	movlpd %xmm0,-0x1c(%ebp)
406e89:	ff 15 b4 b1 44 00    	call   *0x44b1b4
406e8f:	8b 7d 18             	mov    0x18(%ebp),%edi
406e92:	8d 45 f4             	lea    -0xc(%ebp),%eax
406e95:	8b 5d 14             	mov    0x14(%ebp),%ebx
406e98:	50                   	push   %eax
406e99:	57                   	push   %edi
406e9a:	53                   	push   %ebx
406e9b:	ff 75 10             	push   0x10(%ebp)
406e9e:	e8 91 86 03 00       	call   0x43f534
406ea3:	8b f0                	mov    %eax,%esi
406ea5:	85 f6                	test   %esi,%esi
406ea7:	79 0a                	jns    0x406eb3
406ea9:	68 ec d0 44 00       	push   $0x44d0ec
406eae:	e9 d7 01 00 00       	jmp    0x40708a
406eb3:	83 65 18 00          	andl   $0x0,0x18(%ebp)
406eb7:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
406ebb:	0f 86 d1 01 00 00    	jbe    0x407092
406ec1:	8d 45 f0             	lea    -0x10(%ebp),%eax
406ec4:	50                   	push   %eax
406ec5:	57                   	push   %edi
406ec6:	53                   	push   %ebx
406ec7:	ff 75 10             	push   0x10(%ebp)
406eca:	e8 65 86 03 00       	call   0x43f534
406ecf:	8b f0                	mov    %eax,%esi
406ed1:	85 f6                	test   %esi,%esi
406ed3:	0f 88 ac 01 00 00    	js     0x407085
406ed9:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
406edd:	0f 84 53 01 00 00    	je     0x407036
406ee3:	8d 45 f8             	lea    -0x8(%ebp),%eax
406ee6:	50                   	push   %eax
406ee7:	57                   	push   %edi
406ee8:	53                   	push   %ebx
406ee9:	ff 75 10             	push   0x10(%ebp)
406eec:	e8 9e 86 03 00       	call   0x43f58f
406ef1:	8b f0                	mov    %eax,%esi
406ef3:	85 f6                	test   %esi,%esi
406ef5:	0f 88 83 01 00 00    	js     0x40707e
406efb:	8d 45 dc             	lea    -0x24(%ebp),%eax
406efe:	50                   	push   %eax
406eff:	57                   	push   %edi
406f00:	53                   	push   %ebx
406f01:	ff 75 10             	push   0x10(%ebp)
406f04:	e8 2b 86 03 00       	call   0x43f534
406f09:	8b f0                	mov    %eax,%esi
406f0b:	85 f6                	test   %esi,%esi
406f0d:	0f 88 64 01 00 00    	js     0x407077
406f13:	8b 45 dc             	mov    -0x24(%ebp),%eax
406f16:	83 e8 00             	sub    $0x0,%eax
406f19:	0f 84 d5 00 00 00    	je     0x406ff4
406f1f:	83 e8 01             	sub    $0x1,%eax
406f22:	0f 84 94 00 00 00    	je     0x406fbc
406f28:	83 e8 01             	sub    $0x1,%eax
406f2b:	74 4b                	je     0x406f78
406f2d:	83 e8 01             	sub    $0x1,%eax
406f30:	0f 85 20 01 00 00    	jne    0x407056
406f36:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406f39:	50                   	push   %eax
406f3a:	57                   	push   %edi
406f3b:	53                   	push   %ebx
406f3c:	ff 75 10             	push   0x10(%ebp)
406f3f:	e8 8e 85 03 00       	call   0x43f4d2
406f44:	8b f0                	mov    %eax,%esi
406f46:	85 f6                	test   %esi,%esi
406f48:	0f 88 01 01 00 00    	js     0x40704f
406f4e:	ff 75 e8             	push   -0x18(%ebp)
406f51:	8d 45 cc             	lea    -0x34(%ebp),%eax
406f54:	ff 75 e4             	push   -0x1c(%ebp)
406f57:	50                   	push   %eax
406f58:	e8 f8 94 01 00       	call   0x420455
406f5d:	8b f0                	mov    %eax,%esi
406f5f:	85 f6                	test   %esi,%esi
406f61:	0f 88 e1 00 00 00    	js     0x407048
406f67:	6a 08                	push   $0x8
406f69:	59                   	pop    %ecx
406f6a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406f6d:	c6 00 00             	movb   $0x0,(%eax)
406f70:	40                   	inc    %eax
406f71:	83 e9 01             	sub    $0x1,%ecx
406f74:	75 f7                	jne    0x406f6d
406f76:	eb 7c                	jmp    0x406ff4
406f78:	8d 45 fc             	lea    -0x4(%ebp),%eax
406f7b:	50                   	push   %eax
406f7c:	57                   	push   %edi
406f7d:	53                   	push   %ebx
406f7e:	ff 75 10             	push   0x10(%ebp)
406f81:	e8 09 86 03 00       	call   0x43f58f
406f86:	8b f0                	mov    %eax,%esi
406f88:	85 f6                	test   %esi,%esi
406f8a:	0f 88 d2 00 00 00    	js     0x407062
406f90:	6a 00                	push   $0x0
406f92:	ff 75 fc             	push   -0x4(%ebp)
406f95:	8d 45 cc             	lea    -0x34(%ebp),%eax
406f98:	50                   	push   %eax
406f99:	e8 56 93 01 00       	call   0x4202f4
406f9e:	8b f0                	mov    %eax,%esi
406fa0:	85 f6                	test   %esi,%esi
406fa2:	0f 88 a0 00 00 00    	js     0x407048
406fa8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
406fac:	74 46                	je     0x406ff4
406fae:	ff 75 fc             	push   -0x4(%ebp)
406fb1:	e8 dd b7 ff ff       	call   0x402793
406fb6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406fba:	eb 38                	jmp    0x406ff4
406fbc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406fbf:	50                   	push   %eax
406fc0:	57                   	push   %edi
406fc1:	53                   	push   %ebx
406fc2:	ff 75 10             	push   0x10(%ebp)
406fc5:	e8 08 85 03 00       	call   0x43f4d2
406fca:	8b f0                	mov    %eax,%esi
406fcc:	85 f6                	test   %esi,%esi
406fce:	78 7f                	js     0x40704f
406fd0:	ff 75 e8             	push   -0x18(%ebp)
406fd3:	8d 45 cc             	lea    -0x34(%ebp),%eax
406fd6:	ff 75 e4             	push   -0x1c(%ebp)
406fd9:	50                   	push   %eax
406fda:	e8 d1 92 01 00       	call   0x4202b0
406fdf:	8b f0                	mov    %eax,%esi
406fe1:	85 f6                	test   %esi,%esi
406fe3:	78 63                	js     0x407048
406fe5:	6a 08                	push   $0x8
406fe7:	59                   	pop    %ecx
406fe8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
406feb:	c6 00 00             	movb   $0x0,(%eax)
406fee:	40                   	inc    %eax
406fef:	83 e9 01             	sub    $0x1,%ecx
406ff2:	75 f7                	jne    0x406feb
406ff4:	8d 45 ec             	lea    -0x14(%ebp),%eax
406ff7:	50                   	push   %eax
406ff8:	57                   	push   %edi
406ff9:	53                   	push   %ebx
406ffa:	ff 75 10             	push   0x10(%ebp)
406ffd:	e8 32 85 03 00       	call   0x43f534
407002:	8b f0                	mov    %eax,%esi
407004:	85 f6                	test   %esi,%esi
407006:	78 68                	js     0x407070
407008:	8b 45 0c             	mov    0xc(%ebp),%eax
40700b:	f7 d8                	neg    %eax
40700d:	6a 00                	push   $0x0
40700f:	1b c0                	sbb    %eax,%eax
407011:	83 c0 03             	add    $0x3,%eax
407014:	50                   	push   %eax
407015:	ff 75 ec             	push   -0x14(%ebp)
407018:	8d 45 cc             	lea    -0x34(%ebp),%eax
40701b:	50                   	push   %eax
40701c:	ff 75 f8             	push   -0x8(%ebp)
40701f:	ff 75 08             	push   0x8(%ebp)
407022:	e8 36 fc ff ff       	call   0x406c5d
407027:	8b f0                	mov    %eax,%esi
407029:	85 f6                	test   %esi,%esi
40702b:	78 3c                	js     0x407069
40702d:	8d 45 cc             	lea    -0x34(%ebp),%eax
407030:	50                   	push   %eax
407031:	e8 63 94 01 00       	call   0x420499
407036:	8b 45 18             	mov    0x18(%ebp),%eax
407039:	40                   	inc    %eax
40703a:	89 45 18             	mov    %eax,0x18(%ebp)
40703d:	3b 45 f4             	cmp    -0xc(%ebp),%eax
407040:	0f 82 7b fe ff ff    	jb     0x406ec1
407046:	eb 4a                	jmp    0x407092
407048:	68 a4 d1 44 00       	push   $0x44d1a4
40704d:	eb 3b                	jmp    0x40708a
40704f:	68 78 d1 44 00       	push   $0x44d178
407054:	eb 34                	jmp    0x40708a
407056:	be 57 00 07 80       	mov    $0x80070057,%esi
40705b:	68 b0 d0 44 00       	push   $0x44d0b0
407060:	eb 28                	jmp    0x40708a
407062:	68 c4 d1 44 00       	push   $0x44d1c4
407067:	eb 21                	jmp    0x40708a
407069:	68 18 d2 44 00       	push   $0x44d218
40706e:	eb 1a                	jmp    0x40708a
407070:	68 f0 d1 44 00       	push   $0x44d1f0
407075:	eb 13                	jmp    0x40708a
407077:	68 54 d1 44 00       	push   $0x44d154
40707c:	eb 0c                	jmp    0x40708a
40707e:	68 34 d1 44 00       	push   $0x44d134
407083:	eb 05                	jmp    0x40708a
407085:	68 0c d1 44 00       	push   $0x44d10c
40708a:	56                   	push   %esi
40708b:	e8 9f 90 03 00       	call   0x44012f
407090:	59                   	pop    %ecx
407091:	59                   	pop    %ecx
407092:	ff 75 08             	push   0x8(%ebp)
407095:	ff 15 b8 b1 44 00    	call   *0x44b1b8
40709b:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40709f:	74 08                	je     0x4070a9
4070a1:	ff 75 f8             	push   -0x8(%ebp)
4070a4:	e8 46 e4 03 00       	call   0x4454ef
4070a9:	8d 45 cc             	lea    -0x34(%ebp),%eax
4070ac:	50                   	push   %eax
4070ad:	e8 e7 93 01 00       	call   0x420499
4070b2:	6a 08                	push   $0x8
4070b4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4070b7:	59                   	pop    %ecx
4070b8:	c6 00 00             	movb   $0x0,(%eax)
4070bb:	40                   	inc    %eax
4070bc:	83 e9 01             	sub    $0x1,%ecx
4070bf:	75 f7                	jne    0x4070b8
4070c1:	ff 75 fc             	push   -0x4(%ebp)
4070c4:	e8 ca b6 ff ff       	call   0x402793
4070c9:	5f                   	pop    %edi
4070ca:	8b c6                	mov    %esi,%eax
4070cc:	5e                   	pop    %esi
4070cd:	5b                   	pop    %ebx
4070ce:	8b e5                	mov    %ebp,%esp
4070d0:	5d                   	pop    %ebp
4070d1:	c2 14 00             	ret    $0x14
4070d4:	55                   	push   %ebp
4070d5:	8b ec                	mov    %esp,%ebp
4070d7:	51                   	push   %ecx
4070d8:	51                   	push   %ecx
4070d9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4070dd:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4070e1:	56                   	push   %esi
4070e2:	57                   	push   %edi
4070e3:	8b 7d 08             	mov    0x8(%ebp),%edi
4070e6:	57                   	push   %edi
4070e7:	ff 15 f8 b0 44 00    	call   *0x44b0f8
4070ed:	40                   	inc    %eax
4070ee:	50                   	push   %eax
4070ef:	8d 45 fc             	lea    -0x4(%ebp),%eax
4070f2:	50                   	push   %eax
4070f3:	e8 e6 ad ff ff       	call   0x401ede
4070f8:	8b f0                	mov    %eax,%esi
4070fa:	85 f6                	test   %esi,%esi
4070fc:	79 12                	jns    0x407110
4070fe:	68 c0 ce 44 00       	push   $0x44cec0
407103:	56                   	push   %esi
407104:	e8 26 90 03 00       	call   0x44012f
407109:	59                   	pop    %ecx
40710a:	59                   	pop    %ecx
40710b:	e9 99 00 00 00       	jmp    0x4071a9
407110:	53                   	push   %ebx
407111:	68 f0 ce 44 00       	push   $0x44cef0
407116:	57                   	push   %edi
407117:	e8 2d cd 02 00       	call   0x433e49
40711c:	8b d8                	mov    %eax,%ebx
40711e:	59                   	pop    %ecx
40711f:	59                   	pop    %ecx
407120:	85 db                	test   %ebx,%ebx
407122:	74 11                	je     0x407135
407124:	53                   	push   %ebx
407125:	57                   	push   %edi
407126:	8d 45 fc             	lea    -0x4(%ebp),%eax
407129:	50                   	push   %eax
40712a:	e8 c3 ad ff ff       	call   0x401ef2
40712f:	8b f0                	mov    %eax,%esi
407131:	85 f6                	test   %esi,%esi
407133:	78 3e                	js     0x407173
407135:	8d 3c 5f             	lea    (%edi,%ebx,2),%edi
407138:	33 c9                	xor    %ecx,%ecx
40713a:	0f b7 07             	movzwl (%edi),%eax
40713d:	66 3b c8             	cmp    %ax,%cx
407140:	74 46                	je     0x407188
407142:	50                   	push   %eax
407143:	8d 45 f8             	lea    -0x8(%ebp),%eax
407146:	68 1c cf 44 00       	push   $0x44cf1c
40714b:	50                   	push   %eax
40714c:	e8 cf ad ff ff       	call   0x401f20
407151:	8b f0                	mov    %eax,%esi
407153:	83 c4 0c             	add    $0xc,%esp
407156:	85 f6                	test   %esi,%esi
407158:	78 27                	js     0x407181
40715a:	6a 00                	push   $0x0
40715c:	ff 75 f8             	push   -0x8(%ebp)
40715f:	8d 45 fc             	lea    -0x4(%ebp),%eax
407162:	50                   	push   %eax
407163:	e8 8a ad ff ff       	call   0x401ef2
407168:	8b f0                	mov    %eax,%esi
40716a:	85 f6                	test   %esi,%esi
40716c:	78 0c                	js     0x40717a
40716e:	83 c7 02             	add    $0x2,%edi
407171:	eb 9e                	jmp    0x407111
407173:	68 fc ce 44 00       	push   $0x44cefc
407178:	eb 26                	jmp    0x4071a0
40717a:	68 4c cf 44 00       	push   $0x44cf4c
40717f:	eb 1f                	jmp    0x4071a0
407181:	68 28 cf 44 00       	push   $0x44cf28
407186:	eb 18                	jmp    0x4071a0
407188:	6a 00                	push   $0x0
40718a:	ff 75 fc             	push   -0x4(%ebp)
40718d:	ff 75 0c             	push   0xc(%ebp)
407190:	e8 10 b0 ff ff       	call   0x4021a5
407195:	8b f0                	mov    %eax,%esi
407197:	85 f6                	test   %esi,%esi
407199:	79 0d                	jns    0x4071a8
40719b:	68 70 cf 44 00       	push   $0x44cf70
4071a0:	56                   	push   %esi
4071a1:	e8 89 8f 03 00       	call   0x44012f
4071a6:	59                   	pop    %ecx
4071a7:	59                   	pop    %ecx
4071a8:	5b                   	pop    %ebx
4071a9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4071ad:	74 08                	je     0x4071b7
4071af:	ff 75 fc             	push   -0x4(%ebp)
4071b2:	e8 38 e3 03 00       	call   0x4454ef
4071b7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4071bb:	74 08                	je     0x4071c5
4071bd:	ff 75 f8             	push   -0x8(%ebp)
4071c0:	e8 2a e3 03 00       	call   0x4454ef
4071c5:	5f                   	pop    %edi
4071c6:	8b c6                	mov    %esi,%eax
4071c8:	5e                   	pop    %esi
4071c9:	8b e5                	mov    %ebp,%esp
4071cb:	5d                   	pop    %ebp
4071cc:	c2 08 00             	ret    $0x8
4071cf:	55                   	push   %ebp
4071d0:	8b ec                	mov    %esp,%ebp
4071d2:	6a 00                	push   $0x0
4071d4:	ff 75 14             	push   0x14(%ebp)
4071d7:	ff 75 10             	push   0x10(%ebp)