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
541099:	4b                   	dec    %ebx
54109a:	75 b1                	jne    0x54104d
54109c:	eb 79                	jmp    0x541117
54109e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5410a1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5410a4:	8b 08                	mov    (%eax),%ecx
5410a6:	ff 11                	call   *(%ecx)
5410a8:	8b f0                	mov    %eax,%esi
5410aa:	8b 5d b8             	mov    -0x48(%ebp),%ebx
5410ad:	85 db                	test   %ebx,%ebx
5410af:	7c 66                	jl     0x541117
5410b1:	43                   	inc    %ebx
5410b2:	33 ff                	xor    %edi,%edi
5410b4:	8b 45 f8             	mov    -0x8(%ebp),%eax
5410b7:	e8 4c 68 0b 00       	call   0x5f7908
5410bc:	84 c0                	test   %al,%al
5410be:	74 29                	je     0x5410e9
5410c0:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
5410c3:	8b d7                	mov    %edi,%edx
5410c5:	8b 45 f8             	mov    -0x8(%ebp),%eax
5410c8:	e8 7f ae 0b 00       	call   0x5fbf4c
5410cd:	3c ff                	cmp    $0xff,%al
5410cf:	73 18                	jae    0x5410e9
5410d1:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5410d4:	8b 10                	mov    (%eax),%edx
5410d6:	ff 52 0c             	call   *0xc(%edx)
5410d9:	f7 6d c4             	imull  -0x3c(%ebp)
5410dc:	03 c7                	add    %edi,%eax
5410de:	8b 55 e0             	mov    -0x20(%ebp),%edx
5410e1:	8a 4d c8             	mov    -0x38(%ebp),%cl
5410e4:	88 0c 02             	mov    %cl,(%edx,%eax,1)
5410e7:	eb 27                	jmp    0x541110
5410e9:	8a 46 02             	mov    0x2(%esi),%al
5410ec:	c1 e0 10             	shl    $0x10,%eax
5410ef:	66 8b 06             	mov    (%esi),%ax
5410f2:	50                   	push   %eax
5410f3:	8b 45 c0             	mov    -0x40(%ebp),%eax
5410f6:	e8 a5 ea ff ff       	call   0x53fba0
5410fb:	50                   	push   %eax
5410fc:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5410ff:	8b 10                	mov    (%eax),%edx
541101:	ff 52 0c             	call   *0xc(%edx)
541104:	f7 6d c4             	imull  -0x3c(%ebp)
541107:	03 c7                	add    %edi,%eax
541109:	8b 55 e0             	mov    -0x20(%ebp),%edx
54110c:	59                   	pop    %ecx
54110d:	88 0c 02             	mov    %cl,(%edx,%eax,1)
541110:	83 c6 03             	add    $0x3,%esi
541113:	47                   	inc    %edi
541114:	4b                   	dec    %ebx
541115:	75 9d                	jne    0x5410b4
541117:	ff 45 c4             	incl   -0x3c(%ebp)
54111a:	ff 4d b4             	decl   -0x4c(%ebp)
54111d:	0f 85 04 ff ff ff    	jne    0x541027
541123:	e9 17 01 00 00       	jmp    0x54123f
541128:	8d 85 6c fc ff ff    	lea    -0x394(%ebp),%eax
54112e:	50                   	push   %eax
54112f:	33 c9                	xor    %ecx,%ecx
541131:	33 d2                	xor    %edx,%edx
541133:	33 c0                	xor    %eax,%eax
541135:	e8 d6 81 06 00       	call   0x5a9310
54113a:	66 8b 85 6c fc ff ff 	mov    -0x394(%ebp),%ax
541141:	66 89 85 a7 fc ff ff 	mov    %ax,-0x359(%ebp)
541148:	8a 85 6e fc ff ff    	mov    -0x392(%ebp),%al
54114e:	88 85 a9 fc ff ff    	mov    %al,-0x357(%ebp)
541154:	8d 85 6c fc ff ff    	lea    -0x394(%ebp),%eax
54115a:	50                   	push   %eax
54115b:	b1 ff                	mov    $0xff,%cl
54115d:	b2 ff                	mov    $0xff,%dl
54115f:	b0 ff                	mov    $0xff,%al
541161:	e8 aa 81 06 00       	call   0x5a9310
541166:	66 8b 85 6c fc ff ff 	mov    -0x394(%ebp),%ax
54116d:	66 89 85 aa fc ff ff 	mov    %ax,-0x356(%ebp)
541174:	8a 85 6e fc ff ff    	mov    -0x392(%ebp),%al
54117a:	88 85 ac fc ff ff    	mov    %al,-0x354(%ebp)
541180:	85 db                	test   %ebx,%ebx
541182:	0f 8c b7 00 00 00    	jl     0x54123f
541188:	43                   	inc    %ebx
541189:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
54118c:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
541193:	8b 55 c4             	mov    -0x3c(%ebp),%edx
541196:	8b 45 d4             	mov    -0x2c(%ebp),%eax
541199:	8b 08                	mov    (%eax),%ecx
54119b:	ff 11                	call   *(%ecx)
54119d:	8b f0                	mov    %eax,%esi
54119f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5411a2:	8b 10                	mov    (%eax),%edx
5411a4:	ff 52 0c             	call   *0xc(%edx)
5411a7:	f7 6d c4             	imull  -0x3c(%ebp)
5411aa:	8b 55 e0             	mov    -0x20(%ebp),%edx
5411ad:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
5411b0:	33 ff                	xor    %edi,%edi
5411b2:	eb 73                	jmp    0x541227
5411b4:	8a 06                	mov    (%esi),%al
5411b6:	24 80                	and    $0x80,%al
5411b8:	25 ff 00 00 00       	and    $0xff,%eax
5411bd:	c1 e8 07             	shr    $0x7,%eax
5411c0:	88 03                	mov    %al,(%ebx)
5411c2:	43                   	inc    %ebx
5411c3:	8a 06                	mov    (%esi),%al
5411c5:	24 40                	and    $0x40,%al
5411c7:	25 ff 00 00 00       	and    $0xff,%eax
5411cc:	c1 e8 06             	shr    $0x6,%eax
5411cf:	88 03                	mov    %al,(%ebx)
5411d1:	43                   	inc    %ebx
5411d2:	8a 06                	mov    (%esi),%al
5411d4:	24 20                	and    $0x20,%al
5411d6:	25 ff 00 00 00       	and    $0xff,%eax
5411db:	c1 e8 05             	shr    $0x5,%eax
5411de:	88 03                	mov    %al,(%ebx)
5411e0:	43                   	inc    %ebx
5411e1:	8a 06                	mov    (%esi),%al
5411e3:	24 10                	and    $0x10,%al
5411e5:	25 ff 00 00 00       	and    $0xff,%eax
5411ea:	c1 e8 04             	shr    $0x4,%eax
5411ed:	88 03                	mov    %al,(%ebx)
5411ef:	43                   	inc    %ebx
5411f0:	8a 06                	mov    (%esi),%al
5411f2:	24 08                	and    $0x8,%al
5411f4:	25 ff 00 00 00       	and    $0xff,%eax
5411f9:	c1 e8 03             	shr    $0x3,%eax
5411fc:	88 03                	mov    %al,(%ebx)
5411fe:	43                   	inc    %ebx
5411ff:	8a 06                	mov    (%esi),%al
541201:	24 04                	and    $0x4,%al
541203:	25 ff 00 00 00       	and    $0xff,%eax
541208:	c1 e8 02             	shr    $0x2,%eax
54120b:	88 03                	mov    %al,(%ebx)
54120d:	43                   	inc    %ebx
54120e:	8a 06                	mov    (%esi),%al
541210:	24 02                	and    $0x2,%al
541212:	25 ff 00 00 00       	and    $0xff,%eax
541217:	d1 e8                	shr    $1,%eax
541219:	88 03                	mov    %al,(%ebx)
54121b:	43                   	inc    %ebx
54121c:	8a 06                	mov    (%esi),%al
54121e:	24 01                	and    $0x1,%al
541220:	88 03                	mov    %al,(%ebx)
541222:	43                   	inc    %ebx
541223:	46                   	inc    %esi
541224:	83 c7 08             	add    $0x8,%edi
541227:	8b 45 d4             	mov    -0x2c(%ebp),%eax
54122a:	8b 10                	mov    (%eax),%edx
54122c:	ff 52 0c             	call   *0xc(%edx)
54122f:	3b f8                	cmp    %eax,%edi
541231:	7c 81                	jl     0x5411b4
541233:	ff 45 c4             	incl   -0x3c(%ebp)
541236:	ff 4d b4             	decl   -0x4c(%ebp)
541239:	0f 85 54 ff ff ff    	jne    0x541193
54123f:	8b 45 c8             	mov    -0x38(%ebp),%eax
541242:	48                   	dec    %eax
541243:	85 c0                	test   %eax,%eax
541245:	7c 1c                	jl     0x541263
541247:	40                   	inc    %eax
541248:	89 45 b4             	mov    %eax,-0x4c(%ebp)
54124b:	8d 9d a9 fc ff ff    	lea    -0x357(%ebp),%ebx
541251:	8d 53 fe             	lea    -0x2(%ebx),%edx
541254:	8b c3                	mov    %ebx,%eax
541256:	e8 21 82 06 00       	call   0x5a947c
54125b:	83 c3 03             	add    $0x3,%ebx
54125e:	ff 4d b4             	decl   -0x4c(%ebp)
541261:	75 ee                	jne    0x541251
541263:	8b 45 08             	mov    0x8(%ebp),%eax
541266:	66 83 78 02 00       	cmpw   $0x0,0x2(%eax)
54126b:	74 13                	je     0x541280
54126d:	8b 5d 08             	mov    0x8(%ebp),%ebx
541270:	8b 55 08             	mov    0x8(%ebp),%edx
541273:	8b 52 08             	mov    0x8(%edx),%edx
541276:	b9 1e 00 00 00       	mov    $0x1e,%ecx
54127b:	8b 43 04             	mov    0x4(%ebx),%eax
54127e:	ff 13                	call   *(%ebx)
541280:	8b 45 08             	mov    0x8(%ebp),%eax
541283:	8b 40 28             	mov    0x28(%eax),%eax
541286:	80 38 00             	cmpb   $0x0,(%eax)
541289:	74 29                	je     0x5412b4