410e36:	e8 a7 29 00 00       	call   0x4137e2
410e3b:	33 db                	xor    %ebx,%ebx
410e3d:	84 c0                	test   %al,%al
410e3f:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
410e45:	56                   	push   %esi
410e46:	50                   	push   %eax
410e47:	0f 94 c3             	sete   %bl
410e4a:	e8 c8 fc ff ff       	call   0x410b17
410e4f:	59                   	pop    %ecx
410e50:	59                   	pop    %ecx
410e51:	85 c0                	test   %eax,%eax
410e53:	75 79                	jne    0x410ece
410e55:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
410e5b:	85 db                	test   %ebx,%ebx
410e5d:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
410e63:	50                   	push   %eax
410e64:	53                   	push   %ebx
410e65:	50                   	push   %eax
410e66:	74 07                	je     0x410e6f
410e68:	e8 d7 ca 00 00       	call   0x41d944
410e6d:	eb 05                	jmp    0x410e74
410e6f:	e8 6f c1 00 00       	call   0x41cfe3
410e74:	83 c4 0c             	add    $0xc,%esp
410e77:	85 c0                	test   %eax,%eax
410e79:	74 59                	je     0x410ed4
410e7b:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
410e81:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
410e87:	50                   	push   %eax
410e88:	68 83 00 00 00       	push   $0x83
410e8d:	53                   	push   %ebx
410e8e:	e8 14 fc ff ff       	call   0x410aa7
410e93:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
410e99:	83 c4 0c             	add    $0xc,%esp
410e9c:	8d 51 02             	lea    0x2(%ecx),%edx
410e9f:	66 8b 01             	mov    (%ecx),%ax
410ea2:	83 c1 02             	add    $0x2,%ecx
410ea5:	66 3b 85 20 fe ff ff 	cmp    -0x1e0(%ebp),%ax
410eac:	75 f1                	jne    0x410e9f
410eae:	2b ca                	sub    %edx,%ecx
410eb0:	d1 f9                	sar    $1,%ecx
410eb2:	8d 41 01             	lea    0x1(%ecx),%eax
410eb5:	50                   	push   %eax
410eb6:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
410ebc:	50                   	push   %eax
410ebd:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
410ec3:	e8 18 fb ff ff       	call   0x4109e0
410ec8:	47                   	inc    %edi
410ec9:	e9 65 01 00 00       	jmp    0x411033
410ece:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
410ed4:	56                   	push   %esi
410ed5:	e8 03 28 00 00       	call   0x4136dd
410eda:	56                   	push   %esi
410edb:	85 c0                	test   %eax,%eax
410edd:	74 30                	je     0x410f0f
410edf:	e8 ce 0a 00 00       	call   0x4119b2
410ee4:	47                   	inc    %edi
410ee5:	0f b7 c0             	movzwl %ax,%eax
410ee8:	57                   	push   %edi
410ee9:	56                   	push   %esi
410eea:	89 03                	mov    %eax,(%ebx)
410eec:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
410ef2:	68 83 00 00 00       	push   $0x83
410ef7:	53                   	push   %ebx
410ef8:	e8 d1 97 00 00       	call   0x41a6ce
410efd:	83 c4 14             	add    $0x14,%esp
410f00:	85 c0                	test   %eax,%eax
410f02:	0f 85 a9 01 00 00    	jne    0x4110b1
410f08:	57                   	push   %edi
410f09:	56                   	push   %esi
410f0a:	e9 19 01 00 00       	jmp    0x411028
410f0f:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
410f15:	50                   	push   %eax
410f16:	e8 c6 0a 00 00       	call   0x4119e1
410f1b:	59                   	pop    %ecx
410f1c:	59                   	pop    %ecx
410f1d:	84 c0                	test   %al,%al
410f1f:	0f 84 6c 01 00 00    	je     0x411091
410f25:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
410f2b:	50                   	push   %eax
410f2c:	e8 ac 27 00 00       	call   0x4136dd
410f31:	85 c0                	test   %eax,%eax
410f33:	0f 84 58 01 00 00    	je     0x411091
410f39:	66 8b 85 30 ff ff ff 	mov    -0xd0(%ebp),%ax
410f40:	66 85 c0             	test   %ax,%ax
410f43:	0f 84 87 00 00 00    	je     0x410fd0
410f49:	0f b7 c8             	movzwl %ax,%ecx
410f4c:	8d 41 bf             	lea    -0x41(%ecx),%eax
410f4f:	83 f8 19             	cmp    $0x19,%eax
410f52:	77 03                	ja     0x410f57
410f54:	83 c1 20             	add    $0x20,%ecx
410f57:	6a 38                	push   $0x38
410f59:	5a                   	pop    %edx
410f5a:	83 f9 75             	cmp    $0x75,%ecx
410f5d:	75 41                	jne    0x410fa0
410f5f:	0f b7 8d 32 ff ff ff 	movzwl -0xce(%ebp),%ecx
410f66:	8d 41 bf             	lea    -0x41(%ecx),%eax
410f69:	83 f8 19             	cmp    $0x19,%eax
410f6c:	77 03                	ja     0x410f71
410f6e:	83 c1 20             	add    $0x20,%ecx
410f71:	83 f9 74             	cmp    $0x74,%ecx
410f74:	75 2a                	jne    0x410fa0
410f76:	0f b7 8d 34 ff ff ff 	movzwl -0xcc(%ebp),%ecx
410f7d:	8d 41 bf             	lea    -0x41(%ecx),%eax
410f80:	83 f8 19             	cmp    $0x19,%eax
410f83:	77 03                	ja     0x410f88
410f85:	83 c1 20             	add    $0x20,%ecx
410f88:	83 f9 66             	cmp    $0x66,%ecx
410f8b:	75 13                	jne    0x410fa0
410f8d:	66 39 95 36 ff ff ff 	cmp    %dx,-0xca(%ebp)
410f94:	75 0a                	jne    0x410fa0
410f96:	66 83 bd 38 ff ff ff 	cmpw   $0x0,-0xc8(%ebp)
410f9d:	00
410f9e:	74 29                	je     0x410fc9
410fa0:	66 83 bd 36 ff ff ff 	cmpw   $0x2d,-0xca(%ebp)
410fa7:	2d
410fa8:	0f 85 e3 00 00 00    	jne    0x411091
410fae:	66 39 95 38 ff ff ff 	cmp    %dx,-0xc8(%ebp)
410fb5:	0f 85 d6 00 00 00    	jne    0x411091
410fbb:	66 83 bd 3a ff ff ff 	cmpw   $0x0,-0xc6(%ebp)
410fc2:	00
410fc3:	0f 85 c8 00 00 00    	jne    0x411091
410fc9:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
410fce:	eb 0d                	jmp    0x410fdd
410fd0:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
410fd6:	50                   	push   %eax
410fd7:	e8 d6 09 00 00       	call   0x4119b2
410fdc:	59                   	pop    %ecx
410fdd:	47                   	inc    %edi
410fde:	0f b7 c0             	movzwl %ax,%eax
410fe1:	57                   	push   %edi
410fe2:	56                   	push   %esi
410fe3:	89 03                	mov    %eax,(%ebx)
410fe5:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
410feb:	68 83 00 00 00       	push   $0x83
410ff0:	53                   	push   %ebx
410ff1:	e8 d8 96 00 00       	call   0x41a6ce
410ff6:	83 c4 10             	add    $0x10,%esp
410ff9:	85 c0                	test   %eax,%eax
410ffb:	0f 85 b0 00 00 00    	jne    0x4110b1
411001:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
411007:	8d 51 02             	lea    0x2(%ecx),%edx
41100a:	66 8b 01             	mov    (%ecx),%ax
41100d:	83 c1 02             	add    $0x2,%ecx
411010:	66 3b 85 20 fe ff ff 	cmp    -0x1e0(%ebp),%ax
411017:	75 f1                	jne    0x41100a
411019:	2b ca                	sub    %edx,%ecx
41101b:	d1 f9                	sar    $1,%ecx
41101d:	8d 41 01             	lea    0x1(%ecx),%eax
411020:	50                   	push   %eax
411021:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
411027:	50                   	push   %eax
411028:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41102e:	e8 69 f9 ff ff       	call   0x41099c
411033:	33 c0                	xor    %eax,%eax
411035:	66 39 06             	cmp    %ax,(%esi)
411038:	74 24                	je     0x41105e
41103a:	b8 83 00 00 00       	mov    $0x83,%eax
41103f:	39 85 18 fe ff ff    	cmp    %eax,-0x1e8(%ebp)
411045:	73 17                	jae    0x41105e
411047:	57                   	push   %edi
411048:	56                   	push   %esi
411049:	50                   	push   %eax
41104a:	ff b5 24 fe ff ff    	push   -0x1dc(%ebp)
411050:	e8 79 96 00 00       	call   0x41a6ce
411055:	83 c4 10             	add    $0x10,%esp
411058:	85 c0                	test   %eax,%eax
41105a:	74 0d                	je     0x411069
41105c:	eb 53                	jmp    0x4110b1
41105e:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
411064:	33 c9                	xor    %ecx,%ecx
411066:	66 89 08             	mov    %cx,(%eax)
411069:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
41106f:	8b 8d 1c fe ff ff    	mov    -0x1e4(%ebp),%ecx
411075:	53                   	push   %ebx
411076:	ff 75 10             	push   0x10(%ebp)
411079:	8b 00                	mov    (%eax),%eax
41107b:	ff b5 14 fe ff ff    	push   -0x1ec(%ebp)
411081:	89 01                	mov    %eax,(%ecx)
411083:	e8 d5 79 00 00       	call   0x418a5d
411088:	83 c4 0c             	add    $0xc,%esp
41108b:	85 c0                	test   %eax,%eax
41108d:	75 22                	jne    0x4110b1
41108f:	eb 04                	jmp    0x411095
411091:	33 c0                	xor    %eax,%eax
411093:	8b d8                	mov    %eax,%ebx
411095:	8d 8d 04 fe ff ff    	lea    -0x1fc(%ebp),%ecx
41109b:	e8 64 f7 ff ff       	call   0x410804
4110a0:	8b c3                	mov    %ebx,%eax
4110a2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4110a5:	5f                   	pop    %edi
4110a6:	5e                   	pop    %esi
4110a7:	33 cd                	xor    %ebp,%ecx
4110a9:	5b                   	pop    %ebx
4110aa:	e8 5d 63 ff ff       	call   0x40740c
4110af:	c9                   	leave
4110b0:	c3                   	ret
4110b1:	33 c0                	xor    %eax,%eax
4110b3:	50                   	push   %eax
4110b4:	50                   	push   %eax
4110b5:	50                   	push   %eax
4110b6:	50                   	push   %eax
4110b7:	50                   	push   %eax
4110b8:	e8 f1 bf ff ff       	call   0x40d0ae
4110bd:	cc                   	int3
4110be:	8b ff                	mov    %edi,%edi
4110c0:	55                   	push   %ebp
4110c1:	8b ec                	mov    %esp,%ebp
4110c3:	53                   	push   %ebx
4110c4:	33 db                	xor    %ebx,%ebx
4110c6:	56                   	push   %esi
4110c7:	8b f3                	mov    %ebx,%esi
4110c9:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4110cc:	7e 22                	jle    0x4110f0
4110ce:	57                   	push   %edi
4110cf:	8d 7d 10             	lea    0x10(%ebp),%edi
4110d2:	8d 7f 04             	lea    0x4(%edi),%edi
4110d5:	ff 37                	push   (%edi)
4110d7:	ff 75 0c             	push   0xc(%ebp)
4110da:	ff 75 08             	push   0x8(%ebp)
4110dd:	e8 ac 94 00 00       	call   0x41a58e
4110e2:	83 c4 0c             	add    $0xc,%esp
4110e5:	85 c0                	test   %eax,%eax
4110e7:	75 0b                	jne    0x4110f4
4110e9:	46                   	inc    %esi
4110ea:	3b 75 10             	cmp    0x10(%ebp),%esi
4110ed:	7c e3                	jl     0x4110d2
4110ef:	5f                   	pop    %edi
4110f0:	5e                   	pop    %esi
4110f1:	5b                   	pop    %ebx
4110f2:	5d                   	pop    %ebp
4110f3:	c3                   	ret
4110f4:	53                   	push   %ebx
4110f5:	53                   	push   %ebx
4110f6:	53                   	push   %ebx
4110f7:	53                   	push   %ebx
4110f8:	53                   	push   %ebx
4110f9:	e8 b0 bf ff ff       	call   0x40d0ae
4110fe:	cc                   	int3
4110ff:	8b ff                	mov    %edi,%edi
411101:	55                   	push   %ebp
411102:	8b ec                	mov    %esp,%ebp
411104:	83 ec 28             	sub    $0x28,%esp
411107:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
41110b:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
41110f:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
411113:	76 14                	jbe    0x411129
411115:	e8 e1 dc ff ff       	call   0x40edfb
41111a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
411120:	e8 5c bf ff ff       	call   0x40d081
411125:	33 c0                	xor    %eax,%eax
411127:	c9                   	leave
411128:	c3                   	ret
411129:	e8 a5 30 00 00       	call   0x4141d3
41112e:	89 45 f8             	mov    %eax,-0x8(%ebp)
411131:	e8 b7 26 00 00       	call   0x4137ed
411136:	e8 db b6 00 00       	call   0x41c816
41113b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41113e:	8d 4d ff             	lea    -0x1(%ebp),%ecx
411141:	83 88 50 03 00 00 10 	orl    $0x10,0x350(%eax)
411148:	8d 45 f8             	lea    -0x8(%ebp),%eax
41114b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41114e:	8d 45 f0             	lea    -0x10(%ebp),%eax
411151:	89 45 d8             	mov    %eax,-0x28(%ebp)
411154:	8d 45 f8             	lea    -0x8(%ebp),%eax
411157:	89 45 dc             	mov    %eax,-0x24(%ebp)
41115a:	8d 45 f4             	lea    -0xc(%ebp),%eax
41115d:	89 45 e0             	mov    %eax,-0x20(%ebp)
411160:	8d 45 08             	lea    0x8(%ebp),%eax
411163:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411166:	8d 45 0c             	lea    0xc(%ebp),%eax
411169:	89 45 e8             	mov    %eax,-0x18(%ebp)
41116c:	8d 45 ec             	lea    -0x14(%ebp),%eax
41116f:	50                   	push   %eax
411170:	8d 45 d8             	lea    -0x28(%ebp),%eax
411173:	50                   	push   %eax
411174:	8d 45 ff             	lea    -0x1(%ebp),%eax
411177:	50                   	push   %eax
411178:	e8 8a f5 ff ff       	call   0x410707
41117d:	8b 45 f4             	mov    -0xc(%ebp),%eax
411180:	c9                   	leave
411181:	c3                   	ret
411182:	8b ff                	mov    %edi,%edi
411184:	55                   	push   %ebp
411185:	8b ec                	mov    %esp,%ebp
411187:	83 ec 10             	sub    $0x10,%esp
41118a:	53                   	push   %ebx
41118b:	56                   	push   %esi
41118c:	33 f6                	xor    %esi,%esi
41118e:	46                   	inc    %esi
41118f:	68 a6 06 00 00       	push   $0x6a6
411194:	89 75 f8             	mov    %esi,-0x8(%ebp)
411197:	e8 ca 29 00 00       	call   0x413b66
41119c:	8b d8                	mov    %eax,%ebx
41119e:	33 c0                	xor    %eax,%eax
4111a0:	59                   	pop    %ecx
4111a1:	85 db                	test   %ebx,%ebx
4111a3:	0f 84 17 01 00 00    	je     0x4112c0
4111a9:	57                   	push   %edi
4111aa:	89 33                	mov    %esi,(%ebx)
4111ac:	8d 7b 04             	lea    0x4(%ebx),%edi
4111af:	8b 75 08             	mov    0x8(%ebp),%esi
4111b2:	66 89 07             	mov    %ax,(%edi)
4111b5:	8d 46 30             	lea    0x30(%esi),%eax
4111b8:	ff 30                	push   (%eax)
4111ba:	89 45 f4             	mov    %eax,-0xc(%ebp)
4111bd:	68 48 76 42 00       	push   $0x427648
4111c2:	ff 35 84 75 42 00    	push   0x427584
4111c8:	6a 03                	push   $0x3
4111ca:	68 51 03 00 00       	push   $0x351
4111cf:	57                   	push   %edi
4111d0:	e8 e9 fe ff ff       	call   0x4110be
4111d5:	b8 84 75 42 00       	mov    $0x427584,%eax
4111da:	83 c4 18             	add    $0x18,%esp
4111dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
4111e0:	68 44 76 42 00       	push   $0x427644
4111e5:	68 51 03 00 00       	push   $0x351
4111ea:	57                   	push   %edi
4111eb:	e8 9e 93 00 00       	call   0x41a58e
4111f0:	83 c4 0c             	add    $0xc,%esp
4111f3:	85 c0                	test   %eax,%eax
4111f5:	0f 85 15 01 00 00    	jne    0x411310
4111fb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4111fe:	8d 48 10             	lea    0x10(%eax),%ecx
411201:	8b 00                	mov    (%eax),%eax
411203:	89 4d f4             	mov    %ecx,-0xc(%ebp)
411206:	8b 09                	mov    (%ecx),%ecx
411208:	89 4d f0             	mov    %ecx,-0x10(%ebp)
41120b:	66 8b 10             	mov    (%eax),%dx
41120e:	66 3b 11             	cmp    (%ecx),%dx
411211:	75 1e                	jne    0x411231
411213:	66 85 d2             	test   %dx,%dx
411216:	74 15                	je     0x41122d
411218:	66 8b 50 02          	mov    0x2(%eax),%dx
41121c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
411220:	75 0f                	jne    0x411231
411222:	83 c0 04             	add    $0x4,%eax
411225:	83 c1 04             	add    $0x4,%ecx
411228:	66 85 d2             	test   %dx,%dx
41122b:	75 de                	jne    0x41120b
41122d:	33 c0                	xor    %eax,%eax
41122f:	eb 05                	jmp    0x411236
411231:	1b c0                	sbb    %eax,%eax
411233:	83 c8 01             	or     $0x1,%eax
411236:	ff 75 f0             	push   -0x10(%ebp)
411239:	f7 d8                	neg    %eax
41123b:	68 48 76 42 00       	push   $0x427648
411240:	1b c0                	sbb    %eax,%eax
411242:	f7 d0                	not    %eax
411244:	21 45 f8             	and    %eax,-0x8(%ebp)
411247:	8b 45 f4             	mov    -0xc(%ebp),%eax