411c3b:	cc                   	int3
411c3c:	cc                   	int3
411c3d:	cc                   	int3
411c3e:	cc                   	int3
411c3f:	cc                   	int3
411c40:	8b ff                	mov    %edi,%edi
411c42:	55                   	push   %ebp
411c43:	8b ec                	mov    %esp,%ebp
411c45:	56                   	push   %esi
411c46:	8b 75 08             	mov    0x8(%ebp),%esi
411c49:	8b 46 2c             	mov    0x2c(%esi),%eax
411c4c:	3b 46 28             	cmp    0x28(%esi),%eax
411c4f:	0f 84 e5 f5 00 00    	je     0x42123a
411c55:	8d 14 80             	lea    (%eax,%eax,4),%edx
411c58:	c1 e2 04             	shl    $0x4,%edx
411c5b:	03 56 3c             	add    0x3c(%esi),%edx
411c5e:	83 7a 08 01          	cmpl   $0x1,0x8(%edx)
411c62:	0f 85 d2 f5 00 00    	jne    0x42123a
411c68:	66 83 7a 38 1f       	cmpw   $0x1f,0x38(%edx)
411c6d:	57                   	push   %edi
411c6e:	75 2c                	jne    0x411c9c
411c70:	8b 4a 40             	mov    0x40(%edx),%ecx
411c73:	85 c9                	test   %ecx,%ecx
411c75:	74 25                	je     0x411c9c
411c77:	8b 46 34             	mov    0x34(%esi),%eax
411c7a:	85 c0                	test   %eax,%eax
411c7c:	75 17                	jne    0x411c95
411c7e:	8b c1                	mov    %ecx,%eax
411c80:	8d 78 02             	lea    0x2(%eax),%edi
411c83:	66 8b 08             	mov    (%eax),%cx
411c86:	83 c0 02             	add    $0x2,%eax
411c89:	66 85 c9             	test   %cx,%cx
411c8c:	75 f5                	jne    0x411c83
411c8e:	2b c7                	sub    %edi,%eax
411c90:	d1 f8                	sar    $1,%eax
411c92:	89 46 34             	mov    %eax,0x34(%esi)
411c95:	8b 4e 38             	mov    0x38(%esi),%ecx
411c98:	3b c8                	cmp    %eax,%ecx
411c9a:	72 14                	jb     0x411cb0
411c9c:	8b 45 0c             	mov    0xc(%ebp),%eax
411c9f:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
411ca5:	b8 01 17 04 80       	mov    $0x80041701,%eax
411caa:	5f                   	pop    %edi
411cab:	5e                   	pop    %esi
411cac:	5d                   	pop    %ebp
411cad:	c2 0c 00             	ret    $0xc
411cb0:	53                   	push   %ebx
411cb1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
411cb4:	2b c1                	sub    %ecx,%eax
411cb6:	8b 3b                	mov    (%ebx),%edi
411cb8:	3b f8                	cmp    %eax,%edi
411cba:	72 02                	jb     0x411cbe
411cbc:	8b f8                	mov    %eax,%edi
411cbe:	8d 04 3f             	lea    (%edi,%edi,1),%eax
411cc1:	50                   	push   %eax
411cc2:	8b 42 40             	mov    0x40(%edx),%eax
411cc5:	8d 04 48             	lea    (%eax,%ecx,2),%eax
411cc8:	50                   	push   %eax
411cc9:	ff 75 10             	push   0x10(%ebp)
411ccc:	e8 15 92 00 00       	call   0x41aee6
411cd1:	89 3b                	mov    %edi,(%ebx)
411cd3:	83 c4 0c             	add    $0xc,%esp
411cd6:	01 7e 38             	add    %edi,0x38(%esi)
411cd9:	8b 46 38             	mov    0x38(%esi),%eax
411cdc:	5b                   	pop    %ebx
411cdd:	3b 46 34             	cmp    0x34(%esi),%eax
411ce0:	72 15                	jb     0x411cf7
411ce2:	8b 46 2c             	mov    0x2c(%esi),%eax
411ce5:	5f                   	pop    %edi
411ce6:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
411ce9:	8b 46 3c             	mov    0x3c(%esi),%eax
411cec:	03 c9                	add    %ecx,%ecx
411cee:	5e                   	pop    %esi
411cef:	8b 44 c8 48          	mov    0x48(%eax,%ecx,8),%eax
411cf3:	5d                   	pop    %ebp
411cf4:	c2 0c 00             	ret    $0xc
411cf7:	33 c0                	xor    %eax,%eax
411cf9:	eb af                	jmp    0x411caa
411cfb:	cc                   	int3
411cfc:	cc                   	int3
411cfd:	cc                   	int3
411cfe:	cc                   	int3
411cff:	cc                   	int3
411d00:	8b ff                	mov    %edi,%edi
411d02:	55                   	push   %ebp
411d03:	8b ec                	mov    %esp,%ebp
411d05:	51                   	push   %ecx
411d06:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411d0a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
411d11:	74 23                	je     0x411d36
411d13:	8b 45 10             	mov    0x10(%ebp),%eax
411d16:	8d 55 fc             	lea    -0x4(%ebp),%edx
411d19:	56                   	push   %esi
411d1a:	52                   	push   %edx
411d1b:	50                   	push   %eax
411d1c:	8b 08                	mov    (%eax),%ecx
411d1e:	8b 71 10             	mov    0x10(%ecx),%esi
411d21:	8b ce                	mov    %esi,%ecx
411d23:	ff 15 20 a5 43 00    	call   *0x43a520
411d29:	ff d6                	call   *%esi
411d2b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
411d2f:	5e                   	pop    %esi
411d30:	0f 85 25 f5 00 00    	jne    0x42125b
411d36:	33 c0                	xor    %eax,%eax
411d38:	8b e5                	mov    %ebp,%esp
411d3a:	5d                   	pop    %ebp
411d3b:	c2 0c 00             	ret    $0xc
411d3e:	cc                   	int3
411d3f:	cc                   	int3
411d40:	8b ff                	mov    %edi,%edi
411d42:	55                   	push   %ebp
411d43:	8b ec                	mov    %esp,%ebp
411d45:	8b 09                	mov    (%ecx),%ecx
411d47:	33 c0                	xor    %eax,%eax
411d49:	3b 4d 08             	cmp    0x8(%ebp),%ecx
411d4c:	0f 95 c0             	setne  %al
411d4f:	5d                   	pop    %ebp
411d50:	c2 04 00             	ret    $0x4
411d53:	cc                   	int3
411d54:	cc                   	int3
411d55:	cc                   	int3
411d56:	cc                   	int3
411d57:	cc                   	int3
411d58:	cc                   	int3
411d59:	cc                   	int3
411d5a:	cc                   	int3
411d5b:	cc                   	int3
411d5c:	cc                   	int3
411d5d:	cc                   	int3
411d5e:	cc                   	int3
411d5f:	cc                   	int3
411d60:	8b ff                	mov    %edi,%edi
411d62:	56                   	push   %esi
411d63:	be 0c 00 00 00       	mov    $0xc,%esi
411d68:	8b 01                	mov    (%ecx),%eax
411d6a:	3b 02                	cmp    (%edx),%eax
411d6c:	75 15                	jne    0x411d83
411d6e:	83 c1 04             	add    $0x4,%ecx
411d71:	83 c2 04             	add    $0x4,%edx
411d74:	83 ee 04             	sub    $0x4,%esi
411d77:	73 ef                	jae    0x411d68
411d79:	33 c0                	xor    %eax,%eax
411d7b:	5e                   	pop    %esi
411d7c:	85 c0                	test   %eax,%eax
411d7e:	75 26                	jne    0x411da6
411d80:	b0 01                	mov    $0x1,%al
411d82:	c3                   	ret
411d83:	3a 02                	cmp    (%edx),%al
411d85:	75 18                	jne    0x411d9f
411d87:	8a 41 01             	mov    0x1(%ecx),%al
411d8a:	3a 42 01             	cmp    0x1(%edx),%al
411d8d:	75 10                	jne    0x411d9f
411d8f:	8a 41 02             	mov    0x2(%ecx),%al
411d92:	3a 42 02             	cmp    0x2(%edx),%al
411d95:	75 08                	jne    0x411d9f
411d97:	8a 41 03             	mov    0x3(%ecx),%al
411d9a:	3a 42 03             	cmp    0x3(%edx),%al
411d9d:	74 da                	je     0x411d79
411d9f:	1b c0                	sbb    %eax,%eax
411da1:	83 c8 01             	or     $0x1,%eax
411da4:	eb d5                	jmp    0x411d7b
411da6:	32 c0                	xor    %al,%al
411da8:	c3                   	ret
411da9:	cc                   	int3
411daa:	cc                   	int3
411dab:	cc                   	int3
411dac:	cc                   	int3
411dad:	cc                   	int3
411dae:	cc                   	int3
411daf:	cc                   	int3
411db0:	8b ff                	mov    %edi,%edi
411db2:	55                   	push   %ebp
411db3:	8b ec                	mov    %esp,%ebp
411db5:	6a ff                	push   $0xffffffff
411db7:	68 12 e8 41 00       	push   $0x41e812
411dbc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
411dc2:	50                   	push   %eax
411dc3:	81 ec 2c 01 00 00    	sub    $0x12c,%esp
411dc9:	a1 08 85 43 00       	mov    0x438508,%eax
411dce:	33 c5                	xor    %ebp,%eax
411dd0:	89 45 f0             	mov    %eax,-0x10(%ebp)
411dd3:	53                   	push   %ebx
411dd4:	56                   	push   %esi
411dd5:	57                   	push   %edi
411dd6:	50                   	push   %eax
411dd7:	8d 45 f4             	lea    -0xc(%ebp),%eax
411dda:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
411de0:	89 95 f0 fe ff ff    	mov    %edx,-0x110(%ebp)
411de6:	8b d9                	mov    %ecx,%ebx
411de8:	89 9d d8 fe ff ff    	mov    %ebx,-0x128(%ebp)
411dee:	8b 45 0c             	mov    0xc(%ebp),%eax
411df1:	8b 75 08             	mov    0x8(%ebp),%esi
411df4:	8b 4d 28             	mov    0x28(%ebp),%ecx
411df7:	8b 7d 14             	mov    0x14(%ebp),%edi
411dfa:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
411e00:	8b 45 18             	mov    0x18(%ebp),%eax
411e03:	89 b5 20 ff ff ff    	mov    %esi,-0xe0(%ebp)
411e09:	89 8d 18 ff ff ff    	mov    %ecx,-0xe8(%ebp)
411e0f:	c7 85 1c ff ff ff 00 	movl   $0x0,-0xe4(%ebp)
411e16:	00 00 00
411e19:	8d 8d 1c ff ff ff    	lea    -0xe4(%ebp),%ecx
411e1f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
411e26:	51                   	push   %ecx
411e27:	51                   	push   %ecx
411e28:	85 d2                	test   %edx,%edx
411e2a:	8b cb                	mov    %ebx,%ecx
411e2c:	50                   	push   %eax
411e2d:	57                   	push   %edi
411e2e:	0f 94 c2             	sete   %dl
411e31:	e8 4c 3e 00 00       	call   0x415c82
411e36:	8b d8                	mov    %eax,%ebx
411e38:	81 fb 01 40 00 80    	cmp    $0x80004001,%ebx
411e3e:	0f 84 29 f4 00 00    	je     0x42126d
411e44:	85 db                	test   %ebx,%ebx
411e46:	78 14                	js     0x411e5c
411e48:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
411e4e:	8b 55 20             	mov    0x20(%ebp),%edx
411e51:	51                   	push   %ecx
411e52:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
411e55:	e8 86 c7 ff ff       	call   0x40e5e0
411e5a:	8b d8                	mov    %eax,%ebx
411e5c:	f7 86 5c 06 00 00 00 	testl  $0x40000,0x65c(%esi)
411e63:	00 04 00
411e66:	0f 85 08 f4 00 00    	jne    0x421274
411e6c:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
411e73:	00 00 00
411e76:	85 db                	test   %ebx,%ebx
411e78:	78 37                	js     0x411eb1
411e7a:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
411e80:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
411e86:	52                   	push   %edx
411e87:	50                   	push   %eax
411e88:	8b 08                	mov    (%eax),%ecx
411e8a:	8b 71 0c             	mov    0xc(%ecx),%esi
411e8d:	8b ce                	mov    %esi,%ecx
411e8f:	ff 15 20 a5 43 00    	call   *0x43a520
411e95:	ff d6                	call   *%esi
411e97:	8b d8                	mov    %eax,%ebx
411e99:	85 db                	test   %ebx,%ebx
411e9b:	78 14                	js     0x411eb1
411e9d:	ff b5 18 ff ff ff    	push   -0xe8(%ebp)
411ea3:	8b 55 20             	mov    0x20(%ebp),%edx
411ea6:	51                   	push   %ecx
411ea7:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
411eaa:	e8 31 c7 ff ff       	call   0x40e5e0
411eaf:	8b d8                	mov    %eax,%ebx
411eb1:	c7 85 fc fe ff ff 00 	movl   $0x0,-0x104(%ebp)
411eb8:	00 00 00
411ebb:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
411ebf:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
411ec5:	8b 37                	mov    (%edi),%esi
411ec7:	50                   	push   %eax
411ec8:	68 98 40 40 00       	push   $0x404098
411ecd:	57                   	push   %edi
411ece:	8b 36                	mov    (%esi),%esi
411ed0:	8b ce                	mov    %esi,%ecx
411ed2:	ff 15 20 a5 43 00    	call   *0x43a520
411ed8:	ff d6                	call   *%esi
411eda:	33 ff                	xor    %edi,%edi
411edc:	89 bd 14 ff ff ff    	mov    %edi,-0xec(%ebp)
411ee2:	85 db                	test   %ebx,%ebx
411ee4:	0f 88 0e 07 00 00    	js     0x4125f8
411eea:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
411ef0:	3b bd f8 fe ff ff    	cmp    -0x108(%ebp),%edi
411ef6:	0f 83 fc 06 00 00    	jae    0x4125f8
411efc:	81 fb 09 12 04 00    	cmp    $0x41209,%ebx
411f02:	0f 84 f0 06 00 00    	je     0x4125f8
411f08:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
411f0e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
411f11:	51                   	push   %ecx
411f12:	57                   	push   %edi
411f13:	50                   	push   %eax
411f14:	8b 30                	mov    (%eax),%esi
411f16:	8b 76 10             	mov    0x10(%esi),%esi
411f19:	8b ce                	mov    %esi,%ecx
411f1b:	ff 15 20 a5 43 00    	call   *0x43a520
411f21:	ff d6                	call   *%esi
411f23:	85 c0                	test   %eax,%eax
411f25:	0f 88 c4 07 00 00    	js     0x4126ef
411f2b:	83 7d ec 02          	cmpl   $0x2,-0x14(%ebp)
411f2f:	0f 84 86 07 00 00    	je     0x4126bb
411f35:	33 db                	xor    %ebx,%ebx
411f37:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
411f3d:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
411f43:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
411f47:	50                   	push   %eax
411f48:	68 bc 3f 40 00       	push   $0x403fbc
411f4d:	8d 45 dc             	lea    -0x24(%ebp),%eax
411f50:	50                   	push   %eax
411f51:	ff 15 00 d0 43 00    	call   *0x43d000
411f57:	85 c0                	test   %eax,%eax
411f59:	0f 88 d2 07 00 00    	js     0x412731
411f5f:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
411f65:	8d 95 dc fe ff ff    	lea    -0x124(%ebp),%edx
411f6b:	52                   	push   %edx
411f6c:	50                   	push   %eax
411f6d:	8b 08                	mov    (%eax),%ecx
411f6f:	8b 71 60             	mov    0x60(%ecx),%esi
411f72:	8b ce                	mov    %esi,%ecx
411f74:	ff 15 20 a5 43 00    	call   *0x43a520
411f7a:	ff d6                	call   *%esi
411f7c:	85 c0                	test   %eax,%eax
411f7e:	78 0a                	js     0x411f8a
411f80:	f6 85 dc fe ff ff 03 	testb  $0x3,-0x124(%ebp)
411f87:	0f 95 c3             	setne  %bl
411f8a:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
411f8e:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
411f94:	85 c0                	test   %eax,%eax
411f96:	74 10                	je     0x411fa8
411f98:	8b 08                	mov    (%eax),%ecx
411f9a:	50                   	push   %eax
411f9b:	8b 71 08             	mov    0x8(%ecx),%esi
411f9e:	8b ce                	mov    %esi,%ecx
411fa0:	ff 15 20 a5 43 00    	call   *0x43a520
411fa6:	ff d6                	call   *%esi
411fa8:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
411fac:	85 db                	test   %ebx,%ebx
411fae:	0f 84 3b 07 00 00    	je     0x4126ef
411fb4:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
411fba:	c7 85 f4 fe ff ff 01 	movl   $0x1,-0x10c(%ebp)
411fc1:	00 00 00
411fc4:	85 c0                	test   %eax,%eax
411fc6:	74 23                	je     0x411feb
411fc8:	8b 30                	mov    (%eax),%esi
411fca:	8d 8d f4 fe ff ff    	lea    -0x10c(%ebp),%ecx
411fd0:	51                   	push   %ecx
411fd1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
411fd4:	51                   	push   %ecx
411fd5:	8b 76 54             	mov    0x54(%esi),%esi
411fd8:	8b ce                	mov    %esi,%ecx
411fda:	50                   	push   %eax
411fdb:	ff 15 20 a5 43 00    	call   *0x43a520
411fe1:	ff d6                	call   *%esi
411fe3:	85 c0                	test   %eax,%eax
411fe5:	0f 88 4a f3 00 00    	js     0x421335
411feb:	33 c0                	xor    %eax,%eax
411fed:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
411ff3:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
411ff9:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
411fff:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
412005:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
412009:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
41200f:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
412015:	51                   	push   %ecx
412016:	8d 4d dc             	lea    -0x24(%ebp),%ecx
412019:	51                   	push   %ecx
41201a:	8b 30                	mov    (%eax),%esi
41201c:	50                   	push   %eax
41201d:	8b 76 14             	mov    0x14(%esi),%esi
412020:	8b ce                	mov    %esi,%ecx