410c65:	74 05                	je     0x410c6c
410c67:	ff 75 d4             	push   -0x2c(%ebp)
410c6a:	ff d3                	call   *%ebx
410c6c:	39 75 d8             	cmp    %esi,-0x28(%ebp)
410c6f:	74 05                	je     0x410c76
410c71:	ff 75 d8             	push   -0x28(%ebp)
410c74:	ff d3                	call   *%ebx
410c76:	8b 45 08             	mov    0x8(%ebp),%eax
410c79:	8b 08                	mov    (%eax),%ecx
410c7b:	50                   	push   %eax
410c7c:	ff 51 08             	call   *0x8(%ecx)
410c7f:	39 75 0c             	cmp    %esi,0xc(%ebp)
410c82:	7c 0a                	jl     0x410c8e
410c84:	c7 87 a4 00 00 00 01 	movl   $0x1,0xa4(%edi)
410c8b:	00 00 00
410c8e:	33 c0                	xor    %eax,%eax
410c90:	5b                   	pop    %ebx
410c91:	5f                   	pop    %edi
410c92:	5e                   	pop    %esi
410c93:	c9                   	leave
410c94:	c2 08 00             	ret    $0x8
410c97:	55                   	push   %ebp
410c98:	8b ec                	mov    %esp,%ebp
410c9a:	83 ec 24             	sub    $0x24,%esp
410c9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
410ca0:	56                   	push   %esi
410ca1:	81 c1 2c ff ff ff    	add    $0xffffff2c,%ecx
410ca7:	33 f6                	xor    %esi,%esi
410ca9:	39 b1 84 00 00 00    	cmp    %esi,0x84(%ecx)
410caf:	75 37                	jne    0x410ce8
410cb1:	39 b1 8c 00 00 00    	cmp    %esi,0x8c(%ecx)
410cb7:	75 2f                	jne    0x410ce8
410cb9:	8b 45 0c             	mov    0xc(%ebp),%eax
410cbc:	89 45 e0             	mov    %eax,-0x20(%ebp)
410cbf:	8d 45 dc             	lea    -0x24(%ebp),%eax
410cc2:	50                   	push   %eax
410cc3:	c7 45 dc 01 00 00 00 	movl   $0x1,-0x24(%ebp)
410cca:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410ccd:	89 75 e8             	mov    %esi,-0x18(%ebp)
410cd0:	89 75 ec             	mov    %esi,-0x14(%ebp)
410cd3:	89 75 f4             	mov    %esi,-0xc(%ebp)
410cd6:	89 75 f8             	mov    %esi,-0x8(%ebp)
410cd9:	89 75 fc             	mov    %esi,-0x4(%ebp)
410cdc:	e8 89 df ff ff       	call   0x40ec6a
410ce1:	8b 45 f4             	mov    -0xc(%ebp),%eax
410ce4:	3b c6                	cmp    %esi,%eax
410ce6:	75 02                	jne    0x410cea
410ce8:	33 c0                	xor    %eax,%eax
410cea:	5e                   	pop    %esi
410ceb:	c9                   	leave
410cec:	c2 08 00             	ret    $0x8
410cef:	55                   	push   %ebp
410cf0:	8b ec                	mov    %esp,%ebp
410cf2:	83 ec 24             	sub    $0x24,%esp
410cf5:	ff 75 28             	push   0x28(%ebp)
410cf8:	8d 4d dc             	lea    -0x24(%ebp),%ecx
410cfb:	ff 75 24             	push   0x24(%ebp)
410cfe:	ff 75 1c             	push   0x1c(%ebp)
410d01:	ff 75 0c             	push   0xc(%ebp)
410d04:	6a 00                	push   $0x0
410d06:	e8 0b f1 ff ff       	call   0x40fe16
410d0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
410d0e:	8d 45 dc             	lea    -0x24(%ebp),%eax
410d11:	50                   	push   %eax
410d12:	81 c1 28 ff ff ff    	add    $0xffffff28,%ecx
410d18:	e8 4d df ff ff       	call   0x40ec6a
410d1d:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
410d21:	74 09                	je     0x410d2c
410d23:	ff 75 20             	push   0x20(%ebp)
410d26:	ff 15 f4 04 4b 00    	call   *0x4b04f4
410d2c:	8b 45 f4             	mov    -0xc(%ebp),%eax
410d2f:	c9                   	leave
410d30:	c2 24 00             	ret    $0x24
410d33:	56                   	push   %esi
410d34:	8b f1                	mov    %ecx,%esi
410d36:	e8 1a d5 ff ff       	call   0x40e255
410d3b:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
410d40:	74 07                	je     0x410d49
410d42:	56                   	push   %esi
410d43:	e8 38 f3 02 00       	call   0x440080
410d48:	59                   	pop    %ecx
410d49:	8b c6                	mov    %esi,%eax
410d4b:	5e                   	pop    %esi
410d4c:	c2 04 00             	ret    $0x4
410d4f:	55                   	push   %ebp
410d50:	8b ec                	mov    %esp,%ebp
410d52:	51                   	push   %ecx
410d53:	56                   	push   %esi
410d54:	8b f1                	mov    %ecx,%esi
410d56:	81 7e 08 01 00 01 80 	cmpl   $0x80010001,0x8(%esi)
410d5d:	74 70                	je     0x410dcf
410d5f:	8b 06                	mov    (%esi),%eax
410d61:	85 c0                	test   %eax,%eax
410d63:	74 6a                	je     0x410dcf
410d65:	8b 40 4c             	mov    0x4c(%eax),%eax
410d68:	8b 08                	mov    (%eax),%ecx
410d6a:	8d 55 fc             	lea    -0x4(%ebp),%edx
410d6d:	52                   	push   %edx
410d6e:	68 fc 45 49 00       	push   $0x4945fc
410d73:	50                   	push   %eax
410d74:	ff 11                	call   *(%ecx)
410d76:	85 c0                	test   %eax,%eax
410d78:	7c 24                	jl     0x410d9e
410d7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
410d7d:	8b 08                	mov    (%eax),%ecx
410d7f:	8d 56 10             	lea    0x10(%esi),%edx
410d82:	52                   	push   %edx
410d83:	33 d2                	xor    %edx,%edx
410d85:	39 56 0c             	cmp    %edx,0xc(%esi)
410d88:	0f 95 c2             	setne  %dl
410d8b:	52                   	push   %edx
410d8c:	ff 76 08             	push   0x8(%esi)
410d8f:	50                   	push   %eax
410d90:	ff 51 0c             	call   *0xc(%ecx)
410d93:	8b 45 fc             	mov    -0x4(%ebp),%eax
410d96:	8b 08                	mov    (%eax),%ecx
410d98:	50                   	push   %eax
410d99:	ff 51 08             	call   *0x8(%ecx)
410d9c:	eb 31                	jmp    0x410dcf
410d9e:	8b ce                	mov    %esi,%ecx
410da0:	e8 fe e9 ff ff       	call   0x40f7a3
410da5:	85 c0                	test   %eax,%eax
410da7:	74 26                	je     0x410dcf
410da9:	8b 4e 0c             	mov    0xc(%esi),%ecx
410dac:	83 b9 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ecx)
410db3:	6a 0d                	push   $0xd
410db5:	5a                   	pop    %edx
410db6:	74 05                	je     0x410dbd
410db8:	ba 0d 80 00 00       	mov    $0x800d,%edx
410dbd:	8b 0e                	mov    (%esi),%ecx
410dbf:	57                   	push   %edi
410dc0:	8b 39                	mov    (%ecx),%edi
410dc2:	50                   	push   %eax
410dc3:	52                   	push   %edx
410dc4:	ff 76 08             	push   0x8(%esi)
410dc7:	51                   	push   %ecx
410dc8:	ff 57 70             	call   *0x70(%edi)
410dcb:	83 c4 10             	add    $0x10,%esp
410dce:	5f                   	pop    %edi
410dcf:	5e                   	pop    %esi
410dd0:	c9                   	leave
410dd1:	c3                   	ret
410dd2:	55                   	push   %ebp
410dd3:	8b ec                	mov    %esp,%ebp
410dd5:	83 ec 24             	sub    $0x24,%esp
410dd8:	81 c1 20 ff ff ff    	add    $0xffffff20,%ecx
410dde:	f6 45 08 03          	testb  $0x3,0x8(%ebp)
410de2:	75 04                	jne    0x410de8
410de4:	33 c0                	xor    %eax,%eax
410de6:	eb 31                	jmp    0x410e19
410de8:	56                   	push   %esi
410de9:	57                   	push   %edi
410dea:	33 ff                	xor    %edi,%edi
410dec:	33 f6                	xor    %esi,%esi
410dee:	39 7d 0c             	cmp    %edi,0xc(%ebp)
410df1:	76 22                	jbe    0x410e15
410df3:	8b 55 10             	mov    0x10(%ebp),%edx
410df6:	8b 02                	mov    (%edx),%eax
410df8:	48                   	dec    %eax
410df9:	83 f8 1e             	cmp    $0x1e,%eax
410dfc:	77 0e                	ja     0x410e0c
410dfe:	0f b6 80 87 0e 41 00 	movzbl 0x410e87(%eax),%eax
410e05:	ff 24 85 67 0e 41 00 	jmp    *0x410e67(,%eax,4)
410e0c:	46                   	inc    %esi
410e0d:	83 c2 28             	add    $0x28,%edx
410e10:	3b 75 0c             	cmp    0xc(%ebp),%esi
410e13:	72 e1                	jb     0x410df6
410e15:	33 c0                	xor    %eax,%eax
410e17:	5f                   	pop    %edi
410e18:	5e                   	pop    %esi
410e19:	c9                   	leave
410e1a:	c2 10 00             	ret    $0x10
410e1d:	33 c0                	xor    %eax,%eax
410e1f:	40                   	inc    %eax
410e20:	eb 17                	jmp    0x410e39
410e22:	6a 07                	push   $0x7
410e24:	eb 12                	jmp    0x410e38
410e26:	6a 05                	push   $0x5
410e28:	eb 0e                	jmp    0x410e38
410e2a:	6a 04                	push   $0x4
410e2c:	eb 0a                	jmp    0x410e38
410e2e:	6a 06                	push   $0x6
410e30:	eb 06                	jmp    0x410e38
410e32:	6a 03                	push   $0x3
410e34:	eb 02                	jmp    0x410e38
410e36:	6a 02                	push   $0x2
410e38:	58                   	pop    %eax
410e39:	8b 55 14             	mov    0x14(%ebp),%edx
410e3c:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
410e40:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e43:	8d 45 dc             	lea    -0x24(%ebp),%eax
410e46:	50                   	push   %eax
410e47:	c7 45 dc 03 00 00 00 	movl   $0x3,-0x24(%ebp)
410e4e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
410e51:	89 7d e8             	mov    %edi,-0x18(%ebp)
410e54:	89 7d ec             	mov    %edi,-0x14(%ebp)
410e57:	89 7d f4             	mov    %edi,-0xc(%ebp)
410e5a:	89 55 f8             	mov    %edx,-0x8(%ebp)
410e5d:	e8 08 de ff ff       	call   0x40ec6a
410e62:	8b 45 f4             	mov    -0xc(%ebp),%eax
410e65:	eb b0                	jmp    0x410e17
410e67:	32 0e                	xor    (%esi),%cl
410e69:	41                   	inc    %ecx
410e6a:	00 26                	add    %ah,(%esi)
410e6c:	0e                   	push   %cs
410e6d:	41                   	inc    %ecx
410e6e:	00 2e                	add    %ch,(%esi)
410e70:	0e                   	push   %cs
410e71:	41                   	inc    %ecx
410e72:	00 22                	add    %ah,(%edx)
410e74:	0e                   	push   %cs
410e75:	41                   	inc    %ecx
410e76:	00 36                	add    %dh,(%esi)
410e78:	0e                   	push   %cs
410e79:	41                   	inc    %ecx
410e7a:	00 1d 0e 41 00 2a    	add    %bl,0x2a00410e
410e80:	0e                   	push   %cs
410e81:	41                   	inc    %ecx
410e82:	00 0c 0e             	add    %cl,(%esi,%ecx,1)
410e85:	41                   	inc    %ecx
410e86:	00 00                	add    %al,(%eax)
410e88:	01 02                	add    %eax,(%edx)
410e8a:	07                   	pop    %es
410e8b:	07                   	pop    %es
410e8c:	03 03                	add    (%ebx),%eax
410e8e:	03 02                	add    (%edx),%eax
410e90:	02 03                	add    (%ebx),%al
410e92:	03 07                	add    (%edi),%eax
410e94:	07                   	pop    %es
410e95:	03 03                	add    (%ebx),%eax
410e97:	07                   	pop    %es
410e98:	07                   	pop    %es
410e99:	03 01                	add    (%ecx),%eax
410e9b:	03 07                	add    (%edi),%eax
410e9d:	02 04 05 07 07 07 07 	add    0x7070707(,%eax,1),%al
410ea4:	07                   	pop    %es
410ea5:	06                   	push   %es
410ea6:	8b c1                	mov    %ecx,%eax
410ea8:	83 20 00             	andl   $0x0,(%eax)
410eab:	c3                   	ret
410eac:	8b c1                	mov    %ecx,%eax
410eae:	83 20 00             	andl   $0x0,(%eax)
410eb1:	c3                   	ret
410eb2:	8b c1                	mov    %ecx,%eax
410eb4:	83 20 00             	andl   $0x0,(%eax)
410eb7:	c3                   	ret
410eb8:	56                   	push   %esi
410eb9:	8b f1                	mov    %ecx,%esi
410ebb:	ff 36                	push   (%esi)
410ebd:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
410ec3:	83 26 00             	andl   $0x0,(%esi)
410ec6:	5e                   	pop    %esi
410ec7:	c3                   	ret
410ec8:	53                   	push   %ebx
410ec9:	56                   	push   %esi
410eca:	8b f1                	mov    %ecx,%esi
410ecc:	8b 4e 08             	mov    0x8(%esi),%ecx
410ecf:	8b 59 04             	mov    0x4(%ecx),%ebx
410ed2:	57                   	push   %edi
410ed3:	33 c0                	xor    %eax,%eax
410ed5:	33 ff                	xor    %edi,%edi
410ed7:	85 db                	test   %ebx,%ebx
410ed9:	76 1d                	jbe    0x410ef8
410edb:	8b 4e 08             	mov    0x8(%esi),%ecx
410ede:	8b 09                	mov    (%ecx),%ecx
410ee0:	80 7c f9 04 00       	cmpb   $0x0,0x4(%ecx,%edi,8)
410ee5:	74 0c                	je     0x410ef3
410ee7:	57                   	push   %edi
410ee8:	8b ce                	mov    %esi,%ecx
410eea:	e8 eb ea ff ff       	call   0x40f9da
410eef:	85 c0                	test   %eax,%eax
410ef1:	7c 05                	jl     0x410ef8
410ef3:	47                   	inc    %edi
410ef4:	3b fb                	cmp    %ebx,%edi
410ef6:	72 e3                	jb     0x410edb
410ef8:	5f                   	pop    %edi
410ef9:	5e                   	pop    %esi
410efa:	5b                   	pop    %ebx
410efb:	c3                   	ret
410efc:	8b 01                	mov    (%ecx),%eax
410efe:	85 c0                	test   %eax,%eax
410f00:	74 0a                	je     0x410f0c
410f02:	83 c1 04             	add    $0x4,%ecx
410f05:	51                   	push   %ecx
410f06:	50                   	push   %eax
410f07:	e8 82 eb ff ff       	call   0x40fa8e
410f0c:	c3                   	ret
410f0d:	8b 01                	mov    (%ecx),%eax
410f0f:	85 c0                	test   %eax,%eax
410f11:	74 06                	je     0x410f19
410f13:	8b 08                	mov    (%eax),%ecx
410f15:	50                   	push   %eax
410f16:	ff 51 08             	call   *0x8(%ecx)
410f19:	c3                   	ret
410f1a:	8b 01                	mov    (%ecx),%eax
410f1c:	85 c0                	test   %eax,%eax
410f1e:	74 06                	je     0x410f26
410f20:	8b 08                	mov    (%eax),%ecx
410f22:	50                   	push   %eax
410f23:	ff 51 08             	call   *0x8(%ecx)
410f26:	c3                   	ret
410f27:	8b c1                	mov    %ecx,%eax
410f29:	83 20 00             	andl   $0x0,(%eax)
410f2c:	c3                   	ret
410f2d:	8b c1                	mov    %ecx,%eax
410f2f:	83 20 00             	andl   $0x0,(%eax)
410f32:	c3                   	ret
410f33:	8b c1                	mov    %ecx,%eax
410f35:	83 20 00             	andl   $0x0,(%eax)
410f38:	c3                   	ret
410f39:	8b c1                	mov    %ecx,%eax
410f3b:	83 20 00             	andl   $0x0,(%eax)
410f3e:	c3                   	ret
410f3f:	8b 51 04             	mov    0x4(%ecx),%edx
410f42:	85 d2                	test   %edx,%edx
410f44:	74 20                	je     0x410f66
410f46:	8b 41 08             	mov    0x8(%ecx),%eax
410f49:	56                   	push   %esi
410f4a:	8b 70 08             	mov    0x8(%eax),%esi
410f4d:	8b 00                	mov    (%eax),%eax
410f4f:	57                   	push   %edi
410f50:	8b 7c 24 0c          	mov    0xc(%esp),%edi
410f54:	8b 04 f8             	mov    (%eax,%edi,8),%eax
410f57:	8b 3a                	mov    (%edx),%edi
410f59:	56                   	push   %esi
410f5a:	50                   	push   %eax
410f5b:	ff 71 0c             	push   0xc(%ecx)
410f5e:	52                   	push   %edx
410f5f:	ff 57 10             	call   *0x10(%edi)
410f62:	5f                   	pop    %edi
410f63:	5e                   	pop    %esi
410f64:	eb 05                	jmp    0x410f6b
410f66:	b8 02 40 00 80       	mov    $0x80004002,%eax
410f6b:	c2 04 00             	ret    $0x4
410f6e:	e9 e2 d2 ff ff       	jmp    0x40e255
410f73:	55                   	push   %ebp
410f74:	8b ec                	mov    %esp,%ebp
410f76:	51                   	push   %ecx
410f77:	51                   	push   %ecx
410f78:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
410f7c:	56                   	push   %esi
410f7d:	8b f1                	mov    %ecx,%esi
410f7f:	e8 e0 e9 ff ff       	call   0x40f964
410f84:	8d 55 fc             	lea    -0x4(%ebp),%edx
410f87:	52                   	push   %edx
410f88:	8d 55 f8             	lea    -0x8(%ebp),%edx
410f8b:	52                   	push   %edx
410f8c:	33 d2                	xor    %edx,%edx
410f8e:	38 55 0c             	cmp    %dl,0xc(%ebp)
410f91:	8d 46 0c             	lea    0xc(%esi),%eax