4071c2:	89 55 f0             	mov    %edx,-0x10(%ebp)
4071c5:	8b 45 0c             	mov    0xc(%ebp),%eax
4071c8:	83 c0 02             	add    $0x2,%eax
4071cb:	89 45 0c             	mov    %eax,0xc(%ebp)
4071ce:	83 7d f0 2f          	cmpl   $0x2f,-0x10(%ebp)
4071d2:	75 b7                	jne    0x40718b
4071d4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4071d8:	75 b1                	jne    0x40718b
4071da:	eb 50                	jmp    0x40722c
4071dc:	b9 02 00 00 00       	mov    $0x2,%ecx
4071e1:	6b d1 00             	imul   $0x0,%ecx,%edx
4071e4:	8b 45 0c             	mov    0xc(%ebp),%eax
4071e7:	0f b7 0c 10          	movzwl (%eax,%edx,1),%ecx
4071eb:	51                   	push   %ecx
4071ec:	e8 7f f9 ff ff       	call   0x406b70
4071f1:	83 c4 04             	add    $0x4,%esp
4071f4:	0f b7 f0             	movzwl %ax,%esi
4071f7:	ba 02 00 00 00       	mov    $0x2,%edx
4071fc:	6b c2 00             	imul   $0x0,%edx,%eax
4071ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
407202:	0f b7 14 01          	movzwl (%ecx,%eax,1),%edx
407206:	52                   	push   %edx
407207:	e8 64 f9 ff ff       	call   0x406b70
40720c:	83 c4 04             	add    $0x4,%esp
40720f:	0f b7 c0             	movzwl %ax,%eax
407212:	3b f0                	cmp    %eax,%esi
407214:	74 04                	je     0x40721a
407216:	33 c0                	xor    %eax,%eax
407218:	eb 52                	jmp    0x40726c
40721a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40721d:	83 c1 02             	add    $0x2,%ecx
407220:	89 4d 08             	mov    %ecx,0x8(%ebp)
407223:	8b 55 0c             	mov    0xc(%ebp),%edx
407226:	83 c2 02             	add    $0x2,%edx
407229:	89 55 0c             	mov    %edx,0xc(%ebp)
40722c:	e9 29 fe ff ff       	jmp    0x40705a
407231:	8b 45 08             	mov    0x8(%ebp),%eax
407234:	0f b7 08             	movzwl (%eax),%ecx
407237:	51                   	push   %ecx
407238:	e8 33 f9 ff ff       	call   0x406b70
40723d:	83 c4 04             	add    $0x4,%esp
407240:	0f b7 f0             	movzwl %ax,%esi
407243:	8b 55 0c             	mov    0xc(%ebp),%edx
407246:	0f b7 02             	movzwl (%edx),%eax
407249:	50                   	push   %eax
40724a:	e8 21 f9 ff ff       	call   0x406b70
40724f:	83 c4 04             	add    $0x4,%esp
407252:	0f b7 c8             	movzwl %ax,%ecx
407255:	3b f1                	cmp    %ecx,%esi
407257:	75 09                	jne    0x407262
407259:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
407260:	eb 07                	jmp    0x407269
407262:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
407269:	8b 45 f4             	mov    -0xc(%ebp),%eax
40726c:	5e                   	pop    %esi
40726d:	8b e5                	mov    %ebp,%esp
40726f:	5d                   	pop    %ebp
407270:	c3                   	ret
407271:	cc                   	int3
407272:	cc                   	int3
407273:	cc                   	int3
407274:	cc                   	int3
407275:	cc                   	int3
407276:	cc                   	int3
407277:	cc                   	int3
407278:	cc                   	int3
407279:	cc                   	int3
40727a:	cc                   	int3
40727b:	cc                   	int3
40727c:	cc                   	int3
40727d:	cc                   	int3
40727e:	cc                   	int3
40727f:	cc                   	int3
407280:	55                   	push   %ebp
407281:	8b ec                	mov    %esp,%ebp
407283:	83 ec 28             	sub    $0x28,%esp
407286:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40728d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
407291:	74 06                	je     0x407299
407293:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
407297:	75 08                	jne    0x4072a1
407299:	8b 45 e8             	mov    -0x18(%ebp),%eax
40729c:	e9 27 01 00 00       	jmp    0x4073c8
4072a1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4072a8:	8b 45 08             	mov    0x8(%ebp),%eax
4072ab:	89 45 f8             	mov    %eax,-0x8(%ebp)
4072ae:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4072b5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4072b8:	51                   	push   %ecx
4072b9:	e8 62 f7 ff ff       	call   0x406a20
4072be:	83 c4 04             	add    $0x4,%esp
4072c1:	89 45 dc             	mov    %eax,-0x24(%ebp)
4072c4:	8b 55 10             	mov    0x10(%ebp),%edx
4072c7:	52                   	push   %edx
4072c8:	e8 53 f7 ff ff       	call   0x406a20
4072cd:	83 c4 04             	add    $0x4,%esp
4072d0:	89 45 ec             	mov    %eax,-0x14(%ebp)
4072d3:	8b 45 0c             	mov    0xc(%ebp),%eax
4072d6:	50                   	push   %eax
4072d7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4072da:	51                   	push   %ecx
4072db:	e8 e0 b2 ff ff       	call   0x4025c0
4072e0:	8b 50 34             	mov    0x34(%eax),%edx
4072e3:	ff d2                	call   *%edx
4072e5:	83 c4 08             	add    $0x8,%esp
4072e8:	89 45 f0             	mov    %eax,-0x10(%ebp)
4072eb:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4072ef:	0f 84 bb 00 00 00    	je     0x4073b0
4072f5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4072f8:	2b 45 f8             	sub    -0x8(%ebp),%eax
4072fb:	89 45 f4             	mov    %eax,-0xc(%ebp)
4072fe:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407301:	03 4d dc             	add    -0x24(%ebp),%ecx
407304:	89 4d e0             	mov    %ecx,-0x20(%ebp)
407307:	8b 55 f8             	mov    -0x8(%ebp),%edx
40730a:	03 55 e0             	add    -0x20(%ebp),%edx
40730d:	52                   	push   %edx
40730e:	e8 0d f7 ff ff       	call   0x406a20
407313:	83 c4 04             	add    $0x4,%esp
407316:	89 45 e4             	mov    %eax,-0x1c(%ebp)
407319:	8b 45 fc             	mov    -0x4(%ebp),%eax
40731c:	89 45 d8             	mov    %eax,-0x28(%ebp)
40731f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407322:	03 4d e4             	add    -0x1c(%ebp),%ecx
407325:	03 4d ec             	add    -0x14(%ebp),%ecx
407328:	51                   	push   %ecx
407329:	e8 b2 f6 ff ff       	call   0x4069e0
40732e:	83 c4 04             	add    $0x4,%esp
407331:	89 45 fc             	mov    %eax,-0x4(%ebp)
407334:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
407338:	74 5c                	je     0x407396
40733a:	8b 55 f4             	mov    -0xc(%ebp),%edx
40733d:	52                   	push   %edx
40733e:	8b 45 f8             	mov    -0x8(%ebp),%eax
407341:	50                   	push   %eax
407342:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407345:	51                   	push   %ecx
407346:	e8 55 f6 ff ff       	call   0x4069a0
40734b:	83 c4 0c             	add    $0xc,%esp
40734e:	8b 55 ec             	mov    -0x14(%ebp),%edx
407351:	52                   	push   %edx
407352:	8b 45 10             	mov    0x10(%ebp),%eax
407355:	50                   	push   %eax
407356:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407359:	03 4d f4             	add    -0xc(%ebp),%ecx
40735c:	51                   	push   %ecx
40735d:	e8 3e f6 ff ff       	call   0x4069a0
407362:	83 c4 0c             	add    $0xc,%esp
407365:	8b 55 e4             	mov    -0x1c(%ebp),%edx
407368:	52                   	push   %edx
407369:	8b 45 f8             	mov    -0x8(%ebp),%eax
40736c:	03 45 e0             	add    -0x20(%ebp),%eax
40736f:	50                   	push   %eax
407370:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407373:	03 4d f4             	add    -0xc(%ebp),%ecx
407376:	03 4d ec             	add    -0x14(%ebp),%ecx
407379:	51                   	push   %ecx
40737a:	e8 21 f6 ff ff       	call   0x4069a0
40737f:	83 c4 0c             	add    $0xc,%esp
407382:	8b 55 fc             	mov    -0x4(%ebp),%edx
407385:	89 55 f8             	mov    %edx,-0x8(%ebp)
407388:	8b 45 d8             	mov    -0x28(%ebp),%eax
40738b:	50                   	push   %eax
40738c:	e8 1f f5 ff ff       	call   0x4068b0
407391:	83 c4 04             	add    $0x4,%esp
407394:	eb 15                	jmp    0x4073ab
407396:	8b 4d fc             	mov    -0x4(%ebp),%ecx
407399:	51                   	push   %ecx
40739a:	e8 11 f5 ff ff       	call   0x4068b0
40739f:	83 c4 04             	add    $0x4,%esp
4073a2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4073a9:	eb 05                	jmp    0x4073b0
4073ab:	e9 23 ff ff ff       	jmp    0x4072d3
4073b0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4073b4:	74 0f                	je     0x4073c5
4073b6:	8b 55 14             	mov    0x14(%ebp),%edx
4073b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4073bc:	89 02                	mov    %eax,(%edx)
4073be:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
4073c5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4073c8:	8b e5                	mov    %ebp,%esp
4073ca:	5d                   	pop    %ebp
4073cb:	c3                   	ret
4073cc:	cc                   	int3
4073cd:	cc                   	int3
4073ce:	cc                   	int3
4073cf:	cc                   	int3
4073d0:	55                   	push   %ebp
4073d1:	8b ec                	mov    %esp,%ebp
4073d3:	83 ec 18             	sub    $0x18,%esp
4073d6:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4073dd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4073e1:	74 06                	je     0x4073e9
4073e3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4073e7:	75 08                	jne    0x4073f1
4073e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4073ec:	e9 8f 00 00 00       	jmp    0x407480
4073f1:	8b 45 08             	mov    0x8(%ebp),%eax
4073f4:	50                   	push   %eax
4073f5:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4073f8:	51                   	push   %ecx
4073f9:	e8 c2 b1 ff ff       	call   0x4025c0
4073fe:	8b 50 4c             	mov    0x4c(%eax),%edx
407401:	ff d2                	call   *%edx
407403:	6a 01                	push   $0x1
407405:	8d 45 e8             	lea    -0x18(%ebp),%eax
407408:	50                   	push   %eax
407409:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40740c:	51                   	push   %ecx
40740d:	e8 ae b1 ff ff       	call   0x4025c0
407412:	8b 50 54             	mov    0x54(%eax),%edx
407415:	ff d2                	call   *%edx
407417:	85 c0                	test   %eax,%eax
407419:	75 62                	jne    0x40747d
40741b:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
40741f:	83 c0 02             	add    $0x2,%eax
407422:	50                   	push   %eax
407423:	e8 58 f4 ff ff       	call   0x406880
407428:	83 c4 04             	add    $0x4,%esp
40742b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40742e:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
407432:	74 3b                	je     0x40746f
407434:	0f b7 4d f0          	movzwl -0x10(%ebp),%ecx
407438:	51                   	push   %ecx
407439:	8b 55 f4             	mov    -0xc(%ebp),%edx
40743c:	52                   	push   %edx
40743d:	8b 45 fc             	mov    -0x4(%ebp),%eax
407440:	50                   	push   %eax
407441:	e8 7a b1 ff ff       	call   0x4025c0
407446:	8b 48 10             	mov    0x10(%eax),%ecx
407449:	ff d1                	call   *%ecx
40744b:	83 c4 0c             	add    $0xc,%esp
40744e:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
407452:	99                   	cltd
407453:	2b c2                	sub    %edx,%eax
407455:	d1 f8                	sar    $1,%eax
407457:	33 d2                	xor    %edx,%edx
407459:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40745c:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
407460:	8b 55 0c             	mov    0xc(%ebp),%edx
407463:	8b 45 fc             	mov    -0x4(%ebp),%eax
407466:	89 02                	mov    %eax,(%edx)
407468:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40746f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
407472:	51                   	push   %ecx
407473:	e8 48 b1 ff ff       	call   0x4025c0
407478:	8b 50 5c             	mov    0x5c(%eax),%edx
40747b:	ff d2                	call   *%edx
40747d:	8b 45 f8             	mov    -0x8(%ebp),%eax
407480:	8b e5                	mov    %ebp,%esp
407482:	5d                   	pop    %ebp
407483:	c3                   	ret
407484:	cc                   	int3
407485:	cc                   	int3
407486:	cc                   	int3
407487:	cc                   	int3
407488:	cc                   	int3
407489:	cc                   	int3
40748a:	cc                   	int3
40748b:	cc                   	int3
40748c:	cc                   	int3
40748d:	cc                   	int3
40748e:	cc                   	int3
40748f:	cc                   	int3
407490:	55                   	push   %ebp
407491:	8b ec                	mov    %esp,%ebp
407493:	83 ec 18             	sub    $0x18,%esp
407496:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40749d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4074a1:	74 06                	je     0x4074a9
4074a3:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4074a7:	75 08                	jne    0x4074b1
4074a9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4074ac:	e9 a5 00 00 00       	jmp    0x407556
4074b1:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4074b5:	75 14                	jne    0x4074cb
4074b7:	8b 45 08             	mov    0x8(%ebp),%eax
4074ba:	50                   	push   %eax
4074bb:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4074be:	51                   	push   %ecx
4074bf:	e8 fc b0 ff ff       	call   0x4025c0
4074c4:	8b 50 50             	mov    0x50(%eax),%edx
4074c7:	ff d2                	call   *%edx
4074c9:	eb 18                	jmp    0x4074e3
4074cb:	8b 45 08             	mov    0x8(%ebp),%eax
4074ce:	89 45 ec             	mov    %eax,-0x14(%ebp)
4074d1:	66 8b 4d 0c          	mov    0xc(%ebp),%cx
4074d5:	66 89 4d e8          	mov    %cx,-0x18(%ebp)
4074d9:	8b 55 0c             	mov    0xc(%ebp),%edx
4074dc:	83 c2 02             	add    $0x2,%edx
4074df:	66 89 55 ea          	mov    %dx,-0x16(%ebp)
4074e3:	6a 01                	push   $0x1
4074e5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4074e8:	50                   	push   %eax
4074e9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4074ec:	51                   	push   %ecx
4074ed:	e8 ce b0 ff ff       	call   0x4025c0
4074f2:	8b 50 58             	mov    0x58(%eax),%edx
4074f5:	ff d2                	call   *%edx
4074f7:	85 c0                	test   %eax,%eax
4074f9:	75 58                	jne    0x407553
4074fb:	0f b7 45 f0          	movzwl -0x10(%ebp),%eax
4074ff:	50                   	push   %eax
407500:	e8 db f4 ff ff       	call   0x4069e0
407505:	83 c4 04             	add    $0x4,%esp
407508:	89 45 fc             	mov    %eax,-0x4(%ebp)
40750b:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40750f:	74 34                	je     0x407545
407511:	0f b7 4d f0          	movzwl -0x10(%ebp),%ecx
407515:	51                   	push   %ecx
407516:	8b 55 f4             	mov    -0xc(%ebp),%edx
407519:	52                   	push   %edx
40751a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40751d:	50                   	push   %eax
40751e:	e8 9d b0 ff ff       	call   0x4025c0
407523:	8b 48 10             	mov    0x10(%eax),%ecx
407526:	ff d1                	call   *%ecx
407528:	83 c4 0c             	add    $0xc,%esp
40752b:	0f b7 55 f0          	movzwl -0x10(%ebp),%edx
40752f:	8b 45 fc             	mov    -0x4(%ebp),%eax
407532:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
407536:	8b 4d 10             	mov    0x10(%ebp),%ecx
407539:	8b 55 fc             	mov    -0x4(%ebp),%edx
40753c:	89 11                	mov    %edx,(%ecx)
40753e:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
407545:	8d 45 f0             	lea    -0x10(%ebp),%eax
407548:	50                   	push   %eax
407549:	e8 72 b0 ff ff       	call   0x4025c0
40754e:	8b 48 60             	mov    0x60(%eax),%ecx
407551:	ff d1                	call   *%ecx
407553:	8b 45 f8             	mov    -0x8(%ebp),%eax
407556:	8b e5                	mov    %ebp,%esp
407558:	5d                   	pop    %ebp
407559:	c3                   	ret
40755a:	cc                   	int3
40755b:	cc                   	int3
40755c:	cc                   	int3
40755d:	cc                   	int3
40755e:	cc                   	int3
40755f:	cc                   	int3
407560:	55                   	push   %ebp
407561:	8b ec                	mov    %esp,%ebp
407563:	8b 45 0c             	mov    0xc(%ebp),%eax
407566:	50                   	push   %eax
407567:	6a 00                	push   $0x0
407569:	8b 4d 08             	mov    0x8(%ebp),%ecx
40756c:	51                   	push   %ecx
40756d:	e8 1e ff ff ff       	call   0x407490
407572:	83 c4 0c             	add    $0xc,%esp
407575:	5d                   	pop    %ebp