4240fd:	83 c8 ff             	or     $0xffffffff,%eax
424100:	33 d2                	xor    %edx,%edx
424102:	f7 f3                	div    %ebx
424104:	3b f0                	cmp    %eax,%esi
424106:	77 af                	ja     0x4240b7
424108:	8d 41 0c             	lea    0xc(%ecx),%eax
42410b:	89 45 ec             	mov    %eax,-0x14(%ebp)
42410e:	8b 00                	mov    (%eax),%eax
424110:	90                   	nop
424111:	a9 c0 04 00 00       	test   $0x4c0,%eax
424116:	74 08                	je     0x424120
424118:	8b 41 18             	mov    0x18(%ecx),%eax
42411b:	89 45 f4             	mov    %eax,-0xc(%ebp)
42411e:	eb 07                	jmp    0x424127
424120:	c7 45 f4 00 10 00 00 	movl   $0x1000,-0xc(%ebp)
424127:	8b 45 08             	mov    0x8(%ebp),%eax
42412a:	8b f3                	mov    %ebx,%esi
42412c:	0f af 75 14          	imul   0x14(%ebp),%esi
424130:	8b d7                	mov    %edi,%edx
424132:	89 45 f0             	mov    %eax,-0x10(%ebp)
424135:	8b de                	mov    %esi,%ebx
424137:	85 f6                	test   %esi,%esi
424139:	e9 e4 00 00 00       	jmp    0x424222
42413e:	8b 41 0c             	mov    0xc(%ecx),%eax
424141:	90                   	nop
424142:	a9 c0 04 00 00       	test   $0x4c0,%eax
424147:	74 47                	je     0x424190
424149:	8b 41 08             	mov    0x8(%ecx),%eax
42414c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42414f:	85 c0                	test   %eax,%eax
424151:	74 3d                	je     0x424190
424153:	0f 88 fd 00 00 00    	js     0x424256
424159:	3b d8                	cmp    %eax,%ebx
42415b:	73 05                	jae    0x424162
42415d:	8b c3                	mov    %ebx,%eax
42415f:	89 5d f8             	mov    %ebx,-0x8(%ebp)
424162:	3b c2                	cmp    %edx,%eax
424164:	0f 87 c9 00 00 00    	ja     0x424233
42416a:	50                   	push   %eax
42416b:	ff 31                	push   (%ecx)
42416d:	52                   	push   %edx
42416e:	ff 75 f0             	push   -0x10(%ebp)
424171:	e8 b5 01 00 00       	call   0x42432b
424176:	8b 4d 18             	mov    0x18(%ebp),%ecx
424179:	83 c4 10             	add    $0x10,%esp
42417c:	8b 45 f8             	mov    -0x8(%ebp),%eax
42417f:	2b d8                	sub    %eax,%ebx
424181:	8b 55 fc             	mov    -0x4(%ebp),%edx
424184:	29 41 08             	sub    %eax,0x8(%ecx)
424187:	01 01                	add    %eax,(%ecx)
424189:	2b d0                	sub    %eax,%edx
42418b:	e9 8d 00 00 00       	jmp    0x42421d
424190:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
424193:	72 62                	jb     0x4241f7
424195:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
42419a:	3b d8                	cmp    %eax,%ebx
42419c:	76 05                	jbe    0x4241a3
42419e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4241a1:	eb 05                	jmp    0x4241a8
4241a3:	8b c3                	mov    %ebx,%eax
4241a5:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4241a8:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4241ac:	74 0d                	je     0x4241bb
4241ae:	33 d2                	xor    %edx,%edx
4241b0:	f7 75 f4             	divl   -0xc(%ebp)
4241b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4241b6:	2b c2                	sub    %edx,%eax
4241b8:	8b 55 fc             	mov    -0x4(%ebp),%edx
4241bb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4241be:	3b c2                	cmp    %edx,%eax
4241c0:	77 71                	ja     0x424233
4241c2:	ff 75 f8             	push   -0x8(%ebp)
4241c5:	8b 41 04             	mov    0x4(%ecx),%eax
4241c8:	ff 75 f0             	push   -0x10(%ebp)
4241cb:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4241cf:	51                   	push   %ecx
4241d0:	89 01                	mov    %eax,(%ecx)
4241d2:	e8 61 75 00 00       	call   0x42b738
4241d7:	59                   	pop    %ecx
4241d8:	50                   	push   %eax
4241d9:	e8 24 9f 00 00       	call   0x42e102
4241de:	83 c4 0c             	add    $0xc,%esp
4241e1:	85 c0                	test   %eax,%eax
4241e3:	0f 84 84 00 00 00    	je     0x42426d
4241e9:	78 6b                	js     0x424256
4241eb:	8b 55 fc             	mov    -0x4(%ebp),%edx
4241ee:	2b d8                	sub    %eax,%ebx
4241f0:	8b 4d 18             	mov    0x18(%ebp),%ecx
4241f3:	2b d0                	sub    %eax,%edx
4241f5:	eb 26                	jmp    0x42421d
4241f7:	51                   	push   %ecx
4241f8:	e8 12 8f 00 00       	call   0x42d10f
4241fd:	59                   	pop    %ecx
4241fe:	83 f8 ff             	cmp    $0xffffffff,%eax
424201:	74 5c                	je     0x42425f
424203:	8b 55 fc             	mov    -0x4(%ebp),%edx
424206:	85 d2                	test   %edx,%edx
424208:	74 29                	je     0x424233
42420a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42420d:	4b                   	dec    %ebx
42420e:	4a                   	dec    %edx
42420f:	88 01                	mov    %al,(%ecx)
424211:	8b 4d 18             	mov    0x18(%ebp),%ecx
424214:	8b 41 18             	mov    0x18(%ecx),%eax
424217:	89 45 f4             	mov    %eax,-0xc(%ebp)
42421a:	33 c0                	xor    %eax,%eax
42421c:	40                   	inc    %eax
42421d:	01 45 f0             	add    %eax,-0x10(%ebp)
424220:	85 db                	test   %ebx,%ebx
424222:	89 55 fc             	mov    %edx,-0x4(%ebp)
424225:	0f 85 13 ff ff ff    	jne    0x42413e
42422b:	8b 45 14             	mov    0x14(%ebp),%eax
42422e:	e9 96 fe ff ff       	jmp    0x4240c9
424233:	83 ff ff             	cmp    $0xffffffff,%edi
424236:	74 0e                	je     0x424246
424238:	57                   	push   %edi
424239:	6a 00                	push   $0x0
42423b:	ff 75 08             	push   0x8(%ebp)
42423e:	e8 cd 79 ff ff       	call   0x41bc10
424243:	83 c4 0c             	add    $0xc,%esp
424246:	e8 e5 f7 ff ff       	call   0x423a30
42424b:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
424251:	e9 6c fe ff ff       	jmp    0x4240c2
424256:	6a 10                	push   $0x10
424258:	8b 45 ec             	mov    -0x14(%ebp),%eax
42425b:	59                   	pop    %ecx
42425c:	f0 09 08             	lock or %ecx,(%eax)
42425f:	2b f3                	sub    %ebx,%esi
424261:	33 d2                	xor    %edx,%edx
424263:	8b c6                	mov    %esi,%eax
424265:	f7 75 10             	divl   0x10(%ebp)
424268:	e9 5c fe ff ff       	jmp    0x4240c9
42426d:	6a 08                	push   $0x8
42426f:	eb e7                	jmp    0x424258
424271:	8b ff                	mov    %edi,%edi
424273:	55                   	push   %ebp
424274:	8b ec                	mov    %esp,%ebp
424276:	ff 75 14             	push   0x14(%ebp)
424279:	ff 75 10             	push   0x10(%ebp)
42427c:	ff 75 0c             	push   0xc(%ebp)
42427f:	6a ff                	push   $0xffffffff
424281:	ff 75 08             	push   0x8(%ebp)
424284:	e8 05 00 00 00       	call   0x42428e
424289:	83 c4 14             	add    $0x14,%esp
42428c:	5d                   	pop    %ebp
42428d:	c3                   	ret
42428e:	6a 0c                	push   $0xc
424290:	68 a8 2f 45 00       	push   $0x452fa8
424295:	e8 76 66 ff ff       	call   0x41a910
42429a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42429e:	74 32                	je     0x4242d2
4242a0:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4242a4:	74 2c                	je     0x4242d2
4242a6:	8b 75 18             	mov    0x18(%ebp),%esi
4242a9:	85 f6                	test   %esi,%esi
4242ab:	75 37                	jne    0x4242e4
4242ad:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
4242b1:	74 0f                	je     0x4242c2
4242b3:	ff 75 0c             	push   0xc(%ebp)
4242b6:	56                   	push   %esi
4242b7:	ff 75 08             	push   0x8(%ebp)
4242ba:	e8 51 79 ff ff       	call   0x41bc10
4242bf:	83 c4 0c             	add    $0xc,%esp
4242c2:	e8 69 f7 ff ff       	call   0x423a30
4242c7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4242cd:	e8 b1 b6 ff ff       	call   0x41f983
4242d2:	33 c0                	xor    %eax,%eax
4242d4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4242d7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4242de:	59                   	pop    %ecx
4242df:	5f                   	pop    %edi
4242e0:	5e                   	pop    %esi
4242e1:	5b                   	pop    %ebx
4242e2:	c9                   	leave
4242e3:	c3                   	ret
4242e4:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4242e8:	56                   	push   %esi
4242e9:	e8 fe fc ff ff       	call   0x423fec
4242ee:	59                   	pop    %ecx
4242ef:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4242f3:	56                   	push   %esi
4242f4:	ff 75 14             	push   0x14(%ebp)
4242f7:	ff 75 10             	push   0x10(%ebp)
4242fa:	ff 75 0c             	push   0xc(%ebp)
4242fd:	ff 75 08             	push   0x8(%ebp)
424300:	e8 93 fd ff ff       	call   0x424098
424305:	83 c4 14             	add    $0x14,%esp
424308:	8b f8                	mov    %eax,%edi
42430a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42430d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
424314:	e8 0a 00 00 00       	call   0x424323
424319:	8b c7                	mov    %edi,%eax
42431b:	eb b7                	jmp    0x4242d4
42431d:	8b 75 18             	mov    0x18(%ebp),%esi
424320:	8b 7d e4             	mov    -0x1c(%ebp),%edi
424323:	56                   	push   %esi
424324:	e8 d7 fc ff ff       	call   0x424000
424329:	59                   	pop    %ecx
42432a:	c3                   	ret
42432b:	8b ff                	mov    %edi,%edi
42432d:	55                   	push   %ebp
42432e:	8b ec                	mov    %esp,%ebp
424330:	56                   	push   %esi
424331:	8b 75 14             	mov    0x14(%ebp),%esi
424334:	85 f6                	test   %esi,%esi
424336:	75 04                	jne    0x42433c
424338:	33 c0                	xor    %eax,%eax
42433a:	eb 6d                	jmp    0x4243a9
42433c:	8b 45 08             	mov    0x8(%ebp),%eax
42433f:	85 c0                	test   %eax,%eax
424341:	75 13                	jne    0x424356
424343:	e8 e8 f6 ff ff       	call   0x423a30
424348:	6a 16                	push   $0x16
42434a:	5e                   	pop    %esi
42434b:	89 30                	mov    %esi,(%eax)
42434d:	e8 31 b6 ff ff       	call   0x41f983
424352:	8b c6                	mov    %esi,%eax
424354:	eb 53                	jmp    0x4243a9
424356:	57                   	push   %edi
424357:	8b 7d 10             	mov    0x10(%ebp),%edi
42435a:	85 ff                	test   %edi,%edi
42435c:	74 14                	je     0x424372
42435e:	39 75 0c             	cmp    %esi,0xc(%ebp)
424361:	72 0f                	jb     0x424372
424363:	56                   	push   %esi
424364:	57                   	push   %edi
424365:	50                   	push   %eax
424366:	e8 15 73 ff ff       	call   0x41b680
42436b:	83 c4 0c             	add    $0xc,%esp
42436e:	33 c0                	xor    %eax,%eax
424370:	eb 36                	jmp    0x4243a8
424372:	ff 75 0c             	push   0xc(%ebp)
424375:	6a 00                	push   $0x0
424377:	50                   	push   %eax
424378:	e8 93 78 ff ff       	call   0x41bc10
42437d:	83 c4 0c             	add    $0xc,%esp
424380:	85 ff                	test   %edi,%edi
424382:	75 09                	jne    0x42438d
424384:	e8 a7 f6 ff ff       	call   0x423a30
424389:	6a 16                	push   $0x16
42438b:	eb 0c                	jmp    0x424399
42438d:	39 75 0c             	cmp    %esi,0xc(%ebp)
424390:	73 13                	jae    0x4243a5
424392:	e8 99 f6 ff ff       	call   0x423a30
424397:	6a 22                	push   $0x22
424399:	5e                   	pop    %esi
42439a:	89 30                	mov    %esi,(%eax)
42439c:	e8 e2 b5 ff ff       	call   0x41f983
4243a1:	8b c6                	mov    %esi,%eax
4243a3:	eb 03                	jmp    0x4243a8
4243a5:	6a 16                	push   $0x16
4243a7:	58                   	pop    %eax
4243a8:	5f                   	pop    %edi
4243a9:	5e                   	pop    %esi
4243aa:	5d                   	pop    %ebp
4243ab:	c3                   	ret
4243ac:	8b ff                	mov    %edi,%edi
4243ae:	55                   	push   %ebp
4243af:	8b ec                	mov    %esp,%ebp
4243b1:	5d                   	pop    %ebp
4243b2:	e9 63 8d 00 00       	jmp    0x42d11a
4243b7:	cc                   	int3
4243b8:	cc                   	int3
4243b9:	cc                   	int3
4243ba:	cc                   	int3
4243bb:	cc                   	int3
4243bc:	cc                   	int3
4243bd:	cc                   	int3
4243be:	cc                   	int3
4243bf:	cc                   	int3
4243c0:	8b ff                	mov    %edi,%edi
4243c2:	55                   	push   %ebp
4243c3:	8b ec                	mov    %esp,%ebp
4243c5:	81 ec 20 02 00 00    	sub    $0x220,%esp
4243cb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4243ce:	53                   	push   %ebx
4243cf:	56                   	push   %esi
4243d0:	57                   	push   %edi
4243d1:	8b 01                	mov    (%ecx),%eax
4243d3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4243d6:	85 c0                	test   %eax,%eax
4243d8:	0f 84 82 04 00 00    	je     0x424860
4243de:	8b 7d 0c             	mov    0xc(%ebp),%edi
4243e1:	8b 37                	mov    (%edi),%esi
4243e3:	89 75 ec             	mov    %esi,-0x14(%ebp)
4243e6:	85 f6                	test   %esi,%esi
4243e8:	0f 84 72 04 00 00    	je     0x424860
4243ee:	48                   	dec    %eax
4243ef:	89 45 f4             	mov    %eax,-0xc(%ebp)
4243f2:	83 c6 ff             	add    $0xffffffff,%esi
4243f5:	0f 85 3e 01 00 00    	jne    0x424539
4243fb:	8b 5f 04             	mov    0x4(%edi),%ebx
4243fe:	83 fb 01             	cmp    $0x1,%ebx
424401:	75 3b                	jne    0x42443e
424403:	8b 55 08             	mov    0x8(%ebp),%edx
424406:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
42440c:	8b 71 04             	mov    0x4(%ecx),%esi
42440f:	83 c1 04             	add    $0x4,%ecx
424412:	6a 00                	push   $0x0
424414:	50                   	push   %eax
424415:	68 cc 01 00 00       	push   $0x1cc
42441a:	51                   	push   %ecx
42441b:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
424422:	00 00 00
424425:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
42442b:	e8 fb fe ff ff       	call   0x42432b
424430:	83 c4 10             	add    $0x10,%esp
424433:	8b c6                	mov    %esi,%eax
424435:	33 d2                	xor    %edx,%edx
424437:	5f                   	pop    %edi
424438:	5e                   	pop    %esi
424439:	5b                   	pop    %ebx
42443a:	8b e5                	mov    %ebp,%esp
42443c:	5d                   	pop    %ebp
42443d:	c3                   	ret
42443e:	85 c0                	test   %eax,%eax
424440:	75 48                	jne    0x42448a
424442:	8b 79 04             	mov    0x4(%ecx),%edi
424445:	8d 71 04             	lea    0x4(%ecx),%esi
424448:	50                   	push   %eax
424449:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
42444f:	89 01                	mov    %eax,(%ecx)
424451:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
424457:	50                   	push   %eax
424458:	68 cc 01 00 00       	push   $0x1cc
42445d:	56                   	push   %esi
42445e:	e8 c8 fe ff ff       	call   0x42432b
424463:	33 d2                	xor    %edx,%edx
424465:	8b c7                	mov    %edi,%eax
424467:	f7 f3                	div    %ebx
424469:	83 c4 10             	add    $0x10,%esp
42446c:	33 c0                	xor    %eax,%eax
42446e:	3b c2                	cmp    %edx,%eax
424470:	89 16                	mov    %edx,(%esi)
424472:	8b 55 08             	mov    0x8(%ebp),%edx
424475:	8b c7                	mov    %edi,%eax
424477:	1b c9                	sbb    %ecx,%ecx
424479:	f7 d9                	neg    %ecx
42447b:	5f                   	pop    %edi
42447c:	89 0a                	mov    %ecx,(%edx)
42447e:	33 d2                	xor    %edx,%edx
424480:	f7 f3                	div    %ebx
424482:	5e                   	pop    %esi
424483:	33 d2                	xor    %edx,%edx
424485:	5b                   	pop    %ebx
424486:	8b e5                	mov    %ebp,%esp
424488:	5d                   	pop    %ebp
424489:	c3                   	ret
42448a:	33 ff                	xor    %edi,%edi
42448c:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)