570032:	8b d0                	mov    %eax,%edx
570034:	8b 4e 14             	mov    0x14(%esi),%ecx
570037:	03 d1                	add    %ecx,%edx
570039:	8b 46 10             	mov    0x10(%esi),%eax
57003c:	2b d0                	sub    %eax,%edx
57003e:	89 56 1c             	mov    %edx,0x1c(%esi)
570041:	3b fa                	cmp    %edx,%edi
570043:	74 17                	je     0x57005c
570045:	68 50 04 00 00       	push   $0x450
57004a:	68 94 0e 6a 00       	push   $0x6a0e94
57004f:	68 7d 0e 6a 00       	push   $0x6a0e7d
570054:	e8 e7 aa fe ff       	call   0x55ab40
570059:	83 c4 0c             	add    $0xc,%esp
57005c:	8b 55 0c             	mov    0xc(%ebp),%edx
57005f:	c7 02 02 00 00 00    	movl   $0x2,(%edx)
570065:	5f                   	pop    %edi
570066:	5e                   	pop    %esi
570067:	5b                   	pop    %ebx
570068:	5d                   	pop    %ebp
570069:	c2 18 00             	ret    $0x18
57006c:	8b 10                	mov    (%eax),%edx
57006e:	ff 12                	call   *(%edx)
570070:	c3                   	ret
570071:	90                   	nop
570072:	90                   	nop
570073:	90                   	nop
570074:	53                   	push   %ebx
570075:	8b 18                	mov    (%eax),%ebx
570077:	ff 53 04             	call   *0x4(%ebx)
57007a:	5b                   	pop    %ebx
57007b:	c3                   	ret
57007c:	53                   	push   %ebx
57007d:	8b 18                	mov    (%eax),%ebx
57007f:	ff 53 08             	call   *0x8(%ebx)
570082:	5b                   	pop    %ebx
570083:	c3                   	ret
570084:	53                   	push   %ebx
570085:	8b 18                	mov    (%eax),%ebx
570087:	ff 53 0c             	call   *0xc(%ebx)
57008a:	5b                   	pop    %ebx
57008b:	c3                   	ret
57008c:	53                   	push   %ebx
57008d:	8b 18                	mov    (%eax),%ebx
57008f:	ff 53 10             	call   *0x10(%ebx)
570092:	5b                   	pop    %ebx
570093:	c3                   	ret
570094:	53                   	push   %ebx
570095:	56                   	push   %esi
570096:	57                   	push   %edi
570097:	55                   	push   %ebp
570098:	83 c4 dc             	add    $0xffffffdc,%esp
57009b:	89 4c 24 08          	mov    %ecx,0x8(%esp)
57009f:	89 54 24 04          	mov    %edx,0x4(%esp)
5700a3:	89 04 24             	mov    %eax,(%esp)
5700a6:	8b 04 24             	mov    (%esp),%eax
5700a9:	8b 50 14             	mov    0x14(%eax),%edx
5700ac:	89 54 24 0c          	mov    %edx,0xc(%esp)
5700b0:	8b 0c 24             	mov    (%esp),%ecx
5700b3:	8b 41 18             	mov    0x18(%ecx),%eax
5700b6:	89 44 24 10          	mov    %eax,0x10(%esp)
5700ba:	8b 54 24 04          	mov    0x4(%esp),%edx
5700be:	8b 4a 14             	mov    0x14(%edx),%ecx
5700c1:	8b 44 24 0c          	mov    0xc(%esp),%eax
5700c5:	3b c8                	cmp    %eax,%ecx
5700c7:	75 2d                	jne    0x5700f6
5700c9:	8b 54 24 04          	mov    0x4(%esp),%edx
5700cd:	8b 4a 18             	mov    0x18(%edx),%ecx
5700d0:	8b 44 24 10          	mov    0x10(%esp),%eax
5700d4:	3b c8                	cmp    %eax,%ecx
5700d6:	75 1e                	jne    0x5700f6
5700d8:	8b 54 24 08          	mov    0x8(%esp),%edx
5700dc:	8b 4a 14             	mov    0x14(%edx),%ecx
5700df:	8b 44 24 0c          	mov    0xc(%esp),%eax
5700e3:	3b c8                	cmp    %eax,%ecx
5700e5:	75 0f                	jne    0x5700f6
5700e7:	8b 54 24 08          	mov    0x8(%esp),%edx
5700eb:	8b 4a 18             	mov    0x18(%edx),%ecx
5700ee:	8b 44 24 10          	mov    0x10(%esp),%eax
5700f2:	3b c8                	cmp    %eax,%ecx
5700f4:	74 17                	je     0x57010d
5700f6:	68 97 00 00 00       	push   $0x97
5700fb:	68 31 0f 6a 00       	push   $0x6a0f31
570100:	68 a0 0e 6a 00       	push   $0x6a0ea0
570105:	e8 36 aa fe ff       	call   0x55ab40
57010a:	83 c4 0c             	add    $0xc,%esp
57010d:	33 d2                	xor    %edx,%edx
57010f:	89 54 24 14          	mov    %edx,0x14(%esp)
570113:	8b 4c 24 14          	mov    0x14(%esp),%ecx
570117:	8b 44 24 0c          	mov    0xc(%esp),%eax
57011b:	3b c8                	cmp    %eax,%ecx
57011d:	0f 8d 8c 00 00 00    	jge    0x5701af
570123:	8b 14 24             	mov    (%esp),%edx
570126:	8b 4a 1c             	mov    0x1c(%edx),%ecx
570129:	8b 44 24 14          	mov    0x14(%esp),%eax
57012d:	8b 14 81             	mov    (%ecx,%eax,4),%edx
570130:	8b 4c 24 04          	mov    0x4(%esp),%ecx
570134:	8b 41 1c             	mov    0x1c(%ecx),%eax
570137:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57013b:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
57013e:	8b 44 24 08          	mov    0x8(%esp),%eax
570142:	8b 40 1c             	mov    0x1c(%eax),%eax
570145:	8b 5c 24 14          	mov    0x14(%esp),%ebx
570149:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
57014c:	8b 44 24 10          	mov    0x10(%esp),%eax
570150:	89 44 24 18          	mov    %eax,0x18(%esp)
570154:	8b 44 24 18          	mov    0x18(%esp),%eax
570158:	85 c0                	test   %eax,%eax
57015a:	7e 3f                	jle    0x57019b
57015c:	8b 01                	mov    (%ecx),%eax
57015e:	8b 3a                	mov    (%edx),%edi
570160:	8b 33                	mov    (%ebx),%esi
570162:	8d 2c 47             	lea    (%edi,%eax,2),%ebp
570165:	03 ee                	add    %esi,%ebp
570167:	2b f0                	sub    %eax,%esi
570169:	c1 fd 02             	sar    $0x2,%ebp
57016c:	2b f8                	sub    %eax,%edi
57016e:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
570172:	89 74 24 20          	mov    %esi,0x20(%esp)
570176:	8b 74 24 1c          	mov    0x1c(%esp),%esi
57017a:	8b c7                	mov    %edi,%eax
57017c:	89 32                	mov    %esi,(%edx)
57017e:	83 c2 04             	add    $0x4,%edx
570181:	8b 74 24 20          	mov    0x20(%esp),%esi
570185:	89 31                	mov    %esi,(%ecx)
570187:	83 c1 04             	add    $0x4,%ecx
57018a:	89 03                	mov    %eax,(%ebx)
57018c:	83 c3 04             	add    $0x4,%ebx
57018f:	ff 4c 24 18          	decl   0x18(%esp)
570193:	8b 44 24 18          	mov    0x18(%esp),%eax
570197:	85 c0                	test   %eax,%eax
570199:	7f c1                	jg     0x57015c
57019b:	ff 44 24 14          	incl   0x14(%esp)
57019f:	8b 54 24 14          	mov    0x14(%esp),%edx
5701a3:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5701a7:	3b d1                	cmp    %ecx,%edx
5701a9:	0f 8c 74 ff ff ff    	jl     0x570123
5701af:	83 c4 24             	add    $0x24,%esp
5701b2:	5d                   	pop    %ebp
5701b3:	5f                   	pop    %edi
5701b4:	5e                   	pop    %esi
5701b5:	5b                   	pop    %ebx
5701b6:	c3                   	ret
5701b7:	90                   	nop
5701b8:	53                   	push   %ebx
5701b9:	56                   	push   %esi
5701ba:	57                   	push   %edi
5701bb:	83 c4 e0             	add    $0xffffffe0,%esp
5701be:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5701c2:	89 54 24 04          	mov    %edx,0x4(%esp)
5701c6:	89 04 24             	mov    %eax,(%esp)
5701c9:	8b 04 24             	mov    (%esp),%eax
5701cc:	8b 50 14             	mov    0x14(%eax),%edx
5701cf:	89 54 24 0c          	mov    %edx,0xc(%esp)
5701d3:	8b 0c 24             	mov    (%esp),%ecx
5701d6:	8b 41 18             	mov    0x18(%ecx),%eax
5701d9:	89 44 24 10          	mov    %eax,0x10(%esp)
5701dd:	8b 54 24 04          	mov    0x4(%esp),%edx
5701e1:	8b 4a 14             	mov    0x14(%edx),%ecx
5701e4:	8b 44 24 0c          	mov    0xc(%esp),%eax
5701e8:	3b c8                	cmp    %eax,%ecx
5701ea:	75 2d                	jne    0x570219
5701ec:	8b 54 24 04          	mov    0x4(%esp),%edx
5701f0:	8b 4a 18             	mov    0x18(%edx),%ecx
5701f3:	8b 44 24 10          	mov    0x10(%esp),%eax
5701f7:	3b c8                	cmp    %eax,%ecx
5701f9:	75 1e                	jne    0x570219
5701fb:	8b 54 24 08          	mov    0x8(%esp),%edx
5701ff:	8b 4a 14             	mov    0x14(%edx),%ecx
570202:	8b 44 24 0c          	mov    0xc(%esp),%eax
570206:	3b c8                	cmp    %eax,%ecx
570208:	75 0f                	jne    0x570219
57020a:	8b 54 24 08          	mov    0x8(%esp),%edx
57020e:	8b 4a 18             	mov    0x18(%edx),%ecx
570211:	8b 44 24 10          	mov    0x10(%esp),%eax
570215:	3b c8                	cmp    %eax,%ecx
570217:	74 17                	je     0x570230
570219:	68 c2 00 00 00       	push   $0xc2
57021e:	68 cc 0f 6a 00       	push   $0x6a0fcc
570223:	68 3b 0f 6a 00       	push   $0x6a0f3b
570228:	e8 13 a9 fe ff       	call   0x55ab40
57022d:	83 c4 0c             	add    $0xc,%esp
570230:	33 d2                	xor    %edx,%edx
570232:	89 54 24 14          	mov    %edx,0x14(%esp)
570236:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57023a:	8b 44 24 0c          	mov    0xc(%esp),%eax
57023e:	3b c8                	cmp    %eax,%ecx
570240:	0f 8d 86 00 00 00    	jge    0x5702cc
570246:	8b 14 24             	mov    (%esp),%edx
570249:	8b 4a 1c             	mov    0x1c(%edx),%ecx
57024c:	8b 44 24 14          	mov    0x14(%esp),%eax
570250:	8b 14 81             	mov    (%ecx,%eax,4),%edx
570253:	8b 4c 24 04          	mov    0x4(%esp),%ecx
570257:	8b 41 1c             	mov    0x1c(%ecx),%eax
57025a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57025e:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
570261:	8b 44 24 08          	mov    0x8(%esp),%eax
570265:	8b 40 1c             	mov    0x1c(%eax),%eax
570268:	8b 5c 24 14          	mov    0x14(%esp),%ebx
57026c:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
57026f:	8b 44 24 10          	mov    0x10(%esp),%eax
570273:	89 44 24 18          	mov    %eax,0x18(%esp)
570277:	8b 44 24 18          	mov    0x18(%esp),%eax
57027b:	85 c0                	test   %eax,%eax
57027d:	7e 39                	jle    0x5702b8
57027f:	8b 31                	mov    (%ecx),%esi
570281:	8b 02                	mov    (%edx),%eax
570283:	8b 3b                	mov    (%ebx),%edi
570285:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
570289:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
57028d:	03 fe                	add    %esi,%edi
57028f:	c1 ff 02             	sar    $0x2,%edi
570292:	2b c7                	sub    %edi,%eax
570294:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
570298:	03 f8                	add    %eax,%edi
57029a:	89 3a                	mov    %edi,(%edx)
57029c:	89 01                	mov    %eax,(%ecx)
57029e:	8d 34 30             	lea    (%eax,%esi,1),%esi
5702a1:	83 c1 04             	add    $0x4,%ecx
5702a4:	89 33                	mov    %esi,(%ebx)
5702a6:	83 c2 04             	add    $0x4,%edx
5702a9:	83 c3 04             	add    $0x4,%ebx
5702ac:	ff 4c 24 18          	decl   0x18(%esp)
5702b0:	8b 44 24 18          	mov    0x18(%esp),%eax
5702b4:	85 c0                	test   %eax,%eax
5702b6:	7f c7                	jg     0x57027f
5702b8:	ff 44 24 14          	incl   0x14(%esp)
5702bc:	8b 54 24 14          	mov    0x14(%esp),%edx
5702c0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
5702c4:	3b d1                	cmp    %ecx,%edx
5702c6:	0f 8c 7a ff ff ff    	jl     0x570246
5702cc:	83 c4 20             	add    $0x20,%esp
5702cf:	5f                   	pop    %edi
5702d0:	5e                   	pop    %esi
5702d1:	5b                   	pop    %ebx
5702d2:	c3                   	ret
5702d3:	90                   	nop
5702d4:	53                   	push   %ebx
5702d5:	56                   	push   %esi
5702d6:	57                   	push   %edi
5702d7:	55                   	push   %ebp
5702d8:	83 c4 d4             	add    $0xffffffd4,%esp
5702db:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5702df:	89 54 24 04          	mov    %edx,0x4(%esp)
5702e3:	89 04 24             	mov    %eax,(%esp)
5702e6:	8b 04 24             	mov    (%esp),%eax
5702e9:	8b 50 14             	mov    0x14(%eax),%edx
5702ec:	89 54 24 0c          	mov    %edx,0xc(%esp)
5702f0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5702f4:	8b 41 14             	mov    0x14(%ecx),%eax
5702f7:	8b 54 24 0c          	mov    0xc(%esp),%edx
5702fb:	3b c2                	cmp    %edx,%eax
5702fd:	75 0f                	jne    0x57030e
5702ff:	8b 4c 24 08          	mov    0x8(%esp),%ecx
570303:	8b 41 14             	mov    0x14(%ecx),%eax
570306:	8b 54 24 0c          	mov    0xc(%esp),%edx
57030a:	3b c2                	cmp    %edx,%eax
57030c:	74 17                	je     0x570325
57030e:	68 ed 00 00 00       	push   $0xed
570313:	68 1d 10 6a 00       	push   $0x6a101d
570318:	68 d6 0f 6a 00       	push   $0x6a0fd6
57031d:	e8 1e a8 fe ff       	call   0x55ab40
570322:	83 c4 0c             	add    $0xc,%esp
570325:	8b 0c 24             	mov    (%esp),%ecx
570328:	8b 41 18             	mov    0x18(%ecx),%eax
57032b:	89 44 24 10          	mov    %eax,0x10(%esp)
57032f:	8b 54 24 04          	mov    0x4(%esp),%edx
570333:	8b 4a 18             	mov    0x18(%edx),%ecx
570336:	8b 44 24 10          	mov    0x10(%esp),%eax
57033a:	3b c8                	cmp    %eax,%ecx
57033c:	75 0f                	jne    0x57034d
57033e:	8b 54 24 08          	mov    0x8(%esp),%edx
570342:	8b 4a 18             	mov    0x18(%edx),%ecx
570345:	8b 44 24 10          	mov    0x10(%esp),%eax
570349:	3b c8                	cmp    %eax,%ecx
57034b:	74 17                	je     0x570364
57034d:	68 ef 00 00 00       	push   $0xef
570352:	68 6e 10 6a 00       	push   $0x6a106e
570357:	68 27 10 6a 00       	push   $0x6a1027
57035c:	e8 df a7 fe ff       	call   0x55ab40
570361:	83 c4 0c             	add    $0xc,%esp
570364:	33 d2                	xor    %edx,%edx
570366:	89 54 24 14          	mov    %edx,0x14(%esp)
57036a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57036e:	8b 44 24 0c          	mov    0xc(%esp),%eax
570372:	3b c8                	cmp    %eax,%ecx
570374:	0f 8d a2 01 00 00    	jge    0x57051c
57037a:	8b 14 24             	mov    (%esp),%edx
57037d:	8b 4a 1c             	mov    0x1c(%edx),%ecx
570380:	8b 44 24 14          	mov    0x14(%esp),%eax
570384:	8b 2c 81             	mov    (%ecx,%eax,4),%ebp
570387:	8b 44 24 04          	mov    0x4(%esp),%eax
57038b:	8b 50 1c             	mov    0x1c(%eax),%edx
57038e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
570392:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
570395:	89 44 24 24          	mov    %eax,0x24(%esp)
570399:	8b 54 24 08          	mov    0x8(%esp),%edx
57039d:	8b 4a 1c             	mov    0x1c(%edx),%ecx
5703a0:	8b 44 24 14          	mov    0x14(%esp),%eax
5703a4:	8b 14 81             	mov    (%ecx,%eax,4),%edx
5703a7:	89 54 24 28          	mov    %edx,0x28(%esp)
5703ab:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5703af:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5703b3:	8b 44 24 18          	mov    0x18(%esp),%eax
5703b7:	85 c0                	test   %eax,%eax
5703b9:	0f 8e 49 01 00 00    	jle    0x570508
5703bf:	8b 5d 00             	mov    0x0(%ebp),%ebx
5703c2:	8b 44 24 24          	mov    0x24(%esp),%eax
5703c6:	8b 30                	mov    (%eax),%esi
5703c8:	8b 44 24 28          	mov    0x28(%esp),%eax
5703cc:	8b 38                	mov    (%eax),%edi
5703ce:	8b c3                	mov    %ebx,%eax
5703d0:	99                   	cltd
5703d1:	52                   	push   %edx
5703d2:	50                   	push   %eax
5703d3:	b8 91 09 00 00       	mov    $0x991,%eax
5703d8:	33 d2                	xor    %edx,%edx
5703da:	e8 a5 ac fe ff       	call   0x55b084
5703df:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
5703e3:	c1 fa 0d             	sar    $0xd,%edx
5703e6:	50                   	push   %eax
5703e7:	8b c6                	mov    %esi,%eax
5703e9:	99                   	cltd
5703ea:	52                   	push   %edx
5703eb:	50                   	push   %eax
5703ec:	b8 c8 12 00 00       	mov    $0x12c8,%eax
5703f1:	33 d2                	xor    %edx,%edx
5703f3:	e8 8c ac fe ff       	call   0x55b084
5703f8:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
5703fc:	c1 fa 0d             	sar    $0xd,%edx
5703ff:	5a                   	pop    %edx
570400:	03 d0                	add    %eax,%edx
570402:	52                   	push   %edx
570403:	8b c7                	mov    %edi,%eax
570405:	99                   	cltd
570406:	52                   	push   %edx
570407:	50                   	push   %eax
570408:	b8 a5 03 00 00       	mov    $0x3a5,%eax
57040d:	33 d2                	xor    %edx,%edx
57040f:	e8 70 ac fe ff       	call   0x55b084
570414:	0f ac d0 0d          	shrd   $0xd,%edx,%eax
570418:	c1 fa 0d             	sar    $0xd,%edx
57041b:	5a                   	pop    %edx
57041c:	03 d0                	add    %eax,%edx
57041e:	89 54 24 1c          	mov    %edx,0x1c(%esp)
570422:	8b c3                	mov    %ebx,%eax
570424:	99                   	cltd
570425:	52                   	push   %edx
570426:	50                   	push   %eax
570427:	b8 9a fa ff ff       	mov    $0xfffffa9a,%eax
57042c:	ba ff ff ff ff       	mov    $0xffffffff,%edx