a700ad:	cc                   	int3
a700ae:	cc                   	int3
a700af:	cc                   	int3
a700b0:	cc                   	int3
a700b1:	cc                   	int3
a700b2:	55                   	push   %ebp
a700b3:	8b ec                	mov    %esp,%ebp
a700b5:	51                   	push   %ecx
a700b6:	56                   	push   %esi
a700b7:	8b 75 10             	mov    0x10(%ebp),%esi
a700ba:	33 c0                	xor    %eax,%eax
a700bc:	85 f6                	test   %esi,%esi
a700be:	74 60                	je     0xa70120
a700c0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
a700c3:	53                   	push   %ebx
a700c4:	57                   	push   %edi
a700c5:	8b 7d 08             	mov    0x8(%ebp),%edi
a700c8:	6a 41                	push   $0x41
a700ca:	5b                   	pop    %ebx
a700cb:	6a 5a                	push   $0x5a
a700cd:	5a                   	pop    %edx
a700ce:	2b f9                	sub    %ecx,%edi
a700d0:	89 55 fc             	mov    %edx,-0x4(%ebp)
a700d3:	eb 03                	jmp    0xa700d8
a700d5:	6a 5a                	push   $0x5a
a700d7:	5a                   	pop    %edx
a700d8:	0f b7 04 0f          	movzwl (%edi,%ecx,1),%eax
a700dc:	66 3b c3             	cmp    %bx,%ax
a700df:	72 0d                	jb     0xa700ee
a700e1:	66 3b c2             	cmp    %dx,%ax
a700e4:	77 08                	ja     0xa700ee
a700e6:	83 c0 20             	add    $0x20,%eax
a700e9:	0f b7 d0             	movzwl %ax,%edx
a700ec:	eb 02                	jmp    0xa700f0
a700ee:	8b d0                	mov    %eax,%edx
a700f0:	0f b7 01             	movzwl (%ecx),%eax
a700f3:	66 3b c3             	cmp    %bx,%ax
a700f6:	72 0c                	jb     0xa70104
a700f8:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
a700fc:	77 06                	ja     0xa70104
a700fe:	83 c0 20             	add    $0x20,%eax
a70101:	0f b7 c0             	movzwl %ax,%eax
a70104:	83 c1 02             	add    $0x2,%ecx
a70107:	83 ee 01             	sub    $0x1,%esi
a7010a:	74 0a                	je     0xa70116
a7010c:	66 85 d2             	test   %dx,%dx
a7010f:	74 05                	je     0xa70116
a70111:	66 3b d0             	cmp    %ax,%dx
a70114:	74 bf                	je     0xa700d5
a70116:	0f b7 c8             	movzwl %ax,%ecx
a70119:	0f b7 c2             	movzwl %dx,%eax
a7011c:	5f                   	pop    %edi
a7011d:	2b c1                	sub    %ecx,%eax
a7011f:	5b                   	pop    %ebx
a70120:	5e                   	pop    %esi
a70121:	8b e5                	mov    %ebp,%esp
a70123:	5d                   	pop    %ebp
a70124:	c3                   	ret
a70125:	cc                   	int3
a70126:	cc                   	int3
a70127:	cc                   	int3
a70128:	cc                   	int3
a70129:	cc                   	int3
a7012a:	cc                   	int3
a7012b:	cc                   	int3
a7012c:	cc                   	int3
a7012d:	cc                   	int3
a7012e:	cc                   	int3
a7012f:	cc                   	int3
a70130:	cc                   	int3
a70131:	cc                   	int3
a70132:	cc                   	int3
a70133:	cc                   	int3
a70134:	cc                   	int3
a70135:	cc                   	int3
a70136:	cc                   	int3
a70137:	cc                   	int3
a70138:	cc                   	int3
a70139:	cc                   	int3
a7013a:	cc                   	int3
a7013b:	cc                   	int3
a7013c:	cc                   	int3
a7013d:	cc                   	int3
a7013e:	cc                   	int3
a7013f:	cc                   	int3
a70140:	cc                   	int3
a70141:	56                   	push   %esi
a70142:	e8 7f 3c 9b ff       	call   0x423dc6
a70147:	8b f0                	mov    %eax,%esi
a70149:	e8 33 59 9b ff       	call   0x425a81
a7014e:	8b 50 04             	mov    0x4(%eax),%edx
a70151:	85 d2                	test   %edx,%edx
a70153:	74 09                	je     0xa7015e
a70155:	52                   	push   %edx
a70156:	e8 ba 6e 9c ff       	call   0x437015
a7015b:	59                   	pop    %ecx
a7015c:	8b d0                	mov    %eax,%edx
a7015e:	8b c6                	mov    %esi,%eax
a70160:	5e                   	pop    %esi
a70161:	c3                   	ret
a70162:	cc                   	int3
a70163:	cc                   	int3
a70164:	cc                   	int3
a70165:	cc                   	int3
a70166:	cc                   	int3
a70167:	cc                   	int3
a70168:	cc                   	int3
a70169:	cc                   	int3
a7016a:	55                   	push   %ebp
a7016b:	8b ec                	mov    %esp,%ebp
a7016d:	8b 45 18             	mov    0x18(%ebp),%eax
a70170:	53                   	push   %ebx
a70171:	56                   	push   %esi
a70172:	8b 75 0c             	mov    0xc(%ebp),%esi
a70175:	2b 75 08             	sub    0x8(%ebp),%esi
a70178:	57                   	push   %edi
a70179:	8b 7d 14             	mov    0x14(%ebp),%edi
a7017c:	2b 7d 10             	sub    0x10(%ebp),%edi
a7017f:	85 c0                	test   %eax,%eax
a70181:	75 0f                	jne    0xa70192
a70183:	e8 f9 58 9b ff       	call   0x425a81
a70188:	8b 58 04             	mov    0x4(%eax),%ebx
a7018b:	e8 36 3c 9b ff       	call   0x423dc6
a70190:	eb 05                	jmp    0xa70197
a70192:	8b 58 04             	mov    0x4(%eax),%ebx
a70195:	8b 00                	mov    (%eax),%eax
a70197:	85 db                	test   %ebx,%ebx
a70199:	75 2d                	jne    0xa701c8
a7019b:	8b c6                	mov    %esi,%eax
a7019d:	3b f7                	cmp    %edi,%esi
a7019f:	7c 02                	jl     0xa701a3
a701a1:	8b c7                	mov    %edi,%eax
a701a3:	50                   	push   %eax
a701a4:	ff 75 10             	push   0x10(%ebp)
a701a7:	ff 75 08             	push   0x8(%ebp)
a701aa:	e8 c9 44 9a ff       	call   0x414678
a701af:	83 c4 0c             	add    $0xc,%esp
a701b2:	85 c0                	test   %eax,%eax
a701b4:	75 42                	jne    0xa701f8
a701b6:	3b f7                	cmp    %edi,%esi
a701b8:	74 3e                	je     0xa701f8
a701ba:	3b f7                	cmp    %edi,%esi
a701bc:	0f 9d c0             	setge  %al
a701bf:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
a701c6:	eb 30                	jmp    0xa701f8
a701c8:	50                   	push   %eax
a701c9:	57                   	push   %edi
a701ca:	ff 75 10             	push   0x10(%ebp)
a701cd:	56                   	push   %esi
a701ce:	ff 75 08             	push   0x8(%ebp)
a701d1:	68 00 10 00 00       	push   $0x1000
a701d6:	53                   	push   %ebx
a701d7:	e8 14 e8 9c ff       	call   0x43e9f0
a701dc:	83 c4 1c             	add    $0x1c,%esp
a701df:	85 c0                	test   %eax,%eax
a701e1:	75 12                	jne    0xa701f5
a701e3:	e8 87 e6 9c ff       	call   0x43e86f
a701e8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
a701ee:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
a701f3:	eb 03                	jmp    0xa701f8
a701f5:	83 e8 02             	sub    $0x2,%eax
a701f8:	5f                   	pop    %edi
a701f9:	5e                   	pop    %esi
a701fa:	5b                   	pop    %ebx
a701fb:	5d                   	pop    %ebp
a701fc:	c3                   	ret
a701fd:	cc                   	int3
a701fe:	cc                   	int3
a701ff:	cc                   	int3
a70200:	cc                   	int3
a70201:	cc                   	int3
a70202:	cc                   	int3
a70203:	cc                   	int3
a70204:	cc                   	int3
a70205:	cc                   	int3
a70206:	cc                   	int3
a70207:	cc                   	int3
a70208:	cc                   	int3
a70209:	cc                   	int3
a7020a:	cc                   	int3
a7020b:	cc                   	int3
a7020c:	cc                   	int3
a7020d:	cc                   	int3
a7020e:	cc                   	int3
a7020f:	cc                   	int3
a70210:	cc                   	int3
a70211:	cc                   	int3
a70212:	cc                   	int3
a70213:	cc                   	int3
a70214:	cc                   	int3
a70215:	cc                   	int3
a70216:	cc                   	int3
a70217:	cc                   	int3
a70218:	cc                   	int3
a70219:	cc                   	int3
a7021a:	cc                   	int3
a7021b:	cc                   	int3
a7021c:	cc                   	int3
a7021d:	cc                   	int3
a7021e:	cc                   	int3
a7021f:	cc                   	int3
a70220:	cc                   	int3
a70221:	55                   	push   %ebp
a70222:	8b ec                	mov    %esp,%ebp
a70224:	51                   	push   %ecx
a70225:	53                   	push   %ebx
a70226:	6a 02                	push   $0x2
a70228:	33 c0                	xor    %eax,%eax
a7022a:	5b                   	pop    %ebx
a7022b:	89 45 fc             	mov    %eax,-0x4(%ebp)
a7022e:	8d 45 fc             	lea    -0x4(%ebp),%eax
a70231:	53                   	push   %ebx
a70232:	50                   	push   %eax
a70233:	6a 22                	push   $0x22
a70235:	e8 47 58 9b ff       	call   0x425a81
a7023a:	ff 70 14             	push   0x14(%eax)
a7023d:	e8 b8 06 9c ff       	call   0x4308fa
a70242:	83 c4 10             	add    $0x10,%esp
a70245:	66 83 7d fc 30       	cmpw   $0x30,-0x4(%ebp)
a7024a:	74 18                	je     0xa70264
a7024c:	33 db                	xor    %ebx,%ebx
a7024e:	66 83 7d fc 31       	cmpw   $0x31,-0x4(%ebp)
a70253:	75 03                	jne    0xa70258
a70255:	43                   	inc    %ebx
a70256:	eb 0c                	jmp    0xa70264
a70258:	66 83 7d fc 32       	cmpw   $0x32,-0x4(%ebp)
a7025d:	0f 95 c3             	setne  %bl
a70260:	4b                   	dec    %ebx
a70261:	83 e3 03             	and    $0x3,%ebx
a70264:	8b c3                	mov    %ebx,%eax
a70266:	5b                   	pop    %ebx
a70267:	8b e5                	mov    %ebp,%esp
a70269:	5d                   	pop    %ebp
a7026a:	c3                   	ret
a7026b:	cc                   	int3
a7026c:	cc                   	int3
a7026d:	cc                   	int3
a7026e:	cc                   	int3
a7026f:	cc                   	int3
a70270:	cc                   	int3
a70271:	cc                   	int3
a70272:	cc                   	int3
a70273:	cc                   	int3
a70274:	cc                   	int3
a70275:	cc                   	int3
a70276:	cc                   	int3
a70277:	cc                   	int3
a70278:	cc                   	int3
a70279:	cc                   	int3
a7027a:	cc                   	int3
a7027b:	cc                   	int3
a7027c:	cc                   	int3
a7027d:	55                   	push   %ebp
a7027e:	8b ec                	mov    %esp,%ebp
a70280:	8b 55 08             	mov    0x8(%ebp),%edx
a70283:	8b 45 18             	mov    0x18(%ebp),%eax
a70286:	53                   	push   %ebx
a70287:	8b 5d 10             	mov    0x10(%ebp),%ebx
a7028a:	56                   	push   %esi
a7028b:	8b 75 0c             	mov    0xc(%ebp),%esi
a7028e:	57                   	push   %edi
a7028f:	8b 7d 14             	mov    0x14(%ebp),%edi
a70292:	2b f2                	sub    %edx,%esi
a70294:	2b fb                	sub    %ebx,%edi
a70296:	d1 fe                	sar    $1,%esi
a70298:	d1 ff                	sar    $1,%edi
a7029a:	85 c0                	test   %eax,%eax
a7029c:	75 08                	jne    0xa702a6
a7029e:	e8 de 57 9b ff       	call   0x425a81
a702a3:	8b 55 08             	mov    0x8(%ebp),%edx
a702a6:	8b 40 04             	mov    0x4(%eax),%eax
a702a9:	85 c0                	test   %eax,%eax
a702ab:	75 3d                	jne    0xa702ea
a702ad:	8b ce                	mov    %esi,%ecx
a702af:	3b f7                	cmp    %edi,%esi
a702b1:	7c 13                	jl     0xa702c6
a702b3:	8b cf                	mov    %edi,%ecx
a702b5:	eb 0f                	jmp    0xa702c6
a702b7:	66 8b 02             	mov    (%edx),%ax
a702ba:	66 3b 03             	cmp    (%ebx),%ax
a702bd:	75 23                	jne    0xa702e2
a702bf:	83 c2 02             	add    $0x2,%edx
a702c2:	83 c3 02             	add    $0x2,%ebx
a702c5:	49                   	dec    %ecx
a702c6:	85 c9                	test   %ecx,%ecx
a702c8:	7f ed                	jg     0xa702b7
a702ca:	33 c0                	xor    %eax,%eax
a702cc:	85 c0                	test   %eax,%eax
a702ce:	75 45                	jne    0xa70315
a702d0:	3b f7                	cmp    %edi,%esi
a702d2:	74 41                	je     0xa70315
a702d4:	3b f7                	cmp    %edi,%esi
a702d6:	0f 9d c0             	setge  %al
a702d9:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
a702e0:	eb 33                	jmp    0xa70315
a702e2:	1b c0                	sbb    %eax,%eax
a702e4:	83 e0 fe             	and    $0xfffffffe,%eax
a702e7:	40                   	inc    %eax
a702e8:	eb e2                	jmp    0xa702cc
a702ea:	57                   	push   %edi
a702eb:	53                   	push   %ebx
a702ec:	56                   	push   %esi
a702ed:	52                   	push   %edx
a702ee:	68 00 10 00 00       	push   $0x1000
a702f3:	50                   	push   %eax
a702f4:	e8 97 e7 9c ff       	call   0x43ea90
a702f9:	83 c4 18             	add    $0x18,%esp
a702fc:	85 c0                	test   %eax,%eax
a702fe:	75 12                	jne    0xa70312
a70300:	e8 6a e5 9c ff       	call   0x43e86f
a70305:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
a7030b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
a70310:	eb 03                	jmp    0xa70315
a70312:	83 e8 02             	sub    $0x2,%eax
a70315:	5f                   	pop    %edi
a70316:	5e                   	pop    %esi
a70317:	5b                   	pop    %ebx
a70318:	5d                   	pop    %ebp
a70319:	c3                   	ret
a7031a:	cc                   	int3
a7031b:	cc                   	int3
a7031c:	cc                   	int3
a7031d:	cc                   	int3
a7031e:	cc                   	int3
a7031f:	cc                   	int3
a70320:	cc                   	int3
a70321:	cc                   	int3
a70322:	cc                   	int3
a70323:	cc                   	int3
a70324:	cc                   	int3
a70325:	cc                   	int3
a70326:	cc                   	int3
a70327:	cc                   	int3
a70328:	cc                   	int3
a70329:	cc                   	int3
a7032a:	cc                   	int3
a7032b:	cc                   	int3
a7032c:	cc                   	int3
a7032d:	cc                   	int3
a7032e:	cc                   	int3
a7032f:	cc                   	int3
a70330:	cc                   	int3
a70331:	cc                   	int3
a70332:	cc                   	int3
a70333:	cc                   	int3
a70334:	cc                   	int3
a70335:	cc                   	int3
a70336:	cc                   	int3
a70337:	cc                   	int3
a70338:	cc                   	int3