540ef0:	83 f8 02             	cmp    $0x2,%eax
540ef3:	7c 59                	jl     0x540f4e
540ef5:	46                   	inc    %esi
540ef6:	83 c7 14             	add    $0x14,%edi
540ef9:	3b f1                	cmp    %ecx,%esi
540efb:	7c d6                	jl     0x540ed3
540efd:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
540f03:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
540f09:	8b bd 68 ff ff ff    	mov    -0x98(%ebp),%edi
540f0f:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
540f15:	3b d1                	cmp    %ecx,%edx
540f17:	7d 64                	jge    0x540f7d
540f19:	8b 5b 14             	mov    0x14(%ebx),%ebx
540f1c:	89 9d 70 ff ff ff    	mov    %ebx,-0x90(%ebp)
540f22:	85 db                	test   %ebx,%ebx
540f24:	0f 85 f8 fe ff ff    	jne    0x540e22
540f2a:	68 d0 b5 6b 00       	push   $0x6bb5d0
540f2f:	57                   	push   %edi
540f30:	e8 2b 23 fe ff       	call   0x523260
540f35:	83 c4 08             	add    $0x8,%esp
540f38:	b8 01 00 00 00       	mov    $0x1,%eax
540f3d:	5f                   	pop    %edi
540f3e:	5e                   	pop    %esi
540f3f:	5b                   	pop    %ebx
540f40:	8b 4d fc             	mov    -0x4(%ebp),%ecx
540f43:	33 cd                	xor    %ebp,%ecx
540f45:	e8 90 05 0a 00       	call   0x5e14da
540f4a:	8b e5                	mov    %ebp,%esp
540f4c:	5d                   	pop    %ebp
540f4d:	c3                   	ret
540f4e:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
540f54:	3b f1                	cmp    %ecx,%esi
540f56:	7d ab                	jge    0x540f03
540f58:	8b b5 54 ff ff ff    	mov    -0xac(%ebp),%esi
540f5e:	42                   	inc    %edx
540f5f:	83 c6 14             	add    $0x14,%esi
540f62:	89 95 6c ff ff ff    	mov    %edx,-0x94(%ebp)
540f68:	89 b5 54 ff ff ff    	mov    %esi,-0xac(%ebp)
540f6e:	3b d1                	cmp    %ecx,%edx
540f70:	7d 0b                	jge    0x540f7d
540f72:	8b 9d 70 ff ff ff    	mov    -0x90(%ebp),%ebx
540f78:	e9 13 ff ff ff       	jmp    0x540e90
540f7d:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
540f83:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
540f89:	89 41 10             	mov    %eax,0x10(%ecx)
540f8c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
540f8f:	33 c0                	xor    %eax,%eax
540f91:	5f                   	pop    %edi
540f92:	5e                   	pop    %esi
540f93:	33 cd                	xor    %ebp,%ecx
540f95:	5b                   	pop    %ebx
540f96:	e8 3f 05 0a 00       	call   0x5e14da
540f9b:	8b e5                	mov    %ebp,%esp
540f9d:	5d                   	pop    %ebp
540f9e:	c3                   	ret
540f9f:	cc                   	int3
540fa0:	55                   	push   %ebp
540fa1:	8b ec                	mov    %esp,%ebp
540fa3:	56                   	push   %esi
540fa4:	8b 75 0c             	mov    0xc(%ebp),%esi
540fa7:	85 f6                	test   %esi,%esi
540fa9:	74 52                	je     0x540ffd
540fab:	8b 06                	mov    (%esi),%eax
540fad:	57                   	push   %edi
540fae:	8b 7d 08             	mov    0x8(%ebp),%edi
540fb1:	85 c0                	test   %eax,%eax
540fb3:	74 0a                	je     0x540fbf
540fb5:	50                   	push   %eax
540fb6:	57                   	push   %edi
540fb7:	e8 44 00 fc ff       	call   0x501000
540fbc:	83 c4 08             	add    $0x8,%esp
540fbf:	8b 46 04             	mov    0x4(%esi),%eax
540fc2:	85 c0                	test   %eax,%eax
540fc4:	74 0a                	je     0x540fd0
540fc6:	50                   	push   %eax
540fc7:	57                   	push   %edi
540fc8:	e8 e3 57 fe ff       	call   0x5267b0
540fcd:	83 c4 08             	add    $0x8,%esp
540fd0:	8b 46 08             	mov    0x8(%esi),%eax
540fd3:	85 c0                	test   %eax,%eax
540fd5:	74 0a                	je     0x540fe1
540fd7:	50                   	push   %eax
540fd8:	57                   	push   %edi
540fd9:	e8 22 00 fc ff       	call   0x501000
540fde:	83 c4 08             	add    $0x8,%esp
540fe1:	8b 46 0c             	mov    0xc(%esi),%eax
540fe4:	85 c0                	test   %eax,%eax
540fe6:	74 0a                	je     0x540ff2
540fe8:	50                   	push   %eax
540fe9:	57                   	push   %edi
540fea:	e8 c1 57 fe ff       	call   0x5267b0
540fef:	83 c4 08             	add    $0x8,%esp
540ff2:	56                   	push   %esi
540ff3:	57                   	push   %edi
540ff4:	e8 77 03 fe ff       	call   0x521370
540ff9:	83 c4 08             	add    $0x8,%esp
540ffc:	5f                   	pop    %edi
540ffd:	5e                   	pop    %esi
540ffe:	5d                   	pop    %ebp
540fff:	c3                   	ret
541000:	55                   	push   %ebp
541001:	8b ec                	mov    %esp,%ebp
541003:	83 ec 20             	sub    $0x20,%esp
541006:	8b 55 14             	mov    0x14(%ebp),%edx
541009:	53                   	push   %ebx
54100a:	8b 5d 08             	mov    0x8(%ebp),%ebx
54100d:	56                   	push   %esi
54100e:	57                   	push   %edi
54100f:	8b 03                	mov    (%ebx),%eax
541011:	8b 73 08             	mov    0x8(%ebx),%esi
541014:	89 45 e4             	mov    %eax,-0x1c(%ebp)
541017:	8b 45 0c             	mov    0xc(%ebp),%eax
54101a:	89 75 e0             	mov    %esi,-0x20(%ebp)
54101d:	8b 78 1c             	mov    0x1c(%eax),%edi
541020:	89 7d f0             	mov    %edi,-0x10(%ebp)
541023:	85 d2                	test   %edx,%edx
541025:	0f 84 b8 01 00 00    	je     0x5411e3
54102b:	8b 4d 18             	mov    0x18(%ebp),%ecx
54102e:	3b cf                	cmp    %edi,%ecx
541030:	0f 84 ad 01 00 00    	je     0x5411e3
541036:	8b 45 10             	mov    0x10(%ebp),%eax
541039:	f6 40 24 80          	testb  $0x80,0x24(%eax)
54103d:	75 61                	jne    0x5410a0
54103f:	8a 43 13             	mov    0x13(%ebx),%al
541042:	84 c0                	test   %al,%al
541044:	75 08                	jne    0x54104e
541046:	ff 43 2c             	incl   0x2c(%ebx)
541049:	8b 7b 2c             	mov    0x2c(%ebx),%edi
54104c:	eb 0f                	jmp    0x54105d
54104e:	fe c8                	dec    %al
541050:	88 43 13             	mov    %al,0x13(%ebx)
541053:	0f b6 c0             	movzbl %al,%eax
541056:	8b bc 83 94 00 00 00 	mov    0x94(%ebx,%eax,4),%edi
54105d:	57                   	push   %edi
54105e:	51                   	push   %ecx
54105f:	68 86 00 00 00       	push   $0x86
541064:	56                   	push   %esi
541065:	e8 76 0a 00 00       	call   0x541ae0
54106a:	57                   	push   %edi
54106b:	6a 00                	push   $0x0
54106d:	ff 75 f0             	push   -0x10(%ebp)
541070:	6a 1f                	push   $0x1f
541072:	56                   	push   %esi
541073:	e8 c8 0a 00 00       	call   0x541b40
541078:	83 c4 24             	add    $0x24,%esp
54107b:	85 ff                	test   %edi,%edi
54107d:	0f 84 5d 01 00 00    	je     0x5411e0
541083:	8a 43 13             	mov    0x13(%ebx),%al
541086:	3c 08                	cmp    $0x8,%al
541088:	0f 83 52 01 00 00    	jae    0x5411e0
54108e:	0f b6 c0             	movzbl %al,%eax
541091:	89 bc 83 94 00 00 00 	mov    %edi,0x94(%ebx,%eax,4)
541098:	fe 43 13             	incb   0x13(%ebx)
54109b:	e9 40 01 00 00       	jmp    0x5411e0
5410a0:	50                   	push   %eax
5410a1:	e8 2a 63 ff ff       	call   0x5373d0
5410a6:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
5410a9:	83 c4 04             	add    $0x4,%esp
5410ac:	89 45 e8             	mov    %eax,-0x18(%ebp)
5410af:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5410b6:	0f b7 40 32          	movzwl 0x32(%eax),%eax
5410ba:	8d 51 01             	lea    0x1(%ecx),%edx
5410bd:	89 45 f4             	mov    %eax,-0xc(%ebp)
5410c0:	03 c8                	add    %eax,%ecx
5410c2:	89 55 ec             	mov    %edx,-0x14(%ebp)
5410c5:	8b 55 14             	mov    0x14(%ebp),%edx
5410c8:	89 4b 2c             	mov    %ecx,0x2c(%ebx)
5410cb:	85 c0                	test   %eax,%eax
5410cd:	0f 84 b1 00 00 00    	je     0x541184
5410d3:	8b 45 ec             	mov    -0x14(%ebp),%eax
5410d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
5410d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5410e0:	0f b7 7a 34          	movzwl 0x34(%edx),%edi
5410e4:	33 c9                	xor    %ecx,%ecx
5410e6:	85 ff                	test   %edi,%edi
5410e8:	7e 23                	jle    0x54110d
5410ea:	8b 45 e8             	mov    -0x18(%ebp),%eax
5410ed:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5410f0:	8b 52 04             	mov    0x4(%edx),%edx
5410f3:	8b 40 04             	mov    0x4(%eax),%eax
5410f6:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
5410fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
541100:	66 3b 02             	cmp    (%edx),%ax
541103:	74 2d                	je     0x541132
541105:	41                   	inc    %ecx
541106:	83 c2 02             	add    $0x2,%edx
541109:	3b cf                	cmp    %edi,%ecx
54110b:	7c f3                	jl     0x541100
54110d:	83 c8 ff             	or     $0xffffffff,%eax
541110:	8b 4e 6c             	mov    0x6c(%esi),%ecx
541113:	0f bf d0             	movswl %ax,%edx
541116:	39 4e 70             	cmp    %ecx,0x70(%esi)
541119:	7f 1c                	jg     0x541137
54111b:	ff 75 fc             	push   -0x4(%ebp)
54111e:	52                   	push   %edx
54111f:	ff 75 18             	push   0x18(%ebp)
541122:	6a 59                	push   $0x59
541124:	56                   	push   %esi
541125:	e8 d6 53 fc ff       	call   0x506500
54112a:	8b 55 fc             	mov    -0x4(%ebp),%edx
54112d:	83 c4 14             	add    $0x14,%esp
541130:	eb 32                	jmp    0x541164
541132:	0f b7 c1             	movzwl %cx,%eax
541135:	eb d9                	jmp    0x541110
541137:	8b 5d 18             	mov    0x18(%ebp),%ebx
54113a:	8d 41 01             	lea    0x1(%ecx),%eax
54113d:	89 46 6c             	mov    %eax,0x6c(%esi)
541140:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
541143:	8b 46 68             	mov    0x68(%esi),%eax
541146:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
54114a:	8b 55 fc             	mov    -0x4(%ebp),%edx
54114d:	c7 04 88 59 00 00 00 	movl   $0x59,(%eax,%ecx,4)
541154:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
541158:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
54115c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
541163:	00
541164:	8b 45 f8             	mov    -0x8(%ebp),%eax
541167:	42                   	inc    %edx
541168:	40                   	inc    %eax
541169:	89 55 fc             	mov    %edx,-0x4(%ebp)
54116c:	8b 55 14             	mov    0x14(%ebp),%edx
54116f:	89 45 f8             	mov    %eax,-0x8(%ebp)
541172:	3b 45 f4             	cmp    -0xc(%ebp),%eax
541175:	0f 8c 65 ff ff ff    	jl     0x5410e0
54117b:	8b 5d 08             	mov    0x8(%ebp),%ebx
54117e:	8b 45 f4             	mov    -0xc(%ebp),%eax
541181:	8b 7d f0             	mov    -0x10(%ebp),%edi
541184:	50                   	push   %eax
541185:	ff 75 ec             	push   -0x14(%ebp)
541188:	6a 00                	push   $0x0
54118a:	57                   	push   %edi
54118b:	6a 1e                	push   $0x1e
54118d:	56                   	push   %esi
54118e:	e8 7d 0a 00 00       	call   0x541c10
541193:	6a ff                	push   $0xffffffff
541195:	68 a4 9d 6b 00       	push   $0x6b9da4
54119a:	6a 00                	push   $0x0
54119c:	6a 02                	push   $0x2
54119e:	6a 0b                	push   $0xb
5411a0:	6a 44                	push   $0x44
5411a2:	56                   	push   %esi
5411a3:	8b f8                	mov    %eax,%edi
5411a5:	e8 e6 09 00 00       	call   0x541b90
5411aa:	8b 43 74             	mov    0x74(%ebx),%eax
5411ad:	83 c4 34             	add    $0x34,%esp
5411b0:	85 c0                	test   %eax,%eax
5411b2:	8b cb                	mov    %ebx,%ecx
5411b4:	0f 45 c8             	cmovne %eax,%ecx
5411b7:	c6 41 15 01          	movb   $0x1,0x15(%ecx)
5411bb:	8b 56 6c             	mov    0x6c(%esi),%edx
5411be:	85 ff                	test   %edi,%edi
5411c0:	79 03                	jns    0x5411c5
5411c2:	8d 7a ff             	lea    -0x1(%edx),%edi
5411c5:	8b 06                	mov    (%esi),%eax
5411c7:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5411cb:	74 07                	je     0x5411d4
5411cd:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
5411d2:	eb 09                	jmp    0x5411dd
5411d4:	8b 46 68             	mov    0x68(%esi),%eax
5411d7:	8d 0c bf             	lea    (%edi,%edi,4),%ecx
5411da:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5411dd:	89 50 08             	mov    %edx,0x8(%eax)
5411e0:	8b 45 0c             	mov    0xc(%ebp),%eax
5411e3:	6a 00                	push   $0x0
5411e5:	ff 70 14             	push   0x14(%eax)
5411e8:	ff 75 e4             	push   -0x1c(%ebp)
5411eb:	e8 30 bd ff ff       	call   0x53cf20
5411f0:	89 45 14             	mov    %eax,0x14(%ebp)
5411f3:	33 c9                	xor    %ecx,%ecx
5411f5:	8b 45 10             	mov    0x10(%ebp),%eax
5411f8:	83 c4 0c             	add    $0xc,%esp
5411fb:	33 ff                	xor    %edi,%edi
5411fd:	66 3b 48 2a          	cmp    0x2a(%eax),%cx
541201:	7d 75                	jge    0x541278
541203:	33 db                	xor    %ebx,%ebx
541205:	8b 40 04             	mov    0x4(%eax),%eax
541208:	80 7c 18 0d 45       	cmpb   $0x45,0xd(%eax,%ebx,1)
54120d:	75 54                	jne    0x541263
54120f:	8b 45 0c             	mov    0xc(%ebp),%eax
541212:	8b 4e 6c             	mov    0x6c(%esi),%ecx
541215:	8b 50 18             	mov    0x18(%eax),%edx
541218:	03 d7                	add    %edi,%edx
54121a:	39 4e 70             	cmp    %ecx,0x70(%esi)
54121d:	7f 12                	jg     0x541231
54121f:	6a 00                	push   $0x0
541221:	6a 00                	push   $0x0
541223:	52                   	push   %edx
541224:	6a 53                	push   $0x53
541226:	56                   	push   %esi
541227:	e8 d4 52 fc ff       	call   0x506500
54122c:	83 c4 14             	add    $0x14,%esp
54122f:	eb 32                	jmp    0x541263
541231:	8d 41 01             	lea    0x1(%ecx),%eax
541234:	89 46 6c             	mov    %eax,0x6c(%esi)
541237:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
54123a:	8b 46 68             	mov    0x68(%esi),%eax
54123d:	8b 75 e0             	mov    -0x20(%ebp),%esi
541240:	c7 04 88 53 00 00 00 	movl   $0x53,(%eax,%ecx,4)
541247:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
54124b:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
541252:	00
541253:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
54125a:	00
54125b:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
541262:	00
541263:	8b 45 10             	mov    0x10(%ebp),%eax
541266:	47                   	inc    %edi
541267:	83 c3 14             	add    $0x14,%ebx
54126a:	0f bf 40 2a          	movswl 0x2a(%eax),%eax
54126e:	3b f8                	cmp    %eax,%edi
541270:	8b 45 10             	mov    0x10(%ebp),%eax
541273:	7c 90                	jl     0x541205
541275:	8b 5d 08             	mov    0x8(%ebp),%ebx
541278:	8b 75 0c             	mov    0xc(%ebp),%esi
54127b:	56                   	push   %esi
54127c:	6a 00                	push   $0x0
54127e:	6a 00                	push   $0x0
541280:	6a 02                	push   $0x2
541282:	ff 76 0c             	push   0xc(%esi)
541285:	ff 76 08             	push   0x8(%esi)
541288:	ff 75 14             	push   0x14(%ebp)
54128b:	53                   	push   %ebx
54128c:	e8 bf d9 ff ff       	call   0x53ec50
541291:	83 c4 20             	add    $0x20,%esp
541294:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
54129b:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
5412a2:	5f                   	pop    %edi
5412a3:	5e                   	pop    %esi
5412a4:	5b                   	pop    %ebx
5412a5:	8b e5                	mov    %ebp,%esp
5412a7:	5d                   	pop    %ebp
5412a8:	c3                   	ret
5412a9:	cc                   	int3
5412aa:	cc                   	int3
5412ab:	cc                   	int3
5412ac:	cc                   	int3
5412ad:	cc                   	int3
5412ae:	cc                   	int3
5412af:	cc                   	int3
5412b0:	55                   	push   %ebp
5412b1:	8b ec                	mov    %esp,%ebp
5412b3:	56                   	push   %esi
5412b4:	8b 75 0c             	mov    0xc(%ebp),%esi
5412b7:	85 f6                	test   %esi,%esi
5412b9:	75 05                	jne    0x5412c0
5412bb:	33 c0                	xor    %eax,%eax
5412bd:	5e                   	pop    %esi
5412be:	5d                   	pop    %ebp
5412bf:	c3                   	ret
5412c0:	8b 46 0c             	mov    0xc(%esi),%eax