411a82:	03 c3                	add    %ebx,%eax
411a84:	3b f0                	cmp    %eax,%esi
411a86:	0f 42 f0             	cmovb  %eax,%esi
411a89:	8d 46 01             	lea    0x1(%esi),%eax
411a8c:	8b cf                	mov    %edi,%ecx
411a8e:	50                   	push   %eax
411a8f:	e8 7c 06 ff ff       	call   0x402110
411a94:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
411a97:	8b 55 10             	mov    0x10(%ebp),%edx
411a9a:	89 45 f4             	mov    %eax,-0xc(%ebp)
411a9d:	8b 45 f8             	mov    -0x8(%ebp),%eax
411aa0:	89 47 10             	mov    %eax,0x10(%edi)
411aa3:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
411aa6:	89 77 14             	mov    %esi,0x14(%edi)
411aa9:	8d 34 12             	lea    (%edx,%edx,1),%esi
411aac:	89 45 f0             	mov    %eax,-0x10(%ebp)
411aaf:	8b 45 f4             	mov    -0xc(%ebp),%eax
411ab2:	03 c6                	add    %esi,%eax
411ab4:	89 75 e0             	mov    %esi,-0x20(%ebp)
411ab7:	8b 75 fc             	mov    -0x4(%ebp),%esi
411aba:	2b f2                	sub    %edx,%esi
411abc:	89 45 e8             	mov    %eax,-0x18(%ebp)
411abf:	8b 45 14             	mov    0x14(%ebp),%eax
411ac2:	2b f0                	sub    %eax,%esi
411ac4:	8d 34 75 02 00 00 00 	lea    0x2(,%esi,2),%esi
411acb:	89 75 fc             	mov    %esi,-0x4(%ebp)
411ace:	8d 34 02             	lea    (%edx,%eax,1),%esi
411ad1:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
411ad4:	03 f6                	add    %esi,%esi
411ad6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411ad9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
411adc:	8d 04 41             	lea    (%ecx,%eax,2),%eax
411adf:	89 45 f8             	mov    %eax,-0x8(%ebp)
411ae2:	83 fb 08             	cmp    $0x8,%ebx
411ae5:	72 6a                	jb     0x411b51
411ae7:	8b 37                	mov    (%edi),%esi
411ae9:	8d 04 12             	lea    (%edx,%edx,1),%eax
411aec:	50                   	push   %eax
411aed:	56                   	push   %esi
411aee:	51                   	push   %ecx
411aef:	e8 2c 9b 05 00       	call   0x46b620
411af4:	ff 75 f0             	push   -0x10(%ebp)
411af7:	ff 75 ec             	push   -0x14(%ebp)
411afa:	ff 75 e8             	push   -0x18(%ebp)
411afd:	e8 1e 9b 05 00       	call   0x46b620
411b02:	ff 75 fc             	push   -0x4(%ebp)
411b05:	8b 45 e4             	mov    -0x1c(%ebp),%eax
411b08:	03 c6                	add    %esi,%eax
411b0a:	50                   	push   %eax
411b0b:	ff 75 f8             	push   -0x8(%ebp)
411b0e:	e8 0d 9b 05 00       	call   0x46b620
411b13:	8d 0c 5d 02 00 00 00 	lea    0x2(,%ebx,2),%ecx
411b1a:	83 c4 24             	add    $0x24,%esp
411b1d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
411b23:	72 12                	jb     0x411b37
411b25:	8b 56 fc             	mov    -0x4(%esi),%edx
411b28:	83 c1 23             	add    $0x23,%ecx
411b2b:	2b f2                	sub    %edx,%esi
411b2d:	8d 46 fc             	lea    -0x4(%esi),%eax
411b30:	83 f8 1f             	cmp    $0x1f,%eax
411b33:	77 5c                	ja     0x411b91
411b35:	8b f2                	mov    %edx,%esi
411b37:	51                   	push   %ecx
411b38:	56                   	push   %esi
411b39:	e8 ca 7e 05 00       	call   0x469a08
411b3e:	8b 45 f4             	mov    -0xc(%ebp),%eax
411b41:	83 c4 08             	add    $0x8,%esp
411b44:	89 07                	mov    %eax,(%edi)
411b46:	8b c7                	mov    %edi,%eax
411b48:	5f                   	pop    %edi
411b49:	5e                   	pop    %esi
411b4a:	5b                   	pop    %ebx
411b4b:	8b e5                	mov    %ebp,%esp
411b4d:	5d                   	pop    %ebp
411b4e:	c2 18 00             	ret    $0x18
411b51:	8b 45 e0             	mov    -0x20(%ebp),%eax
411b54:	50                   	push   %eax
411b55:	57                   	push   %edi
411b56:	51                   	push   %ecx
411b57:	e8 c4 9a 05 00       	call   0x46b620
411b5c:	ff 75 f0             	push   -0x10(%ebp)
411b5f:	ff 75 ec             	push   -0x14(%ebp)
411b62:	ff 75 e8             	push   -0x18(%ebp)
411b65:	e8 b6 9a 05 00       	call   0x46b620
411b6a:	ff 75 fc             	push   -0x4(%ebp)
411b6d:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
411b70:	51                   	push   %ecx
411b71:	ff 75 f8             	push   -0x8(%ebp)
411b74:	e8 a7 9a 05 00       	call   0x46b620
411b79:	8b 45 f4             	mov    -0xc(%ebp),%eax
411b7c:	83 c4 24             	add    $0x24,%esp
411b7f:	89 07                	mov    %eax,(%edi)
411b81:	8b c7                	mov    %edi,%eax
411b83:	5f                   	pop    %edi
411b84:	5e                   	pop    %esi
411b85:	5b                   	pop    %ebx
411b86:	8b e5                	mov    %ebp,%esp
411b88:	5d                   	pop    %ebp
411b89:	c2 18 00             	ret    $0x18
411b8c:	e8 4f f8 fe ff       	call   0x4013e0
411b91:	e8 9b 7a 06 00       	call   0x479631
411b96:	cc                   	int3
411b97:	cc                   	int3
411b98:	cc                   	int3
411b99:	cc                   	int3
411b9a:	cc                   	int3
411b9b:	cc                   	int3
411b9c:	cc                   	int3
411b9d:	cc                   	int3
411b9e:	cc                   	int3
411b9f:	cc                   	int3
411ba0:	55                   	push   %ebp
411ba1:	8b ec                	mov    %esp,%ebp
411ba3:	83 ec 0c             	sub    $0xc,%esp
411ba6:	8b 55 08             	mov    0x8(%ebp),%edx
411ba9:	53                   	push   %ebx
411baa:	8b d9                	mov    %ecx,%ebx
411bac:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
411bb1:	56                   	push   %esi
411bb2:	8b c1                	mov    %ecx,%eax
411bb4:	57                   	push   %edi
411bb5:	8b 73 10             	mov    0x10(%ebx),%esi
411bb8:	2b c6                	sub    %esi,%eax
411bba:	89 75 f4             	mov    %esi,-0xc(%ebp)
411bbd:	3b c2                	cmp    %edx,%eax
411bbf:	0f 82 e9 00 00 00    	jb     0x411cae
411bc5:	8b 43 14             	mov    0x14(%ebx),%eax
411bc8:	03 d6                	add    %esi,%edx
411bca:	8b f2                	mov    %edx,%esi
411bcc:	89 55 f8             	mov    %edx,-0x8(%ebp)
411bcf:	83 ce 0f             	or     $0xf,%esi
411bd2:	89 45 fc             	mov    %eax,-0x4(%ebp)
411bd5:	3b f1                	cmp    %ecx,%esi
411bd7:	76 26                	jbe    0x411bff
411bd9:	8b f1                	mov    %ecx,%esi
411bdb:	b8 00 00 00 80       	mov    $0x80000000,%eax
411be0:	83 c0 23             	add    $0x23,%eax
411be3:	50                   	push   %eax
411be4:	e8 ef 7d 05 00       	call   0x4699d8
411be9:	83 c4 04             	add    $0x4,%esp
411bec:	85 c0                	test   %eax,%eax
411bee:	0f 84 c4 00 00 00    	je     0x411cb8
411bf4:	8d 78 23             	lea    0x23(%eax),%edi
411bf7:	83 e7 e0             	and    $0xffffffe0,%edi
411bfa:	89 47 fc             	mov    %eax,-0x4(%edi)
411bfd:	eb 43                	jmp    0x411c42
411bff:	8b d0                	mov    %eax,%edx
411c01:	d1 ea                	shr    $1,%edx
411c03:	2b ca                	sub    %edx,%ecx
411c05:	3b c1                	cmp    %ecx,%eax
411c07:	76 07                	jbe    0x411c10
411c09:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
411c0e:	eb cb                	jmp    0x411bdb
411c10:	03 c2                	add    %edx,%eax
411c12:	3b f0                	cmp    %eax,%esi
411c14:	0f 42 f0             	cmovb  %eax,%esi
411c17:	8d 4e 01             	lea    0x1(%esi),%ecx
411c1a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
411c20:	72 0d                	jb     0x411c2f
411c22:	8d 41 23             	lea    0x23(%ecx),%eax
411c25:	3b c1                	cmp    %ecx,%eax
411c27:	0f 86 86 00 00 00    	jbe    0x411cb3
411c2d:	eb b4                	jmp    0x411be3
411c2f:	85 c9                	test   %ecx,%ecx
411c31:	74 0d                	je     0x411c40
411c33:	51                   	push   %ecx
411c34:	e8 9f 7d 05 00       	call   0x4699d8
411c39:	83 c4 04             	add    $0x4,%esp
411c3c:	8b f8                	mov    %eax,%edi
411c3e:	eb 02                	jmp    0x411c42
411c40:	33 ff                	xor    %edi,%edi
411c42:	8b 45 f8             	mov    -0x8(%ebp),%eax
411c45:	89 43 10             	mov    %eax,0x10(%ebx)
411c48:	8b 45 f4             	mov    -0xc(%ebp),%eax
411c4b:	40                   	inc    %eax
411c4c:	89 73 14             	mov    %esi,0x14(%ebx)
411c4f:	83 7d fc 10          	cmpl   $0x10,-0x4(%ebp)
411c53:	50                   	push   %eax
411c54:	72 41                	jb     0x411c97
411c56:	8b 33                	mov    (%ebx),%esi
411c58:	56                   	push   %esi
411c59:	57                   	push   %edi
411c5a:	e8 c1 99 05 00       	call   0x46b620
411c5f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411c62:	83 c4 0c             	add    $0xc,%esp
411c65:	41                   	inc    %ecx
411c66:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
411c6c:	72 12                	jb     0x411c80
411c6e:	8b 56 fc             	mov    -0x4(%esi),%edx
411c71:	83 c1 23             	add    $0x23,%ecx
411c74:	2b f2                	sub    %edx,%esi
411c76:	8d 46 fc             	lea    -0x4(%esi),%eax
411c79:	83 f8 1f             	cmp    $0x1f,%eax
411c7c:	77 3a                	ja     0x411cb8
411c7e:	8b f2                	mov    %edx,%esi
411c80:	51                   	push   %ecx
411c81:	56                   	push   %esi
411c82:	e8 81 7d 05 00       	call   0x469a08
411c87:	83 c4 08             	add    $0x8,%esp
411c8a:	89 3b                	mov    %edi,(%ebx)
411c8c:	8b c3                	mov    %ebx,%eax
411c8e:	5f                   	pop    %edi
411c8f:	5e                   	pop    %esi
411c90:	5b                   	pop    %ebx
411c91:	8b e5                	mov    %ebp,%esp
411c93:	5d                   	pop    %ebp
411c94:	c2 08 00             	ret    $0x8
411c97:	53                   	push   %ebx
411c98:	57                   	push   %edi
411c99:	e8 82 99 05 00       	call   0x46b620
411c9e:	83 c4 0c             	add    $0xc,%esp
411ca1:	89 3b                	mov    %edi,(%ebx)
411ca3:	8b c3                	mov    %ebx,%eax
411ca5:	5f                   	pop    %edi
411ca6:	5e                   	pop    %esi
411ca7:	5b                   	pop    %ebx
411ca8:	8b e5                	mov    %ebp,%esp
411caa:	5d                   	pop    %ebp
411cab:	c2 08 00             	ret    $0x8
411cae:	e8 2d f7 fe ff       	call   0x4013e0
411cb3:	e8 88 f6 fe ff       	call   0x401340
411cb8:	e8 74 79 06 00       	call   0x479631
411cbd:	cc                   	int3
411cbe:	cc                   	int3
411cbf:	cc                   	int3
411cc0:	55                   	push   %ebp
411cc1:	8b ec                	mov    %esp,%ebp
411cc3:	83 ec 08             	sub    $0x8,%esp
411cc6:	53                   	push   %ebx
411cc7:	8b d9                	mov    %ecx,%ebx
411cc9:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
411cce:	8b c2                	mov    %edx,%eax
411cd0:	56                   	push   %esi
411cd1:	57                   	push   %edi
411cd2:	8b 4b 10             	mov    0x10(%ebx),%ecx
411cd5:	2b c1                	sub    %ecx,%eax
411cd7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411cda:	83 f8 01             	cmp    $0x1,%eax
411cdd:	0f 82 03 01 00 00    	jb     0x411de6
411ce3:	8b 43 14             	mov    0x14(%ebx),%eax
411ce6:	8d 71 01             	lea    0x1(%ecx),%esi
411ce9:	83 ce 0f             	or     $0xf,%esi
411cec:	89 45 f8             	mov    %eax,-0x8(%ebp)
411cef:	3b f2                	cmp    %edx,%esi
411cf1:	76 29                	jbe    0x411d1c
411cf3:	8b f2                	mov    %edx,%esi
411cf5:	b8 00 00 00 80       	mov    $0x80000000,%eax
411cfa:	83 c0 23             	add    $0x23,%eax
411cfd:	50                   	push   %eax
411cfe:	e8 d5 7c 05 00       	call   0x4699d8
411d03:	83 c4 04             	add    $0x4,%esp
411d06:	85 c0                	test   %eax,%eax
411d08:	0f 84 e2 00 00 00    	je     0x411df0
411d0e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411d11:	8d 78 23             	lea    0x23(%eax),%edi
411d14:	83 e7 e0             	and    $0xffffffe0,%edi
411d17:	89 47 fc             	mov    %eax,-0x4(%edi)
411d1a:	eb 46                	jmp    0x411d62
411d1c:	8b f8                	mov    %eax,%edi
411d1e:	d1 ef                	shr    $1,%edi
411d20:	2b d7                	sub    %edi,%edx
411d22:	3b c2                	cmp    %edx,%eax
411d24:	76 07                	jbe    0x411d2d
411d26:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
411d2b:	eb c8                	jmp    0x411cf5
411d2d:	03 c7                	add    %edi,%eax
411d2f:	3b f0                	cmp    %eax,%esi
411d31:	0f 42 f0             	cmovb  %eax,%esi
411d34:	8d 56 01             	lea    0x1(%esi),%edx
411d37:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
411d3d:	72 0d                	jb     0x411d4c
411d3f:	8d 42 23             	lea    0x23(%edx),%eax
411d42:	3b c2                	cmp    %edx,%eax
411d44:	0f 86 a1 00 00 00    	jbe    0x411deb
411d4a:	eb b1                	jmp    0x411cfd
411d4c:	85 d2                	test   %edx,%edx
411d4e:	74 10                	je     0x411d60
411d50:	52                   	push   %edx
411d51:	e8 82 7c 05 00       	call   0x4699d8
411d56:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411d59:	83 c4 04             	add    $0x4,%esp
411d5c:	8b f8                	mov    %eax,%edi
411d5e:	eb 02                	jmp    0x411d62
411d60:	33 ff                	xor    %edi,%edi
411d62:	83 7d f8 10          	cmpl   $0x10,-0x8(%ebp)
411d66:	8d 41 01             	lea    0x1(%ecx),%eax
411d69:	89 43 10             	mov    %eax,0x10(%ebx)
411d6c:	89 73 14             	mov    %esi,0x14(%ebx)
411d6f:	51                   	push   %ecx
411d70:	72 4f                	jb     0x411dc1
411d72:	8b 33                	mov    (%ebx),%esi
411d74:	56                   	push   %esi
411d75:	57                   	push   %edi
411d76:	e8 a5 98 05 00       	call   0x46b620
411d7b:	8b 55 fc             	mov    -0x4(%ebp),%edx
411d7e:	83 c4 0c             	add    $0xc,%esp
411d81:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411d84:	8a 45 10             	mov    0x10(%ebp),%al
411d87:	41                   	inc    %ecx
411d88:	88 04 17             	mov    %al,(%edi,%edx,1)
411d8b:	c6 44 17 01 00       	movb   $0x0,0x1(%edi,%edx,1)
411d90:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
411d96:	72 12                	jb     0x411daa
411d98:	8b 56 fc             	mov    -0x4(%esi),%edx
411d9b:	83 c1 23             	add    $0x23,%ecx
411d9e:	2b f2                	sub    %edx,%esi
411da0:	8d 46 fc             	lea    -0x4(%esi),%eax
411da3:	83 f8 1f             	cmp    $0x1f,%eax
411da6:	77 48                	ja     0x411df0
411da8:	8b f2                	mov    %edx,%esi
411daa:	51                   	push   %ecx
411dab:	56                   	push   %esi
411dac:	e8 57 7c 05 00       	call   0x469a08
411db1:	83 c4 08             	add    $0x8,%esp
411db4:	89 3b                	mov    %edi,(%ebx)
411db6:	8b c3                	mov    %ebx,%eax
411db8:	5f                   	pop    %edi
411db9:	5e                   	pop    %esi
411dba:	5b                   	pop    %ebx
411dbb:	8b e5                	mov    %ebp,%esp
411dbd:	5d                   	pop    %ebp
411dbe:	c2 0c 00             	ret    $0xc
411dc1:	53                   	push   %ebx
411dc2:	57                   	push   %edi
411dc3:	e8 58 98 05 00       	call   0x46b620
411dc8:	8b 55 fc             	mov    -0x4(%ebp),%edx
411dcb:	83 c4 0c             	add    $0xc,%esp
411dce:	8a 4d 10             	mov    0x10(%ebp),%cl
411dd1:	8b c3                	mov    %ebx,%eax
411dd3:	88 0c 17             	mov    %cl,(%edi,%edx,1)
411dd6:	c6 44 17 01 00       	movb   $0x0,0x1(%edi,%edx,1)
411ddb:	89 3b                	mov    %edi,(%ebx)
411ddd:	5f                   	pop    %edi
411dde:	5e                   	pop    %esi
411ddf:	5b                   	pop    %ebx
411de0:	8b e5                	mov    %ebp,%esp
411de2:	5d                   	pop    %ebp
411de3:	c2 0c 00             	ret    $0xc
411de6:	e8 f5 f5 fe ff       	call   0x4013e0
411deb:	e8 50 f5 fe ff       	call   0x401340
411df0:	e8 3c 78 06 00       	call   0x479631
411df5:	cc                   	int3
411df6:	cc                   	int3
411df7:	cc                   	int3
411df8:	cc                   	int3
411df9:	cc                   	int3
411dfa:	cc                   	int3
411dfb:	cc                   	int3
411dfc:	cc                   	int3
411dfd:	cc                   	int3