405cfe:	83 e1 1f             	and    $0x1f,%ecx
405d01:	ff 75 10             	push   0x10(%ebp)
405d04:	33 35 14 60 41 00    	xor    0x416014,%esi
405d0a:	ff 75 0c             	push   0xc(%ebp)
405d0d:	d3 ce                	ror    %cl,%esi
405d0f:	ff 75 08             	push   0x8(%ebp)
405d12:	85 f6                	test   %esi,%esi
405d14:	75 bd                	jne    0x405cd3
405d16:	e8 2e 00 00 00       	call   0x405d49
405d1b:	cc                   	int3
405d1c:	33 c0                	xor    %eax,%eax
405d1e:	50                   	push   %eax
405d1f:	50                   	push   %eax
405d20:	50                   	push   %eax
405d21:	50                   	push   %eax
405d22:	50                   	push   %eax
405d23:	e8 40 ff ff ff       	call   0x405c68
405d28:	83 c4 14             	add    $0x14,%esp
405d2b:	c3                   	ret
405d2c:	8b ff                	mov    %edi,%edi
405d2e:	56                   	push   %esi
405d2f:	33 f6                	xor    %esi,%esi
405d31:	56                   	push   %esi
405d32:	56                   	push   %esi
405d33:	56                   	push   %esi
405d34:	56                   	push   %esi
405d35:	56                   	push   %esi
405d36:	e8 2d ff ff ff       	call   0x405c68
405d3b:	83 c4 14             	add    $0x14,%esp
405d3e:	56                   	push   %esi
405d3f:	56                   	push   %esi
405d40:	56                   	push   %esi
405d41:	56                   	push   %esi
405d42:	56                   	push   %esi
405d43:	e8 01 00 00 00       	call   0x405d49
405d48:	cc                   	int3
405d49:	6a 17                	push   $0x17
405d4b:	ff 15 40 f0 40 00    	call   *0x40f040
405d51:	85 c0                	test   %eax,%eax
405d53:	74 05                	je     0x405d5a
405d55:	6a 05                	push   $0x5
405d57:	59                   	pop    %ecx
405d58:	cd 29                	int    $0x29
405d5a:	56                   	push   %esi
405d5b:	6a 01                	push   $0x1
405d5d:	be 17 04 00 c0       	mov    $0xc0000417,%esi
405d62:	56                   	push   %esi
405d63:	6a 02                	push   $0x2
405d65:	e8 b6 fd ff ff       	call   0x405b20
405d6a:	83 c4 0c             	add    $0xc,%esp
405d6d:	56                   	push   %esi
405d6e:	ff 15 48 f0 40 00    	call   *0x40f048
405d74:	50                   	push   %eax
405d75:	ff 15 4c f0 40 00    	call   *0x40f04c
405d7b:	5e                   	pop    %esi
405d7c:	c3                   	ret
405d7d:	8b ff                	mov    %edi,%edi
405d7f:	55                   	push   %ebp
405d80:	8b ec                	mov    %esp,%ebp
405d82:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
405d88:	8b 45 08             	mov    0x8(%ebp),%eax
405d8b:	83 e1 1f             	and    $0x1f,%ecx
405d8e:	33 05 14 60 41 00    	xor    0x416014,%eax
405d94:	d3 c8                	ror    %cl,%eax
405d96:	5d                   	pop    %ebp
405d97:	c3                   	ret
405d98:	8b ff                	mov    %edi,%edi
405d9a:	55                   	push   %ebp
405d9b:	8b ec                	mov    %esp,%ebp
405d9d:	8b 45 08             	mov    0x8(%ebp),%eax
405da0:	a3 90 6d 41 00       	mov    %eax,0x416d90
405da5:	5d                   	pop    %ebp
405da6:	c3                   	ret
405da7:	8b ff                	mov    %edi,%edi
405da9:	55                   	push   %ebp
405daa:	8b ec                	mov    %esp,%ebp
405dac:	56                   	push   %esi
405dad:	e8 21 00 00 00       	call   0x405dd3
405db2:	8b f0                	mov    %eax,%esi
405db4:	85 f6                	test   %esi,%esi
405db6:	74 16                	je     0x405dce
405db8:	ff 75 08             	push   0x8(%ebp)
405dbb:	8b ce                	mov    %esi,%ecx
405dbd:	ff 15 18 f1 40 00    	call   *0x40f118
405dc3:	ff d6                	call   *%esi
405dc5:	f7 d8                	neg    %eax
405dc7:	59                   	pop    %ecx
405dc8:	1b c0                	sbb    %eax,%eax
405dca:	f7 d8                	neg    %eax
405dcc:	eb 02                	jmp    0x405dd0
405dce:	33 c0                	xor    %eax,%eax
405dd0:	5e                   	pop    %esi
405dd1:	5d                   	pop    %ebp
405dd2:	c3                   	ret
405dd3:	6a 0c                	push   $0xc
405dd5:	68 90 49 41 00       	push   $0x414990
405dda:	e8 31 d6 ff ff       	call   0x403410
405ddf:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
405de3:	6a 00                	push   $0x0
405de5:	e8 e2 19 00 00       	call   0x4077cc
405dea:	59                   	pop    %ecx
405deb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405def:	ff 35 90 6d 41 00    	push   0x416d90
405df5:	e8 83 ff ff ff       	call   0x405d7d
405dfa:	59                   	pop    %ecx
405dfb:	8b f0                	mov    %eax,%esi
405dfd:	89 75 e4             	mov    %esi,-0x1c(%ebp)
405e00:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405e07:	e8 15 00 00 00       	call   0x405e21
405e0c:	8b c6                	mov    %esi,%eax
405e0e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405e11:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405e18:	59                   	pop    %ecx
405e19:	5f                   	pop    %edi
405e1a:	5e                   	pop    %esi
405e1b:	5b                   	pop    %ebx
405e1c:	c9                   	leave
405e1d:	c3                   	ret
405e1e:	8b 75 e4             	mov    -0x1c(%ebp),%esi
405e21:	6a 00                	push   $0x0
405e23:	e8 ec 19 00 00       	call   0x407814
405e28:	59                   	pop    %ecx
405e29:	c3                   	ret
405e2a:	8b ff                	mov    %edi,%edi
405e2c:	55                   	push   %ebp
405e2d:	8b ec                	mov    %esp,%ebp
405e2f:	5d                   	pop    %ebp
405e30:	e9 f6 19 00 00       	jmp    0x40782b
405e35:	8b ff                	mov    %edi,%edi
405e37:	55                   	push   %ebp
405e38:	8b ec                	mov    %esp,%ebp
405e3a:	51                   	push   %ecx
405e3b:	ff 75 08             	push   0x8(%ebp)
405e3e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405e45:	8b 45 fc             	mov    -0x4(%ebp),%eax
405e48:	e8 2c 1a 00 00       	call   0x407879
405e4d:	59                   	pop    %ecx
405e4e:	c9                   	leave
405e4f:	c3                   	ret
405e50:	8b ff                	mov    %edi,%edi
405e52:	55                   	push   %ebp
405e53:	8b ec                	mov    %esp,%ebp
405e55:	51                   	push   %ecx
405e56:	56                   	push   %esi
405e57:	57                   	push   %edi
405e58:	e8 94 17 00 00       	call   0x4075f1
405e5d:	8b f0                	mov    %eax,%esi
405e5f:	85 f6                	test   %esi,%esi
405e61:	74 1c                	je     0x405e7f
405e63:	8b 16                	mov    (%esi),%edx
405e65:	8b ca                	mov    %edx,%ecx
405e67:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
405e6d:	3b d0                	cmp    %eax,%edx
405e6f:	74 0e                	je     0x405e7f
405e71:	8b 7d 08             	mov    0x8(%ebp),%edi
405e74:	39 39                	cmp    %edi,(%ecx)
405e76:	74 0d                	je     0x405e85
405e78:	83 c1 0c             	add    $0xc,%ecx
405e7b:	3b c8                	cmp    %eax,%ecx
405e7d:	75 f5                	jne    0x405e74
405e7f:	33 c0                	xor    %eax,%eax
405e81:	5f                   	pop    %edi
405e82:	5e                   	pop    %esi
405e83:	c9                   	leave
405e84:	c3                   	ret
405e85:	85 c9                	test   %ecx,%ecx
405e87:	74 f6                	je     0x405e7f
405e89:	8b 79 08             	mov    0x8(%ecx),%edi
405e8c:	85 ff                	test   %edi,%edi
405e8e:	74 ef                	je     0x405e7f
405e90:	83 ff 05             	cmp    $0x5,%edi
405e93:	75 09                	jne    0x405e9e
405e95:	83 61 08 00          	andl   $0x0,0x8(%ecx)
405e99:	33 c0                	xor    %eax,%eax
405e9b:	40                   	inc    %eax
405e9c:	eb e3                	jmp    0x405e81
405e9e:	83 ff 01             	cmp    $0x1,%edi
405ea1:	75 05                	jne    0x405ea8
405ea3:	83 c8 ff             	or     $0xffffffff,%eax
405ea6:	eb d9                	jmp    0x405e81
405ea8:	8b 46 04             	mov    0x4(%esi),%eax
405eab:	89 45 fc             	mov    %eax,-0x4(%ebp)
405eae:	8b 45 0c             	mov    0xc(%ebp),%eax
405eb1:	89 46 04             	mov    %eax,0x4(%esi)
405eb4:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
405eb8:	0f 85 bb 00 00 00    	jne    0x405f79
405ebe:	83 c2 24             	add    $0x24,%edx
405ec1:	8d 42 6c             	lea    0x6c(%edx),%eax
405ec4:	eb 07                	jmp    0x405ecd
405ec6:	83 62 08 00          	andl   $0x0,0x8(%edx)
405eca:	83 c2 0c             	add    $0xc,%edx
405ecd:	3b d0                	cmp    %eax,%edx
405ecf:	75 f5                	jne    0x405ec6
405ed1:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
405ed6:	53                   	push   %ebx
405ed7:	8b 5e 08             	mov    0x8(%esi),%ebx
405eda:	39 01                	cmp    %eax,(%ecx)
405edc:	77 47                	ja     0x405f25
405ede:	74 3e                	je     0x405f1e
405ee0:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
405ee6:	74 2f                	je     0x405f17
405ee8:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
405eee:	74 20                	je     0x405f10
405ef0:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
405ef6:	74 11                	je     0x405f09
405ef8:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
405efe:	8b c3                	mov    %ebx,%eax
405f00:	75 62                	jne    0x405f64
405f02:	b8 81 00 00 00       	mov    $0x81,%eax
405f07:	eb 58                	jmp    0x405f61
405f09:	b8 86 00 00 00       	mov    $0x86,%eax
405f0e:	eb 51                	jmp    0x405f61
405f10:	b8 83 00 00 00       	mov    $0x83,%eax
405f15:	eb 4a                	jmp    0x405f61
405f17:	b8 82 00 00 00       	mov    $0x82,%eax
405f1c:	eb 43                	jmp    0x405f61
405f1e:	b8 84 00 00 00       	mov    $0x84,%eax
405f23:	eb 3c                	jmp    0x405f61
405f25:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
405f2b:	74 2f                	je     0x405f5c
405f2d:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
405f33:	74 20                	je     0x405f55
405f35:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
405f3b:	74 11                	je     0x405f4e
405f3d:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
405f43:	8b c3                	mov    %ebx,%eax
405f45:	75 1d                	jne    0x405f64
405f47:	b8 8d 00 00 00       	mov    $0x8d,%eax
405f4c:	eb 13                	jmp    0x405f61
405f4e:	b8 8e 00 00 00       	mov    $0x8e,%eax
405f53:	eb 0c                	jmp    0x405f61
405f55:	b8 85 00 00 00       	mov    $0x85,%eax
405f5a:	eb 05                	jmp    0x405f61
405f5c:	b8 8a 00 00 00       	mov    $0x8a,%eax
405f61:	89 46 08             	mov    %eax,0x8(%esi)
405f64:	50                   	push   %eax
405f65:	6a 08                	push   $0x8
405f67:	8b cf                	mov    %edi,%ecx
405f69:	ff 15 18 f1 40 00    	call   *0x40f118
405f6f:	ff d7                	call   *%edi
405f71:	59                   	pop    %ecx
405f72:	59                   	pop    %ecx
405f73:	89 5e 08             	mov    %ebx,0x8(%esi)
405f76:	5b                   	pop    %ebx
405f77:	eb 12                	jmp    0x405f8b
405f79:	83 61 08 00          	andl   $0x0,0x8(%ecx)
405f7d:	ff 71 04             	push   0x4(%ecx)
405f80:	8b cf                	mov    %edi,%ecx
405f82:	ff 15 18 f1 40 00    	call   *0x40f118
405f88:	ff d7                	call   *%edi
405f8a:	59                   	pop    %ecx
405f8b:	8b 45 fc             	mov    -0x4(%ebp),%eax
405f8e:	89 46 04             	mov    %eax,0x4(%esi)
405f91:	e9 0d ff ff ff       	jmp    0x405ea3
405f96:	a1 94 6d 41 00       	mov    0x416d94,%eax
405f9b:	c3                   	ret
405f9c:	8b ff                	mov    %edi,%edi
405f9e:	55                   	push   %ebp
405f9f:	8b ec                	mov    %esp,%ebp
405fa1:	8b 45 08             	mov    0x8(%ebp),%eax
405fa4:	a3 94 6d 41 00       	mov    %eax,0x416d94
405fa9:	5d                   	pop    %ebp
405faa:	c3                   	ret
405fab:	8b ff                	mov    %edi,%edi
405fad:	55                   	push   %ebp
405fae:	8b ec                	mov    %esp,%ebp
405fb0:	a1 14 60 41 00       	mov    0x416014,%eax
405fb5:	83 e0 1f             	and    $0x1f,%eax
405fb8:	6a 20                	push   $0x20
405fba:	59                   	pop    %ecx
405fbb:	2b c8                	sub    %eax,%ecx
405fbd:	8b 45 08             	mov    0x8(%ebp),%eax
405fc0:	d3 c8                	ror    %cl,%eax
405fc2:	33 05 14 60 41 00    	xor    0x416014,%eax
405fc8:	5d                   	pop    %ebp
405fc9:	c3                   	ret
405fca:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
405fd0:	8b 15 98 6d 41 00    	mov    0x416d98,%edx
405fd6:	83 e1 1f             	and    $0x1f,%ecx
405fd9:	33 15 14 60 41 00    	xor    0x416014,%edx
405fdf:	d3 ca                	ror    %cl,%edx
405fe1:	85 d2                	test   %edx,%edx
405fe3:	0f 95 c0             	setne  %al
405fe6:	c3                   	ret
405fe7:	8b ff                	mov    %edi,%edi
405fe9:	55                   	push   %ebp
405fea:	8b ec                	mov    %esp,%ebp
405fec:	8b 45 08             	mov    0x8(%ebp),%eax
405fef:	a3 98 6d 41 00       	mov    %eax,0x416d98
405ff4:	5d                   	pop    %ebp
405ff5:	c3                   	ret
405ff6:	cc                   	int3
405ff7:	cc                   	int3
405ff8:	cc                   	int3
405ff9:	8b ff                	mov    %edi,%edi
405ffb:	55                   	push   %ebp
405ffc:	8b ec                	mov    %esp,%ebp
405ffe:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
406004:	56                   	push   %esi
406005:	8b 35 98 6d 41 00    	mov    0x416d98,%esi
40600b:	83 e1 1f             	and    $0x1f,%ecx
40600e:	33 35 14 60 41 00    	xor    0x416014,%esi
406014:	d3 ce                	ror    %cl,%esi
406016:	85 f6                	test   %esi,%esi
406018:	75 04                	jne    0x40601e
40601a:	33 c0                	xor    %eax,%eax
40601c:	eb 0e                	jmp    0x40602c
40601e:	ff 75 08             	push   0x8(%ebp)
406021:	8b ce                	mov    %esi,%ecx
406023:	ff 15 18 f1 40 00    	call   *0x40f118
406029:	ff d6                	call   *%esi
40602b:	59                   	pop    %ecx
40602c:	5e                   	pop    %esi
40602d:	5d                   	pop    %ebp
40602e:	c3                   	ret
40602f:	8b ff                	mov    %edi,%edi
406031:	55                   	push   %ebp
406032:	8b ec                	mov    %esp,%ebp
406034:	ff 75 08             	push   0x8(%ebp)
406037:	e8 6f ff ff ff       	call   0x405fab
40603c:	59                   	pop    %ecx
40603d:	a3 98 6d 41 00       	mov    %eax,0x416d98
406042:	5d                   	pop    %ebp
406043:	c3                   	ret
406044:	8b ff                	mov    %edi,%edi
406046:	55                   	push   %ebp
406047:	8b ec                	mov    %esp,%ebp
406049:	83 ec 0c             	sub    $0xc,%esp
40604c:	57                   	push   %edi
40604d:	8b 7d 08             	mov    0x8(%ebp),%edi
406050:	85 ff                	test   %edi,%edi
406052:	75 07                	jne    0x40605b
406054:	33 c0                	xor    %eax,%eax
406056:	e9 23 01 00 00       	jmp    0x40617e
40605b:	56                   	push   %esi
40605c:	83 ff 02             	cmp    $0x2,%edi
40605f:	74 1b                	je     0x40607c
406061:	83 ff 01             	cmp    $0x1,%edi
406064:	74 16                	je     0x40607c
406066:	e8 e5 18 00 00       	call   0x407950
40606b:	6a 16                	push   $0x16
40606d:	5e                   	pop    %esi
40606e:	89 30                	mov    %esi,(%eax)
406070:	e8 a7 fc ff ff       	call   0x405d1c
406075:	8b c6                	mov    %esi,%eax
406077:	e9 01 01 00 00       	jmp    0x40617d
40607c:	53                   	push   %ebx
40607d:	e8 08 29 00 00       	call   0x40898a
406082:	68 04 01 00 00       	push   $0x104
406087:	bb a0 6d 41 00       	mov    $0x416da0,%ebx