409d92:	68 10 10 41 00       	push   $0x411010
409d97:	68 08 10 41 00       	push   $0x411008
409d9c:	68 5c fc 40 00       	push   $0x40fc5c
409da1:	6a 1f                	push   $0x1f
409da3:	e8 00 ff ff ff       	call   0x409ca8
409da8:	8b f0                	mov    %eax,%esi
409daa:	83 c4 10             	add    $0x10,%esp
409dad:	85 f6                	test   %esi,%esi
409daf:	74 0f                	je     0x409dc0
409db1:	ff 75 08             	push   0x8(%ebp)
409db4:	8b ce                	mov    %esi,%ecx
409db6:	ff 15 18 f1 40 00    	call   *0x40f118
409dbc:	ff d6                	call   *%esi
409dbe:	eb 06                	jmp    0x409dc6
409dc0:	ff 15 74 f0 40 00    	call   *0x40f074
409dc6:	5e                   	pop    %esi
409dc7:	5d                   	pop    %ebp
409dc8:	c2 04 00             	ret    $0x4
409dcb:	8b ff                	mov    %edi,%edi
409dcd:	55                   	push   %ebp
409dce:	8b ec                	mov    %esp,%ebp
409dd0:	56                   	push   %esi
409dd1:	68 18 10 41 00       	push   $0x411018
409dd6:	68 10 10 41 00       	push   $0x411010
409ddb:	68 70 fc 40 00       	push   $0x40fc70
409de0:	6a 20                	push   $0x20
409de2:	e8 c1 fe ff ff       	call   0x409ca8
409de7:	8b f0                	mov    %eax,%esi
409de9:	83 c4 10             	add    $0x10,%esp
409dec:	85 f6                	test   %esi,%esi
409dee:	74 12                	je     0x409e02
409df0:	ff 75 08             	push   0x8(%ebp)
409df3:	8b ce                	mov    %esi,%ecx
409df5:	ff 15 18 f1 40 00    	call   *0x40f118
409dfb:	ff d6                	call   *%esi
409dfd:	5e                   	pop    %esi
409dfe:	5d                   	pop    %ebp
409dff:	c2 04 00             	ret    $0x4
409e02:	5e                   	pop    %esi
409e03:	5d                   	pop    %ebp
409e04:	ff 25 80 f0 40 00    	jmp    *0x40f080
409e0a:	8b ff                	mov    %edi,%edi
409e0c:	55                   	push   %ebp
409e0d:	8b ec                	mov    %esp,%ebp
409e0f:	56                   	push   %esi
409e10:	68 20 10 41 00       	push   $0x411020
409e15:	68 18 10 41 00       	push   $0x411018
409e1a:	68 80 fc 40 00       	push   $0x40fc80
409e1f:	6a 21                	push   $0x21
409e21:	e8 82 fe ff ff       	call   0x409ca8
409e26:	8b f0                	mov    %eax,%esi
409e28:	83 c4 10             	add    $0x10,%esp
409e2b:	85 f6                	test   %esi,%esi
409e2d:	74 12                	je     0x409e41
409e2f:	ff 75 08             	push   0x8(%ebp)
409e32:	8b ce                	mov    %esi,%ecx
409e34:	ff 15 18 f1 40 00    	call   *0x40f118
409e3a:	ff d6                	call   *%esi
409e3c:	5e                   	pop    %esi
409e3d:	5d                   	pop    %ebp
409e3e:	c2 04 00             	ret    $0x4
409e41:	5e                   	pop    %esi
409e42:	5d                   	pop    %ebp
409e43:	ff 25 78 f0 40 00    	jmp    *0x40f078
409e49:	8b ff                	mov    %edi,%edi
409e4b:	55                   	push   %ebp
409e4c:	8b ec                	mov    %esp,%ebp
409e4e:	56                   	push   %esi
409e4f:	68 28 10 41 00       	push   $0x411028
409e54:	68 20 10 41 00       	push   $0x411020
409e59:	68 94 fc 40 00       	push   $0x40fc94
409e5e:	6a 22                	push   $0x22
409e60:	e8 43 fe ff ff       	call   0x409ca8
409e65:	8b f0                	mov    %eax,%esi
409e67:	83 c4 10             	add    $0x10,%esp
409e6a:	85 f6                	test   %esi,%esi
409e6c:	74 15                	je     0x409e83
409e6e:	ff 75 0c             	push   0xc(%ebp)
409e71:	8b ce                	mov    %esi,%ecx
409e73:	ff 75 08             	push   0x8(%ebp)
409e76:	ff 15 18 f1 40 00    	call   *0x40f118
409e7c:	ff d6                	call   *%esi
409e7e:	5e                   	pop    %esi
409e7f:	5d                   	pop    %ebp
409e80:	c2 08 00             	ret    $0x8
409e83:	5e                   	pop    %esi
409e84:	5d                   	pop    %ebp
409e85:	ff 25 7c f0 40 00    	jmp    *0x40f07c
409e8b:	8b ff                	mov    %edi,%edi
409e8d:	55                   	push   %ebp
409e8e:	8b ec                	mov    %esp,%ebp
409e90:	56                   	push   %esi
409e91:	68 a8 0f 41 00       	push   $0x410fa8
409e96:	68 a0 0f 41 00       	push   $0x410fa0
409e9b:	68 a8 fc 40 00       	push   $0x40fca8
409ea0:	6a 0f                	push   $0xf
409ea2:	e8 01 fe ff ff       	call   0x409ca8
409ea7:	8b f0                	mov    %eax,%esi
409ea9:	83 c4 10             	add    $0x10,%esp
409eac:	85 f6                	test   %esi,%esi
409eae:	74 15                	je     0x409ec5
409eb0:	ff 75 10             	push   0x10(%ebp)
409eb3:	8b ce                	mov    %esi,%ecx
409eb5:	ff 75 0c             	push   0xc(%ebp)
409eb8:	ff 75 08             	push   0x8(%ebp)
409ebb:	ff 15 18 f1 40 00    	call   *0x40f118
409ec1:	ff d6                	call   *%esi
409ec3:	eb 0c                	jmp    0x409ed1
409ec5:	ff 75 0c             	push   0xc(%ebp)
409ec8:	ff 75 08             	push   0x8(%ebp)
409ecb:	ff 15 70 f0 40 00    	call   *0x40f070
409ed1:	5e                   	pop    %esi
409ed2:	5d                   	pop    %ebp
409ed3:	c2 0c 00             	ret    $0xc
409ed6:	8b ff                	mov    %edi,%edi
409ed8:	55                   	push   %ebp
409ed9:	8b ec                	mov    %esp,%ebp
409edb:	56                   	push   %esi
409edc:	e8 c8 fc ff ff       	call   0x409ba9
409ee1:	8b f0                	mov    %eax,%esi
409ee3:	85 f6                	test   %esi,%esi
409ee5:	74 27                	je     0x409f0e
409ee7:	ff 75 28             	push   0x28(%ebp)
409eea:	8b ce                	mov    %esi,%ecx
409eec:	ff 75 24             	push   0x24(%ebp)
409eef:	ff 75 20             	push   0x20(%ebp)
409ef2:	ff 75 1c             	push   0x1c(%ebp)
409ef5:	ff 75 18             	push   0x18(%ebp)
409ef8:	ff 75 14             	push   0x14(%ebp)
409efb:	ff 75 10             	push   0x10(%ebp)
409efe:	ff 75 0c             	push   0xc(%ebp)
409f01:	ff 75 08             	push   0x8(%ebp)
409f04:	ff 15 18 f1 40 00    	call   *0x40f118
409f0a:	ff d6                	call   *%esi
409f0c:	eb 20                	jmp    0x409f2e
409f0e:	ff 75 1c             	push   0x1c(%ebp)
409f11:	ff 75 18             	push   0x18(%ebp)
409f14:	ff 75 14             	push   0x14(%ebp)
409f17:	ff 75 10             	push   0x10(%ebp)
409f1a:	ff 75 0c             	push   0xc(%ebp)
409f1d:	6a 00                	push   $0x0
409f1f:	ff 75 08             	push   0x8(%ebp)
409f22:	e8 0c 00 00 00       	call   0x409f33
409f27:	50                   	push   %eax
409f28:	ff 15 e4 f0 40 00    	call   *0x40f0e4
409f2e:	5e                   	pop    %esi
409f2f:	5d                   	pop    %ebp
409f30:	c2 24 00             	ret    $0x24
409f33:	8b ff                	mov    %edi,%edi
409f35:	55                   	push   %ebp
409f36:	8b ec                	mov    %esp,%ebp
409f38:	56                   	push   %esi
409f39:	e8 85 fc ff ff       	call   0x409bc3
409f3e:	8b f0                	mov    %eax,%esi
409f40:	85 f6                	test   %esi,%esi
409f42:	74 12                	je     0x409f56
409f44:	ff 75 0c             	push   0xc(%ebp)
409f47:	8b ce                	mov    %esi,%ecx
409f49:	ff 75 08             	push   0x8(%ebp)
409f4c:	ff 15 18 f1 40 00    	call   *0x40f118
409f52:	ff d6                	call   *%esi
409f54:	eb 09                	jmp    0x409f5f
409f56:	ff 75 08             	push   0x8(%ebp)
409f59:	e8 3c 18 00 00       	call   0x40b79a
409f5e:	59                   	pop    %ecx
409f5f:	5e                   	pop    %esi
409f60:	5d                   	pop    %ebp
409f61:	c2 08 00             	ret    $0x8
409f64:	a1 14 60 41 00       	mov    0x416014,%eax
409f69:	57                   	push   %edi
409f6a:	6a 23                	push   $0x23
409f6c:	59                   	pop    %ecx
409f6d:	bf d8 72 41 00       	mov    $0x4172d8,%edi
409f72:	f3 ab                	rep stos %eax,%es:(%edi)
409f74:	b0 01                	mov    $0x1,%al
409f76:	5f                   	pop    %edi
409f77:	c3                   	ret
409f78:	8b ff                	mov    %edi,%edi
409f7a:	55                   	push   %ebp
409f7b:	8b ec                	mov    %esp,%ebp
409f7d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
409f81:	75 27                	jne    0x409faa
409f83:	56                   	push   %esi
409f84:	be 80 72 41 00       	mov    $0x417280,%esi
409f89:	83 3e 00             	cmpl   $0x0,(%esi)
409f8c:	74 10                	je     0x409f9e
409f8e:	83 3e ff             	cmpl   $0xffffffff,(%esi)
409f91:	74 08                	je     0x409f9b
409f93:	ff 36                	push   (%esi)
409f95:	ff 15 84 f0 40 00    	call   *0x40f084
409f9b:	83 26 00             	andl   $0x0,(%esi)
409f9e:	83 c6 04             	add    $0x4,%esi
409fa1:	81 fe d8 72 41 00    	cmp    $0x4172d8,%esi
409fa7:	75 e0                	jne    0x409f89
409fa9:	5e                   	pop    %esi
409faa:	b0 01                	mov    $0x1,%al
409fac:	5d                   	pop    %ebp
409fad:	c3                   	ret
409fae:	8b ff                	mov    %edi,%edi
409fb0:	55                   	push   %ebp
409fb1:	8b ec                	mov    %esp,%ebp
409fb3:	56                   	push   %esi
409fb4:	8b 75 0c             	mov    0xc(%ebp),%esi
409fb7:	85 f6                	test   %esi,%esi
409fb9:	74 1b                	je     0x409fd6
409fbb:	6a e0                	push   $0xffffffe0
409fbd:	33 d2                	xor    %edx,%edx
409fbf:	58                   	pop    %eax
409fc0:	f7 f6                	div    %esi
409fc2:	3b 45 10             	cmp    0x10(%ebp),%eax
409fc5:	73 0f                	jae    0x409fd6
409fc7:	e8 84 d9 ff ff       	call   0x407950
409fcc:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
409fd2:	33 c0                	xor    %eax,%eax
409fd4:	eb 42                	jmp    0x40a018
409fd6:	53                   	push   %ebx
409fd7:	8b 5d 08             	mov    0x8(%ebp),%ebx
409fda:	57                   	push   %edi
409fdb:	85 db                	test   %ebx,%ebx
409fdd:	74 0b                	je     0x409fea
409fdf:	53                   	push   %ebx
409fe0:	e8 e1 17 00 00       	call   0x40b7c6
409fe5:	59                   	pop    %ecx
409fe6:	8b f8                	mov    %eax,%edi
409fe8:	eb 02                	jmp    0x409fec
409fea:	33 ff                	xor    %edi,%edi
409fec:	0f af 75 10          	imul   0x10(%ebp),%esi
409ff0:	56                   	push   %esi
409ff1:	53                   	push   %ebx
409ff2:	e8 02 18 00 00       	call   0x40b7f9
409ff7:	8b d8                	mov    %eax,%ebx
409ff9:	59                   	pop    %ecx
409ffa:	59                   	pop    %ecx
409ffb:	85 db                	test   %ebx,%ebx
409ffd:	74 15                	je     0x40a014
409fff:	3b fe                	cmp    %esi,%edi
40a001:	73 11                	jae    0x40a014
40a003:	2b f7                	sub    %edi,%esi
40a005:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
40a008:	56                   	push   %esi
40a009:	6a 00                	push   $0x0
40a00b:	50                   	push   %eax
40a00c:	e8 cf 9f ff ff       	call   0x403fe0
40a011:	83 c4 0c             	add    $0xc,%esp
40a014:	5f                   	pop    %edi
40a015:	8b c3                	mov    %ebx,%eax
40a017:	5b                   	pop    %ebx
40a018:	5e                   	pop    %esi
40a019:	5d                   	pop    %ebp
40a01a:	c3                   	ret
40a01b:	ff 15 e8 f0 40 00    	call   *0x40f0e8
40a021:	85 c0                	test   %eax,%eax
40a023:	a3 6c 73 41 00       	mov    %eax,0x41736c
40a028:	0f 95 c0             	setne  %al
40a02b:	c3                   	ret
40a02c:	83 25 6c 73 41 00 00 	andl   $0x0,0x41736c
40a033:	b0 01                	mov    $0x1,%al
40a035:	c3                   	ret
40a036:	8b ff                	mov    %edi,%edi
40a038:	55                   	push   %ebp
40a039:	8b ec                	mov    %esp,%ebp
40a03b:	53                   	push   %ebx
40a03c:	56                   	push   %esi
40a03d:	57                   	push   %edi
40a03e:	8b 7d 08             	mov    0x8(%ebp),%edi
40a041:	3b 7d 0c             	cmp    0xc(%ebp),%edi
40a044:	74 51                	je     0x40a097
40a046:	8b f7                	mov    %edi,%esi
40a048:	8b 1e                	mov    (%esi),%ebx
40a04a:	85 db                	test   %ebx,%ebx
40a04c:	74 0e                	je     0x40a05c
40a04e:	8b cb                	mov    %ebx,%ecx
40a050:	ff 15 18 f1 40 00    	call   *0x40f118
40a056:	ff d3                	call   *%ebx
40a058:	84 c0                	test   %al,%al
40a05a:	74 08                	je     0x40a064
40a05c:	83 c6 08             	add    $0x8,%esi
40a05f:	3b 75 0c             	cmp    0xc(%ebp),%esi
40a062:	75 e4                	jne    0x40a048
40a064:	3b 75 0c             	cmp    0xc(%ebp),%esi
40a067:	74 2e                	je     0x40a097
40a069:	3b f7                	cmp    %edi,%esi
40a06b:	74 26                	je     0x40a093
40a06d:	83 c6 fc             	add    $0xfffffffc,%esi
40a070:	83 7e fc 00          	cmpl   $0x0,-0x4(%esi)
40a074:	74 13                	je     0x40a089
40a076:	8b 1e                	mov    (%esi),%ebx
40a078:	85 db                	test   %ebx,%ebx
40a07a:	74 0d                	je     0x40a089
40a07c:	6a 00                	push   $0x0
40a07e:	8b cb                	mov    %ebx,%ecx
40a080:	ff 15 18 f1 40 00    	call   *0x40f118
40a086:	ff d3                	call   *%ebx
40a088:	59                   	pop    %ecx
40a089:	83 ee 08             	sub    $0x8,%esi
40a08c:	8d 46 04             	lea    0x4(%esi),%eax
40a08f:	3b c7                	cmp    %edi,%eax
40a091:	75 dd                	jne    0x40a070
40a093:	32 c0                	xor    %al,%al
40a095:	eb 02                	jmp    0x40a099
40a097:	b0 01                	mov    $0x1,%al
40a099:	5f                   	pop    %edi
40a09a:	5e                   	pop    %esi
40a09b:	5b                   	pop    %ebx
40a09c:	5d                   	pop    %ebp
40a09d:	c3                   	ret
40a09e:	8b ff                	mov    %edi,%edi
40a0a0:	55                   	push   %ebp
40a0a1:	8b ec                	mov    %esp,%ebp
40a0a3:	56                   	push   %esi
40a0a4:	8b 75 0c             	mov    0xc(%ebp),%esi
40a0a7:	39 75 08             	cmp    %esi,0x8(%ebp)
40a0aa:	74 1e                	je     0x40a0ca
40a0ac:	57                   	push   %edi
40a0ad:	8b 7e fc             	mov    -0x4(%esi),%edi
40a0b0:	85 ff                	test   %edi,%edi
40a0b2:	74 0d                	je     0x40a0c1
40a0b4:	6a 00                	push   $0x0
40a0b6:	8b cf                	mov    %edi,%ecx
40a0b8:	ff 15 18 f1 40 00    	call   *0x40f118
40a0be:	ff d7                	call   *%edi
40a0c0:	59                   	pop    %ecx
40a0c1:	83 ee 08             	sub    $0x8,%esi
40a0c4:	3b 75 08             	cmp    0x8(%ebp),%esi
40a0c7:	75 e4                	jne    0x40a0ad
40a0c9:	5f                   	pop    %edi
40a0ca:	b0 01                	mov    $0x1,%al
40a0cc:	5e                   	pop    %esi
40a0cd:	5d                   	pop    %ebp
40a0ce:	c3                   	ret
40a0cf:	6a 0c                	push   $0xc
40a0d1:	68 58 4c 41 00       	push   $0x414c58
40a0d6:	e8 35 93 ff ff       	call   0x403410
40a0db:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40a0df:	8b 45 08             	mov    0x8(%ebp),%eax
40a0e2:	ff 30                	push   (%eax)
40a0e4:	e8 e3 d6 ff ff       	call   0x4077cc
40a0e9:	59                   	pop    %ecx
40a0ea:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40a0ee:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
40a0f4:	83 e1 1f             	and    $0x1f,%ecx
40a0f7:	8b 35 78 73 41 00    	mov    0x417378,%esi
40a0fd:	33 35 14 60 41 00    	xor    0x416014,%esi
40a103:	d3 ce                	ror    %cl,%esi
40a105:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40a108:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40a10f:	e8 17 00 00 00       	call   0x40a12b
40a114:	8b c6                	mov    %esi,%eax
40a116:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40a119:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0