540c91:	8a 45 bd             	mov    -0x43(%ebp),%al
540c94:	40                   	inc    %eax
540c95:	e8 12 1b ec ff       	call   0x4027ac
540c9a:	8b d8                	mov    %eax,%ebx
540c9c:	33 c9                	xor    %ecx,%ecx
540c9e:	8a 4d bd             	mov    -0x43(%ebp),%cl
540ca1:	8b d3                	mov    %ebx,%edx
540ca3:	8b c6                	mov    %esi,%eax
540ca5:	8b 38                	mov    (%eax),%edi
540ca7:	ff 57 08             	call   *0x8(%edi)
540caa:	33 c0                	xor    %eax,%eax
540cac:	8a 45 bd             	mov    -0x43(%ebp),%al
540caf:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
540cb3:	8b c3                	mov    %ebx,%eax
540cb5:	e8 36 91 ec ff       	call   0x409df0
540cba:	85 c0                	test   %eax,%eax
540cbc:	76 23                	jbe    0x540ce1
540cbe:	8d 85 80 f9 ff ff    	lea    -0x680(%ebp),%eax
540cc4:	8b d3                	mov    %ebx,%edx
540cc6:	e8 8d 3d ec ff       	call   0x404a58
540ccb:	8b 95 80 f9 ff ff    	mov    -0x680(%ebp),%edx
540cd1:	8b 45 18             	mov    0x18(%ebp),%eax
540cd4:	8b 00                	mov    (%eax),%eax
540cd6:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
540cdc:	8b 08                	mov    (%eax),%ecx
540cde:	ff 51 38             	call   *0x38(%ecx)
540ce1:	8b c3                	mov    %ebx,%eax
540ce3:	e8 e4 1a ec ff       	call   0x4027cc
540ce8:	8d 55 bd             	lea    -0x43(%ebp),%edx
540ceb:	b9 01 00 00 00       	mov    $0x1,%ecx
540cf0:	8b c6                	mov    %esi,%eax
540cf2:	8b 18                	mov    (%eax),%ebx
540cf4:	ff 53 08             	call   *0x8(%ebx)
540cf7:	80 7d bd 00          	cmpb   $0x0,-0x43(%ebp)
540cfb:	0f 86 cd f6 ff ff    	jbe    0x5403ce
540d01:	8b c6                	mov    %esi,%eax
540d03:	e8 b0 d9 ed ff       	call   0x41e6b8
540d08:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
540d0b:	75 0e                	jne    0x540d1b
540d0d:	3b 45 b0             	cmp    -0x50(%ebp),%eax
540d10:	0f 82 79 ff ff ff    	jb     0x540c8f
540d16:	e9 b3 f6 ff ff       	jmp    0x5403ce
540d1b:	0f 8c 6e ff ff ff    	jl     0x540c8f
540d21:	e9 a8 f6 ff ff       	jmp    0x5403ce
540d26:	8d 55 bd             	lea    -0x43(%ebp),%edx
540d29:	b9 01 00 00 00       	mov    $0x1,%ecx
540d2e:	8b c6                	mov    %esi,%eax
540d30:	8b 18                	mov    (%eax),%ebx
540d32:	ff 53 08             	call   *0x8(%ebx)
540d35:	33 d2                	xor    %edx,%edx
540d37:	8a 55 bd             	mov    -0x43(%ebp),%dl
540d3a:	66 b9 01 00          	mov    $0x1,%cx
540d3e:	8b c6                	mov    %esi,%eax
540d40:	8b 18                	mov    (%eax),%ebx
540d42:	ff 53 10             	call   *0x10(%ebx)
540d45:	80 7d bd 00          	cmpb   $0x0,-0x43(%ebp)
540d49:	0f 84 7f f6 ff ff    	je     0x5403ce
540d4f:	8b c6                	mov    %esi,%eax
540d51:	e8 62 d9 ed ff       	call   0x41e6b8
540d56:	3b 55 b4             	cmp    -0x4c(%ebp),%edx
540d59:	75 0a                	jne    0x540d65
540d5b:	3b 45 b0             	cmp    -0x50(%ebp),%eax
540d5e:	72 c6                	jb     0x540d26
540d60:	e9 69 f6 ff ff       	jmp    0x5403ce
540d65:	7c bf                	jl     0x540d26
540d67:	e9 62 f6 ff ff       	jmp    0x5403ce
540d6c:	8b 55 f8             	mov    -0x8(%ebp),%edx
540d6f:	8b 12                	mov    (%edx),%edx
540d71:	8b 45 18             	mov    0x18(%ebp),%eax
540d74:	8b 00                	mov    (%eax),%eax
540d76:	e8 c1 c9 08 00       	call   0x5cd73c
540d7b:	8b 45 14             	mov    0x14(%ebp),%eax
540d7e:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
540d83:	74 1e                	je     0x540da3
540d85:	8b 45 14             	mov    0x14(%ebp),%eax
540d88:	8b 40 28             	mov    0x28(%eax),%eax
540d8b:	80 38 00             	cmpb   $0x0,(%eax)
540d8e:	75 13                	jne    0x540da3
540d90:	8b 5d 14             	mov    0x14(%ebp),%ebx
540d93:	8b 55 14             	mov    0x14(%ebp),%edx
540d96:	8b 52 08             	mov    0x8(%edx),%edx
540d99:	b9 64 00 00 00       	mov    $0x64,%ecx
540d9e:	8b 43 04             	mov    0x4(%ebx),%eax
540da1:	ff 13                	call   *(%ebx)
540da3:	33 c0                	xor    %eax,%eax
540da5:	5a                   	pop    %edx
540da6:	59                   	pop    %ecx
540da7:	59                   	pop    %ecx
540da8:	64 89 10             	mov    %edx,%fs:(%eax)
540dab:	68 c3 0d 54 00       	push   $0x540dc3
540db0:	8d 85 80 f9 ff ff    	lea    -0x680(%ebp),%eax
540db6:	e8 ad 3a ec ff       	call   0x404868
540dbb:	c3                   	ret
540dbc:	e9 4b 34 ec ff       	jmp    0x40420c
540dc1:	eb ed                	jmp    0x540db0
540dc3:	5f                   	pop    %edi
540dc4:	5e                   	pop    %esi
540dc5:	5b                   	pop    %ebx
540dc6:	8b e5                	mov    %ebp,%esp
540dc8:	5d                   	pop    %ebp
540dc9:	c2 14 00             	ret    $0x14
540dcc:	01 00                	add    %eax,(%eax)
540dce:	00 00                	add    %al,(%eax)
540dd0:	55                   	push   %ebp
540dd1:	8b ec                	mov    %esp,%ebp
540dd3:	51                   	push   %ecx
540dd4:	53                   	push   %ebx
540dd5:	56                   	push   %esi
540dd6:	57                   	push   %edi
540dd7:	8b f9                	mov    %ecx,%edi
540dd9:	8b f2                	mov    %edx,%esi
540ddb:	89 45 fc             	mov    %eax,-0x4(%ebp)
540dde:	8b 45 fc             	mov    -0x4(%ebp),%eax
540de1:	e8 22 3f ec ff       	call   0x404d08
540de6:	33 c0                	xor    %eax,%eax
540de8:	55                   	push   %ebp
540de9:	68 41 0e 54 00       	push   $0x540e41
540dee:	64 ff 30             	push   %fs:(%eax)
540df1:	64 89 20             	mov    %esp,%fs:(%eax)
540df4:	68 ff ff 00 00       	push   $0xffff
540df9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
540dfc:	b2 01                	mov    $0x1,%dl
540dfe:	a1 88 9c 41 00       	mov    0x419c88,%eax
540e03:	e8 cc dd ed ff       	call   0x41ebd4
540e08:	8b d8                	mov    %eax,%ebx
540e0a:	6a 00                	push   $0x0
540e0c:	6a 00                	push   $0x0
540e0e:	8b c3                	mov    %ebx,%eax
540e10:	e8 27 d9 ed ff       	call   0x41e73c
540e15:	8b 45 08             	mov    0x8(%ebp),%eax
540e18:	50                   	push   %eax
540e19:	8b cf                	mov    %edi,%ecx
540e1b:	8b d6                	mov    %esi,%edx
540e1d:	8b c3                	mov    %ebx,%eax
540e1f:	e8 2c 00 00 00       	call   0x540e50
540e24:	8b c3                	mov    %ebx,%eax
540e26:	e8 4d 2c ec ff       	call   0x403a78
540e2b:	33 c0                	xor    %eax,%eax
540e2d:	5a                   	pop    %edx
540e2e:	59                   	pop    %ecx
540e2f:	59                   	pop    %ecx
540e30:	64 89 10             	mov    %edx,%fs:(%eax)
540e33:	68 48 0e 54 00       	push   $0x540e48
540e38:	8d 45 fc             	lea    -0x4(%ebp),%eax
540e3b:	e8 28 3a ec ff       	call   0x404868
540e40:	c3                   	ret
540e41:	e9 c6 33 ec ff       	jmp    0x40420c
540e46:	eb f0                	jmp    0x540e38
540e48:	5f                   	pop    %edi
540e49:	5e                   	pop    %esi
540e4a:	5b                   	pop    %ebx
540e4b:	59                   	pop    %ecx
540e4c:	5d                   	pop    %ebp
540e4d:	c2 04 00             	ret    $0x4
540e50:	55                   	push   %ebp
540e51:	8b ec                	mov    %esp,%ebp
540e53:	81 c4 68 fc ff ff    	add    $0xfffffc68,%esp
540e59:	53                   	push   %ebx
540e5a:	56                   	push   %esi
540e5b:	57                   	push   %edi
540e5c:	33 db                	xor    %ebx,%ebx
540e5e:	89 9d 68 fc ff ff    	mov    %ebx,-0x398(%ebp)
540e64:	89 5d d8             	mov    %ebx,-0x28(%ebp)
540e67:	89 4d f4             	mov    %ecx,-0xc(%ebp)
540e6a:	89 55 f8             	mov    %edx,-0x8(%ebp)
540e6d:	89 45 fc             	mov    %eax,-0x4(%ebp)
540e70:	33 c0                	xor    %eax,%eax
540e72:	55                   	push   %ebp
540e73:	68 79 17 54 00       	push   $0x541779
540e78:	64 ff 30             	push   %fs:(%eax)
540e7b:	64 89 20             	mov    %esp,%fs:(%eax)
540e7e:	8b 45 08             	mov    0x8(%ebp),%eax
540e81:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
540e86:	74 10                	je     0x540e98
540e88:	8b 5d 08             	mov    0x8(%ebp),%ebx
540e8b:	8b 55 08             	mov    0x8(%ebp),%edx
540e8e:	8b 52 08             	mov    0x8(%edx),%edx
540e91:	33 c9                	xor    %ecx,%ecx
540e93:	8b 43 04             	mov    0x4(%ebx),%eax
540e96:	ff 13                	call   *(%ebx)
540e98:	8b 45 08             	mov    0x8(%ebp),%eax
540e9b:	8b 40 28             	mov    0x28(%eax),%eax
540e9e:	80 38 00             	cmpb   $0x0,(%eax)
540ea1:	0f 85 b1 08 00 00    	jne    0x541758
540ea7:	8b 55 08             	mov    0x8(%ebp),%edx
540eaa:	89 85 98 fc ff ff    	mov    %eax,-0x368(%ebp)
540eb0:	33 c0                	xor    %eax,%eax
540eb2:	89 85 70 fc ff ff    	mov    %eax,-0x390(%ebp)
540eb8:	89 85 74 fc ff ff    	mov    %eax,-0x38c(%ebp)
540ebe:	33 c0                	xor    %eax,%eax
540ec0:	89 85 78 fc ff ff    	mov    %eax,-0x388(%ebp)
540ec6:	c6 45 d3 00          	movb   $0x0,-0x2d(%ebp)
540eca:	8b 45 f4             	mov    -0xc(%ebp),%eax
540ecd:	8b 00                	mov    (%eax),%eax
540ecf:	8b 40 08             	mov    0x8(%eax),%eax
540ed2:	83 f8 01             	cmp    $0x1,%eax
540ed5:	75 5f                	jne    0x540f36
540ed7:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
540ede:	8b 45 f8             	mov    -0x8(%ebp),%eax
540ee1:	8b 10                	mov    (%eax),%edx
540ee3:	ff 52 10             	call   *0x10(%edx)
540ee6:	3c 01                	cmp    $0x1,%al
540ee8:	75 0b                	jne    0x540ef5
540eea:	8b 45 f8             	mov    -0x8(%ebp),%eax
540eed:	89 45 d4             	mov    %eax,-0x2c(%ebp)
540ef0:	e9 83 00 00 00       	jmp    0x540f78
540ef5:	8d 4d cd             	lea    -0x33(%ebp),%ecx
540ef8:	8d 55 d0             	lea    -0x30(%ebp),%edx
540efb:	8b 45 f8             	mov    -0x8(%ebp),%eax
540efe:	e8 11 a9 06 00       	call   0x5ab814
540f03:	89 45 d4             	mov    %eax,-0x2c(%ebp)
540f06:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
540f0a:	75 24                	jne    0x540f30
540f0c:	b2 01                	mov    $0x1,%dl
540f0e:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
540f13:	e8 8c 66 0b 00       	call   0x5f75a4
540f18:	89 45 d4             	mov    %eax,-0x2c(%ebp)
540f1b:	8b 55 f8             	mov    -0x8(%ebp),%edx
540f1e:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540f21:	8b 08                	mov    (%eax),%ecx
540f23:	ff 51 28             	call   *0x28(%ecx)
540f26:	b2 01                	mov    $0x1,%dl
540f28:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540f2b:	e8 88 72 0b 00       	call   0x5f81b8
540f30:	c6 45 d3 01          	movb   $0x1,-0x2d(%ebp)
540f34:	eb 42                	jmp    0x540f78
540f36:	8b 55 f4             	mov    -0xc(%ebp),%edx
540f39:	89 45 bc             	mov    %eax,-0x44(%ebp)
540f3c:	8b 45 f8             	mov    -0x8(%ebp),%eax
540f3f:	8b 10                	mov    (%eax),%edx
540f41:	ff 52 10             	call   *0x10(%edx)
540f44:	3c 01                	cmp    $0x1,%al
540f46:	75 2a                	jne    0x540f72
540f48:	b2 01                	mov    $0x1,%dl
540f4a:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
540f4f:	e8 50 66 0b 00       	call   0x5f75a4
540f54:	89 45 d4             	mov    %eax,-0x2c(%ebp)
540f57:	8b 55 f8             	mov    -0x8(%ebp),%edx
540f5a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540f5d:	8b 08                	mov    (%eax),%ecx
540f5f:	ff 51 28             	call   *0x28(%ecx)
540f62:	b2 05                	mov    $0x5,%dl
540f64:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540f67:	e8 4c 72 0b 00       	call   0x5f81b8
540f6c:	c6 45 d3 01          	movb   $0x1,-0x2d(%ebp)
540f70:	eb 06                	jmp    0x540f78
540f72:	8b 45 f8             	mov    -0x8(%ebp),%eax
540f75:	89 45 d4             	mov    %eax,-0x2c(%ebp)
540f78:	8b 4d bc             	mov    -0x44(%ebp),%ecx
540f7b:	b8 01 00 00 00       	mov    $0x1,%eax
540f80:	d3 e0                	shl    %cl,%eax
540f82:	89 45 c8             	mov    %eax,-0x38(%ebp)
540f85:	8b 45 f8             	mov    -0x8(%ebp),%eax
540f88:	e8 7b 69 0b 00       	call   0x5f7908
540f8d:	84 c0                	test   %al,%al
540f8f:	74 0f                	je     0x540fa0
540f91:	ff 4d c8             	decl   -0x38(%ebp)
540f94:	8b 45 f4             	mov    -0xc(%ebp),%eax
540f97:	8b 00                	mov    (%eax),%eax
540f99:	c6 80 94 00 00 00 01 	movb   $0x1,0x94(%eax)
540fa0:	33 c0                	xor    %eax,%eax
540fa2:	89 45 c0             	mov    %eax,-0x40(%ebp)
540fa5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540fa8:	8b 10                	mov    (%eax),%edx
540faa:	ff 52 0c             	call   *0xc(%edx)
540fad:	8b d8                	mov    %eax,%ebx
540faf:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540fb2:	8b 10                	mov    (%eax),%edx
540fb4:	ff 52 08             	call   *0x8(%edx)
540fb7:	0f af d8             	imul   %eax,%ebx
540fba:	8b c3                	mov    %ebx,%eax
540fbc:	83 c0 09             	add    $0x9,%eax
540fbf:	e8 e8 17 ec ff       	call   0x4027ac
540fc4:	89 45 e0             	mov    %eax,-0x20(%ebp)
540fc7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540fca:	8b 10                	mov    (%eax),%edx
540fcc:	ff 52 08             	call   *0x8(%edx)
540fcf:	8b d8                	mov    %eax,%ebx
540fd1:	4b                   	dec    %ebx
540fd2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540fd5:	8b 10                	mov    (%eax),%edx
540fd7:	ff 52 0c             	call   *0xc(%edx)
540fda:	48                   	dec    %eax
540fdb:	89 45 b8             	mov    %eax,-0x48(%ebp)
540fde:	8b 45 d4             	mov    -0x2c(%ebp),%eax
540fe1:	8b 10                	mov    (%eax),%edx
540fe3:	ff 52 10             	call   *0x10(%edx)
540fe6:	3c 01                	cmp    $0x1,%al
540fe8:	0f 84 3a 01 00 00    	je     0x541128
540fee:	8d 85 a7 fc ff ff    	lea    -0x359(%ebp),%eax
540ff4:	50                   	push   %eax
540ff5:	68 ff 00 00 00       	push   $0xff
540ffa:	8b 45 c8             	mov    -0x38(%ebp),%eax
540ffd:	50                   	push   %eax
540ffe:	6a ff                	push   $0xffffffff
541000:	6a 00                	push   $0x0
541002:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
541005:	b2 01                	mov    $0x1,%dl
541007:	a1 08 ee 53 00       	mov    0x53ee08,%eax
54100c:	e8 53 e9 ff ff       	call   0x53f964
541011:	89 45 c0             	mov    %eax,-0x40(%ebp)
541014:	85 db                	test   %ebx,%ebx
541016:	0f 8c 23 02 00 00    	jl     0x54123f
54101c:	43                   	inc    %ebx
54101d:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
541020:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
541027:	8b 45 d4             	mov    -0x2c(%ebp),%eax
54102a:	8b 10                	mov    (%eax),%edx
54102c:	ff 52 10             	call   *0x10(%edx)
54102f:	3c 02                	cmp    $0x2,%al
541031:	75 6b                	jne    0x54109e
541033:	8b 55 c4             	mov    -0x3c(%ebp),%edx
541036:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541039:	8b 08                	mov    (%eax),%ecx
54103b:	ff 11                	call   *(%ecx)
54103d:	8b f0                	mov    %eax,%esi
54103f:	8b 5d b8             	mov    -0x48(%ebp),%ebx
541042:	85 db                	test   %ebx,%ebx
541044:	0f 8c cd 00 00 00    	jl     0x541117
54104a:	43                   	inc    %ebx
54104b:	33 ff                	xor    %edi,%edi
54104d:	8b 45 f8             	mov    -0x8(%ebp),%eax
541050:	e8 b3 68 0b 00       	call   0x5f7908
541055:	84 c0                	test   %al,%al
541057:	74 29                	je     0x541082
541059:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
54105c:	8b d7                	mov    %edi,%edx
54105e:	8b 45 f8             	mov    -0x8(%ebp),%eax
541061:	e8 e6 ae 0b 00       	call   0x5fbf4c
541066:	3c ff                	cmp    $0xff,%al
541068:	73 18                	jae    0x541082
54106a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
54106d:	8b 10                	mov    (%eax),%edx
54106f:	ff 52 0c             	call   *0xc(%edx)
541072:	f7 6d c4             	imull  -0x3c(%ebp)
541075:	03 c7                	add    %edi,%eax
541077:	8b 55 e0             	mov    -0x20(%ebp),%edx
54107a:	8a 4d c8             	mov    -0x38(%ebp),%cl
54107d:	88 0c 02             	mov    %cl,(%edx,%eax,1)
541080:	eb 15                	jmp    0x541097
541082:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541085:	8b 10                	mov    (%eax),%edx
541087:	ff 52 0c             	call   *0xc(%edx)
54108a:	f7 6d c4             	imull  -0x3c(%ebp)
54108d:	03 c7                	add    %edi,%eax
54108f:	8b 55 e0             	mov    -0x20(%ebp),%edx
541092:	8a 0e                	mov    (%esi),%cl
541094:	88 0c 02             	mov    %cl,(%edx,%eax,1)
541097:	46                   	inc    %esi
541098:	47                   	inc    %edi