500cc3:	90                   	nop
500cc4:	53                   	push   %ebx
500cc5:	8b d8                	mov    %eax,%ebx
500cc7:	8b c3                	mov    %ebx,%eax
500cc9:	56                   	push   %esi
500cca:	b9 18 00 00 00       	mov    $0x18,%ecx
500ccf:	ba 01 00 00 00       	mov    $0x1,%edx
500cd4:	8b 70 04             	mov    0x4(%eax),%esi
500cd7:	ff 16                	call   *(%esi)
500cd9:	8b f0                	mov    %eax,%esi
500cdb:	89 b3 c0 01 00 00    	mov    %esi,0x1c0(%ebx)
500ce1:	c7 06 c0 0c 50 00    	movl   $0x500cc0,(%esi)
500ce7:	8b 43 24             	mov    0x24(%ebx),%eax
500cea:	48                   	dec    %eax
500ceb:	74 0d                	je     0x500cfa
500ced:	48                   	dec    %eax
500cee:	83 e8 02             	sub    $0x2,%eax
500cf1:	72 1e                	jb     0x500d11
500cf3:	83 e8 02             	sub    $0x2,%eax
500cf6:	72 30                	jb     0x500d28
500cf8:	eb 45                	jmp    0x500d3f
500cfa:	83 7b 20 01          	cmpl   $0x1,0x20(%ebx)
500cfe:	74 54                	je     0x500d54
500d00:	8b 13                	mov    (%ebx),%edx
500d02:	8b c3                	mov    %ebx,%eax
500d04:	c7 42 14 08 00 00 00 	movl   $0x8,0x14(%edx)
500d0b:	8b 10                	mov    (%eax),%edx
500d0d:	ff 12                	call   *(%edx)
500d0f:	eb 43                	jmp    0x500d54
500d11:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
500d15:	74 3d                	je     0x500d54
500d17:	8b 0b                	mov    (%ebx),%ecx
500d19:	8b c3                	mov    %ebx,%eax
500d1b:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
500d22:	8b 10                	mov    (%eax),%edx
500d24:	ff 12                	call   *(%edx)
500d26:	eb 2c                	jmp    0x500d54
500d28:	83 7b 20 04          	cmpl   $0x4,0x20(%ebx)
500d2c:	74 26                	je     0x500d54
500d2e:	8b 0b                	mov    (%ebx),%ecx
500d30:	8b c3                	mov    %ebx,%eax
500d32:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
500d39:	8b 10                	mov    (%eax),%edx
500d3b:	ff 12                	call   *(%edx)
500d3d:	eb 15                	jmp    0x500d54
500d3f:	83 7b 20 01          	cmpl   $0x1,0x20(%ebx)
500d43:	7d 0f                	jge    0x500d54
500d45:	8b 0b                	mov    (%ebx),%ecx
500d47:	8b c3                	mov    %ebx,%eax
500d49:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
500d50:	8b 10                	mov    (%eax),%edx
500d52:	ff 12                	call   *(%edx)
500d54:	8b 4b 28             	mov    0x28(%ebx),%ecx
500d57:	49                   	dec    %ecx
500d58:	74 11                	je     0x500d6b
500d5a:	49                   	dec    %ecx
500d5b:	74 65                	je     0x500dc2
500d5d:	83 e9 02             	sub    $0x2,%ecx
500d60:	0f 84 ae 00 00 00    	je     0x500e14
500d66:	e9 e6 00 00 00       	jmp    0x500e51
500d6b:	c7 43 74 01 00 00 00 	movl   $0x1,0x74(%ebx)
500d72:	8b 43 24             	mov    0x24(%ebx),%eax
500d75:	83 f8 01             	cmp    $0x1,%eax
500d78:	74 05                	je     0x500d7f
500d7a:	83 f8 03             	cmp    $0x3,%eax
500d7d:	75 2f                	jne    0x500dae
500d7f:	c7 46 04 14 0b 50 00 	movl   $0x500b14,0x4(%esi)
500d86:	b8 01 00 00 00       	mov    $0x1,%eax
500d8b:	eb 17                	jmp    0x500da4
500d8d:	8b d0                	mov    %eax,%edx
500d8f:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
500d95:	c1 e2 03             	shl    $0x3,%edx
500d98:	33 f6                	xor    %esi,%esi
500d9a:	2b d0                	sub    %eax,%edx
500d9c:	40                   	inc    %eax
500d9d:	8d 14 52             	lea    (%edx,%edx,2),%edx
500da0:	89 74 91 30          	mov    %esi,0x30(%ecx,%edx,4)
500da4:	3b 43 20             	cmp    0x20(%ebx),%eax
500da7:	7c e4                	jl     0x500d8d
500da9:	e9 c9 00 00 00       	jmp    0x500e77
500dae:	8b 03                	mov    (%ebx),%eax
500db0:	c7 40 14 19 00 00 00 	movl   $0x19,0x14(%eax)
500db7:	8b c3                	mov    %ebx,%eax
500db9:	8b 10                	mov    (%eax),%edx
500dbb:	ff 12                	call   *(%edx)
500dbd:	e9 b5 00 00 00       	jmp    0x500e77
500dc2:	c7 43 74 03 00 00 00 	movl   $0x3,0x74(%ebx)
500dc9:	83 7b 24 03          	cmpl   $0x3,0x24(%ebx)
500dcd:	75 13                	jne    0x500de2
500dcf:	c7 46 04 9c 09 50 00 	movl   $0x50099c,0x4(%esi)
500dd6:	8b c3                	mov    %ebx,%eax
500dd8:	e8 07 fb ff ff       	call   0x5008e4
500ddd:	e9 95 00 00 00       	jmp    0x500e77
500de2:	83 7b 24 02          	cmpl   $0x2,0x24(%ebx)
500de6:	75 0c                	jne    0x500df4
500de8:	c7 46 04 a4 0a 50 00 	movl   $0x500aa4,0x4(%esi)
500def:	e9 83 00 00 00       	jmp    0x500e77
500df4:	83 7b 24 01          	cmpl   $0x1,0x24(%ebx)
500df8:	75 09                	jne    0x500e03
500dfa:	c7 46 04 34 0b 50 00 	movl   $0x500b34,0x4(%esi)
500e01:	eb 74                	jmp    0x500e77
500e03:	8b 13                	mov    (%ebx),%edx
500e05:	8b c3                	mov    %ebx,%eax
500e07:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
500e0e:	8b 10                	mov    (%eax),%edx
500e10:	ff 12                	call   *(%edx)
500e12:	eb 63                	jmp    0x500e77
500e14:	c7 43 74 04 00 00 00 	movl   $0x4,0x74(%ebx)
500e1b:	83 7b 24 05          	cmpl   $0x5,0x24(%ebx)
500e1f:	75 10                	jne    0x500e31
500e21:	c7 46 04 80 0b 50 00 	movl   $0x500b80,0x4(%esi)
500e28:	8b c3                	mov    %ebx,%eax
500e2a:	e8 b5 fa ff ff       	call   0x5008e4
500e2f:	eb 46                	jmp    0x500e77
500e31:	83 7b 24 04          	cmpl   $0x4,0x24(%ebx)
500e35:	75 09                	jne    0x500e40
500e37:	c7 46 04 a4 0a 50 00 	movl   $0x500aa4,0x4(%esi)
500e3e:	eb 37                	jmp    0x500e77
500e40:	8b 13                	mov    (%ebx),%edx
500e42:	8b c3                	mov    %ebx,%eax
500e44:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
500e4b:	8b 10                	mov    (%eax),%edx
500e4d:	ff 12                	call   *(%edx)
500e4f:	eb 26                	jmp    0x500e77
500e51:	8b 4b 28             	mov    0x28(%ebx),%ecx
500e54:	3b 4b 24             	cmp    0x24(%ebx),%ecx
500e57:	75 0f                	jne    0x500e68
500e59:	8b 43 20             	mov    0x20(%ebx),%eax
500e5c:	89 43 74             	mov    %eax,0x74(%ebx)
500e5f:	c7 46 04 a4 0a 50 00 	movl   $0x500aa4,0x4(%esi)
500e66:	eb 0f                	jmp    0x500e77
500e68:	8b 13                	mov    (%ebx),%edx
500e6a:	8b c3                	mov    %ebx,%eax
500e6c:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
500e73:	8b 10                	mov    (%eax),%edx
500e75:	ff 12                	call   *(%edx)
500e77:	83 7b 50 00          	cmpl   $0x0,0x50(%ebx)
500e7b:	74 0a                	je     0x500e87
500e7d:	c7 43 78 01 00 00 00 	movl   $0x1,0x78(%ebx)
500e84:	5e                   	pop    %esi
500e85:	5b                   	pop    %ebx
500e86:	c3                   	ret
500e87:	8b 4b 74             	mov    0x74(%ebx),%ecx
500e8a:	89 4b 78             	mov    %ecx,0x78(%ebx)
500e8d:	5e                   	pop    %esi
500e8e:	5b                   	pop    %ebx
500e8f:	c3                   	ret
500e90:	53                   	push   %ebx
500e91:	56                   	push   %esi
500e92:	57                   	push   %edi
500e93:	83 c4 e8             	add    $0xffffffe8,%esp
500e96:	89 54 24 04          	mov    %edx,0x4(%esp)
500e9a:	89 04 24             	mov    %eax,(%esp)
500e9d:	8b 04 24             	mov    (%esp),%eax
500ea0:	8b 50 74             	mov    0x74(%eax),%edx
500ea3:	89 54 24 08          	mov    %edx,0x8(%esp)
500ea7:	8b 0c 24             	mov    (%esp),%ecx
500eaa:	8b 41 5c             	mov    0x5c(%ecx),%eax
500ead:	89 44 24 0c          	mov    %eax,0xc(%esp)
500eb1:	bb 01 00 00 00       	mov    $0x1,%ebx
500eb6:	43                   	inc    %ebx
500eb7:	8b c3                	mov    %ebx,%eax
500eb9:	b9 01 00 00 00       	mov    $0x1,%ecx
500ebe:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500ec2:	7d 0a                	jge    0x500ece
500ec4:	0f af c3             	imul   %ebx,%eax
500ec7:	41                   	inc    %ecx
500ec8:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500ecc:	7c f6                	jl     0x500ec4
500ece:	3b 44 24 0c          	cmp    0xc(%esp),%eax
500ed2:	7e e2                	jle    0x500eb6
500ed4:	4b                   	dec    %ebx
500ed5:	83 fb 02             	cmp    $0x2,%ebx
500ed8:	7d 16                	jge    0x500ef0
500eda:	8b 14 24             	mov    (%esp),%edx
500edd:	8b 12                	mov    (%edx),%edx
500edf:	c7 42 14 37 00 00 00 	movl   $0x37,0x14(%edx)
500ee6:	89 42 18             	mov    %eax,0x18(%edx)
500ee9:	8b 04 24             	mov    (%esp),%eax
500eec:	8b 08                	mov    (%eax),%ecx
500eee:	ff 11                	call   *(%ecx)
500ef0:	be 01 00 00 00       	mov    $0x1,%esi
500ef5:	33 c9                	xor    %ecx,%ecx
500ef7:	8b 44 24 04          	mov    0x4(%esp),%eax
500efb:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500eff:	7d 0f                	jge    0x500f10
500f01:	89 18                	mov    %ebx,(%eax)
500f03:	0f af f3             	imul   %ebx,%esi
500f06:	41                   	inc    %ecx
500f07:	83 c0 04             	add    $0x4,%eax
500f0a:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500f0e:	7c f1                	jl     0x500f01
500f10:	33 d2                	xor    %edx,%edx
500f12:	89 54 24 10          	mov    %edx,0x10(%esp)
500f16:	33 c9                	xor    %ecx,%ecx
500f18:	c7 44 24 14 98 d8 68 	movl   $0x68d898,0x14(%esp)
500f1f:	00
500f20:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500f24:	7d 50                	jge    0x500f76
500f26:	8b 04 24             	mov    (%esp),%eax
500f29:	83 78 28 02          	cmpl   $0x2,0x28(%eax)
500f2d:	75 08                	jne    0x500f37
500f2f:	8b 54 24 14          	mov    0x14(%esp),%edx
500f33:	8b 1a                	mov    (%edx),%ebx
500f35:	eb 02                	jmp    0x500f39
500f37:	8b d9                	mov    %ecx,%ebx
500f39:	8b 44 24 04          	mov    0x4(%esp),%eax
500f3d:	ff 34 98             	push   (%eax,%ebx,4)
500f40:	8b c6                	mov    %esi,%eax
500f42:	5a                   	pop    %edx
500f43:	8b fa                	mov    %edx,%edi
500f45:	99                   	cltd
500f46:	f7 ff                	idiv   %edi
500f48:	8b 54 24 04          	mov    0x4(%esp),%edx
500f4c:	8b 14 9a             	mov    (%edx,%ebx,4),%edx
500f4f:	42                   	inc    %edx
500f50:	0f af c2             	imul   %edx,%eax
500f53:	3b 44 24 0c          	cmp    0xc(%esp),%eax
500f57:	7f 1d                	jg     0x500f76
500f59:	8b 54 24 04          	mov    0x4(%esp),%edx
500f5d:	41                   	inc    %ecx
500f5e:	8b f0                	mov    %eax,%esi
500f60:	ff 04 9a             	incl   (%edx,%ebx,4)
500f63:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
500f6a:	00
500f6b:	83 44 24 14 04       	addl   $0x4,0x14(%esp)
500f70:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500f74:	7c b0                	jl     0x500f26
500f76:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
500f7b:	75 93                	jne    0x500f10
500f7d:	8b c6                	mov    %esi,%eax
500f7f:	83 c4 18             	add    $0x18,%esp
500f82:	5f                   	pop    %edi
500f83:	5e                   	pop    %esi
500f84:	5b                   	pop    %ebx
500f85:	c3                   	ret
500f86:	90                   	nop
500f87:	90                   	nop
500f88:	55                   	push   %ebp
500f89:	8b ec                	mov    %esp,%ebp
500f8b:	8b c1                	mov    %ecx,%eax
500f8d:	53                   	push   %ebx
500f8e:	c1 e0 08             	shl    $0x8,%eax
500f91:	8b 5d 08             	mov    0x8(%ebp),%ebx
500f94:	8b d3                	mov    %ebx,%edx
500f96:	2b c1                	sub    %ecx,%eax
500f98:	d1 fa                	sar    $1,%edx
500f9a:	79 03                	jns    0x500f9f
500f9c:	83 d2 00             	adc    $0x0,%edx
500f9f:	03 c2                	add    %edx,%eax
500fa1:	99                   	cltd
500fa2:	f7 fb                	idiv   %ebx
500fa4:	5b                   	pop    %ebx
500fa5:	5d                   	pop    %ebp
500fa6:	c2 04 00             	ret    $0x4
500fa9:	90                   	nop
500faa:	90                   	nop
500fab:	90                   	nop
500fac:	03 c9                	add    %ecx,%ecx
500fae:	55                   	push   %ebp
500faf:	8b ec                	mov    %esp,%ebp
500fb1:	8b c1                	mov    %ecx,%eax
500fb3:	c1 e0 08             	shl    $0x8,%eax
500fb6:	53                   	push   %ebx
500fb7:	8b 5d 08             	mov    0x8(%ebp),%ebx
500fba:	2b c1                	sub    %ecx,%eax
500fbc:	03 c3                	add    %ebx,%eax
500fbe:	03 db                	add    %ebx,%ebx
500fc0:	05 ff 00 00 00       	add    $0xff,%eax
500fc5:	99                   	cltd
500fc6:	f7 fb                	idiv   %ebx
500fc8:	5b                   	pop    %ebx
500fc9:	5d                   	pop    %ebp
500fca:	c2 04 00             	ret    $0x4
500fcd:	90                   	nop
500fce:	90                   	nop
500fcf:	90                   	nop
500fd0:	53                   	push   %ebx
500fd1:	56                   	push   %esi
500fd2:	57                   	push   %edi
500fd3:	55                   	push   %ebp
500fd4:	83 c4 d0             	add    $0xffffffd0,%esp
500fd7:	89 04 24             	mov    %eax,(%esp)
500fda:	8b 04 24             	mov    (%esp),%eax
500fdd:	8b 90 c4 01 00 00    	mov    0x1c4(%eax),%edx
500fe3:	89 54 24 04          	mov    %edx,0x4(%esp)
500fe7:	8b 54 24 04          	mov    0x4(%esp),%edx
500feb:	8b 04 24             	mov    (%esp),%eax
500fee:	83 c2 20             	add    $0x20,%edx
500ff1:	e8 9a fe ff ff       	call   0x500e90
500ff6:	89 44 24 0c          	mov    %eax,0xc(%esp)
500ffa:	8b 0c 24             	mov    (%esp),%ecx
500ffd:	83 79 74 03          	cmpl   $0x3,0x74(%ecx)
501001:	75 47                	jne    0x50104a
501003:	8b 04 24             	mov    (%esp),%eax
501006:	8b 00                	mov    (%eax),%eax
501008:	83 c0 18             	add    $0x18,%eax
50100b:	8b 54 24 0c          	mov    0xc(%esp),%edx
50100f:	89 10                	mov    %edx,(%eax)
501011:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501015:	8b 51 20             	mov    0x20(%ecx),%edx
501018:	89 50 04             	mov    %edx,0x4(%eax)
50101b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
50101f:	8b 51 24             	mov    0x24(%ecx),%edx
501022:	89 50 08             	mov    %edx,0x8(%eax)
501025:	8b 4c 24 04          	mov    0x4(%esp),%ecx
501029:	8b 51 28             	mov    0x28(%ecx),%edx
50102c:	89 50 0c             	mov    %edx,0xc(%eax)
50102f:	8b 04 24             	mov    (%esp),%eax
501032:	8b 08                	mov    (%eax),%ecx
501034:	c7 41 14 5d 00 00 00 	movl   $0x5d,0x14(%ecx)
50103b:	ba 01 00 00 00       	mov    $0x1,%edx
501040:	8b 04 24             	mov    (%esp),%eax
501043:	8b 08                	mov    (%eax),%ecx
501045:	ff 51 04             	call   *0x4(%ecx)
501048:	eb 20                	jmp    0x50106a
50104a:	8b 04 24             	mov    (%esp),%eax
50104d:	8b 00                	mov    (%eax),%eax
50104f:	c7 40 14 5e 00 00 00 	movl   $0x5e,0x14(%eax)
501056:	8b 54 24 0c          	mov    0xc(%esp),%edx
50105a:	89 50 18             	mov    %edx,0x18(%eax)
50105d:	ba 01 00 00 00       	mov    $0x1,%edx
501062:	8b 04 24             	mov    (%esp),%eax
501065:	8b 08                	mov    (%eax),%ecx
501067:	ff 51 04             	call   *0x4(%ecx)
50106a:	8b 04 24             	mov    (%esp),%eax
50106d:	8b 50 74             	mov    0x74(%eax),%edx
501070:	52                   	push   %edx
501071:	ba 01 00 00 00       	mov    $0x1,%edx
501076:	8b 44 24 04          	mov    0x4(%esp),%eax
50107a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
50107e:	8b 58 04             	mov    0x4(%eax),%ebx
501081:	ff 53 08             	call   *0x8(%ebx)
501084:	89 44 24 08          	mov    %eax,0x8(%esp)
501088:	33 d2                	xor    %edx,%edx
50108a:	8b 44 24 0c          	mov    0xc(%esp),%eax
50108e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
501092:	89 54 24 10          	mov    %edx,0x10(%esp)
501096:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50109a:	8b c1                	mov    %ecx,%eax
50109c:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5010a0:	8b 54 24 04          	mov    0x4(%esp),%edx
5010a4:	8d 4a 20             	lea    0x20(%edx),%ecx
5010a7:	89 4c 24 20          	mov    %ecx,0x20(%esp)
5010ab:	e9 a5 00 00 00       	jmp    0x501155
5010b0:	8b 44 24 20          	mov    0x20(%esp),%eax
5010b4:	8b 10                	mov    (%eax),%edx
5010b6:	89 54 24 18          	mov    %edx,0x18(%esp)
5010ba:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5010be:	99                   	cltd