55e136:	8b 44 24 44          	mov    0x44(%esp),%eax
55e13a:	8b 54 24 48          	mov    0x48(%esp),%edx
55e13e:	3b c2                	cmp    %edx,%eax
55e140:	0f 85 94 fe ff ff    	jne    0x55dfda
55e146:	8b 4c 24 70          	mov    0x70(%esp),%ecx
55e14a:	8b 54 24 70          	mov    0x70(%esp),%edx
55e14e:	8b 41 2c             	mov    0x2c(%ecx),%eax
55e151:	8b 4a 28             	mov    0x28(%edx),%ecx
55e154:	8b d1                	mov    %ecx,%edx
55e156:	c1 e1 07             	shl    $0x7,%ecx
55e159:	03 ca                	add    %edx,%ecx
55e15b:	c1 e1 02             	shl    $0x2,%ecx
55e15e:	03 c1                	add    %ecx,%eax
55e160:	89 44 24 48          	mov    %eax,0x48(%esp)
55e164:	8b 44 24 70          	mov    0x70(%esp),%eax
55e168:	8b 48 2c             	mov    0x2c(%eax),%ecx
55e16b:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55e16f:	8b 44 24 44          	mov    0x44(%esp),%eax
55e173:	8b 54 24 48          	mov    0x48(%esp),%edx
55e177:	3b c2                	cmp    %edx,%eax
55e179:	0f 84 da 00 00 00    	je     0x55e259
55e17f:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e183:	8b 54 24 44          	mov    0x44(%esp),%edx
55e187:	8b 41 04             	mov    0x4(%ecx),%eax
55e18a:	0f b7 0a             	movzwl (%edx),%ecx
55e18d:	8b d1                	mov    %ecx,%edx
55e18f:	c1 e2 02             	shl    $0x2,%edx
55e192:	8d 14 52             	lea    (%edx,%edx,2),%edx
55e195:	8d 14 92             	lea    (%edx,%edx,4),%edx
55e198:	03 c2                	add    %edx,%eax
55e19a:	89 44 24 50          	mov    %eax,0x50(%esp)
55e19e:	8b 44 24 44          	mov    0x44(%esp),%eax
55e1a2:	8b 48 04             	mov    0x4(%eax),%ecx
55e1a5:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
55e1a9:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e1ad:	8b 54 24 50          	mov    0x50(%esp),%edx
55e1b1:	3b c2                	cmp    %edx,%eax
55e1b3:	0f 84 88 00 00 00    	je     0x55e241
55e1b9:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e1bd:	8b 41 34             	mov    0x34(%ecx),%eax
55e1c0:	85 c0                	test   %eax,%eax
55e1c2:	74 68                	je     0x55e22c
55e1c4:	33 d2                	xor    %edx,%edx
55e1c6:	89 54 24 74          	mov    %edx,0x74(%esp)
55e1ca:	eb 51                	jmp    0x55e21d
55e1cc:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e1d0:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e1d4:	8b 51 04             	mov    0x4(%ecx),%edx
55e1d7:	2b c2                	sub    %edx,%eax
55e1d9:	b9 3c 00 00 00       	mov    $0x3c,%ecx
55e1de:	99                   	cltd
55e1df:	f7 f9                	idiv   %ecx
55e1e1:	50                   	push   %eax
55e1e2:	8b 44 24 78          	mov    0x78(%esp),%eax
55e1e6:	50                   	push   %eax
55e1e7:	56                   	push   %esi
55e1e8:	8b 44 24 7c          	mov    0x7c(%esp),%eax
55e1ec:	ff 70 2c             	push   0x2c(%eax)
55e1ef:	8b 44 24 54          	mov    0x54(%esp),%eax
55e1f3:	5a                   	pop    %edx
55e1f4:	2b c2                	sub    %edx,%eax
55e1f6:	b9 04 02 00 00       	mov    $0x204,%ecx
55e1fb:	99                   	cltd
55e1fc:	f7 f9                	idiv   %ecx
55e1fe:	8b c8                	mov    %eax,%ecx
55e200:	8b 54 24 28          	mov    0x28(%esp),%edx
55e204:	8b 44 24 0c          	mov    0xc(%esp),%eax
55e208:	e8 23 b8 00 00       	call   0x569a30
55e20d:	85 c0                	test   %eax,%eax
55e20f:	74 08                	je     0x55e219
55e211:	83 c8 ff             	or     $0xffffffff,%eax
55e214:	e9 7d 04 00 00       	jmp    0x55e696
55e219:	ff 44 24 74          	incl   0x74(%esp)
55e21d:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e221:	8b 4a 20             	mov    0x20(%edx),%ecx
55e224:	8b 44 24 74          	mov    0x74(%esp),%eax
55e228:	3b c8                	cmp    %eax,%ecx
55e22a:	77 a0                	ja     0x55e1cc
55e22c:	83 44 24 4c 3c       	addl   $0x3c,0x4c(%esp)
55e231:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e235:	8b 4c 24 50          	mov    0x50(%esp),%ecx
55e239:	3b d1                	cmp    %ecx,%edx
55e23b:	0f 85 78 ff ff ff    	jne    0x55e1b9
55e241:	81 44 24 44 04 02 00 	addl   $0x204,0x44(%esp)
55e248:	00
55e249:	8b 44 24 44          	mov    0x44(%esp),%eax
55e24d:	8b 54 24 48          	mov    0x48(%esp),%edx
55e251:	3b c2                	cmp    %edx,%eax
55e253:	0f 85 26 ff ff ff    	jne    0x55e17f
55e259:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55e25d:	e8 96 a9 01 00       	call   0x578bf8
55e262:	89 44 24 38          	mov    %eax,0x38(%esp)
55e266:	8b 54 24 38          	mov    0x38(%esp),%edx
55e26a:	85 d2                	test   %edx,%edx
55e26c:	7d 17                	jge    0x55e285
55e26e:	68 3b 07 00 00       	push   $0x73b
55e273:	68 f1 df 69 00       	push   $0x69dff1
55e278:	68 e8 df 69 00       	push   $0x69dfe8
55e27d:	e8 be c8 ff ff       	call   0x55ab40
55e282:	83 c4 0c             	add    $0xc,%esp
55e285:	8b 4c 24 38          	mov    0x38(%esp),%ecx
55e289:	8b 44 24 20          	mov    0x20(%esp),%eax
55e28d:	3b c8                	cmp    %eax,%ecx
55e28f:	7e 12                	jle    0x55e2a3
55e291:	8b 54 24 24          	mov    0x24(%esp),%edx
55e295:	89 54 24 0c          	mov    %edx,0xc(%esp)
55e299:	8b 54 24 28          	mov    0x28(%esp),%edx
55e29d:	89 54 24 10          	mov    %edx,0x10(%esp)
55e2a1:	eb 49                	jmp    0x55e2ec
55e2a3:	8b 4c 24 38          	mov    0x38(%esp),%ecx
55e2a7:	8b 44 24 20          	mov    0x20(%esp),%eax
55e2ab:	3b c8                	cmp    %eax,%ecx
55e2ad:	7f 3d                	jg     0x55e2ec
55e2af:	8b 54 24 24          	mov    0x24(%esp),%edx
55e2b3:	89 54 24 14          	mov    %edx,0x14(%esp)
55e2b7:	8b 54 24 28          	mov    0x28(%esp),%edx
55e2bb:	89 54 24 18          	mov    %edx,0x18(%esp)
55e2bf:	8b 4c 24 34          	mov    0x34(%esp),%ecx
55e2c3:	85 c9                	test   %ecx,%ecx
55e2c5:	74 0d                	je     0x55e2d4
55e2c7:	dd 44 24 24          	fldl   0x24(%esp)
55e2cb:	dc 5c 24 2c          	fcompl 0x2c(%esp)
55e2cf:	df e0                	fnstsw %ax
55e2d1:	9e                   	sahf
55e2d2:	73 18                	jae    0x55e2ec
55e2d4:	8b 54 24 24          	mov    0x24(%esp),%edx
55e2d8:	89 54 24 2c          	mov    %edx,0x2c(%esp)
55e2dc:	8b 54 24 28          	mov    0x28(%esp),%edx
55e2e0:	89 54 24 30          	mov    %edx,0x30(%esp)
55e2e4:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
55e2eb:	00
55e2ec:	8b 04 24             	mov    (%esp),%eax
55e2ef:	e8 f4 c1 00 00       	call   0x56a4e8
55e2f4:	33 c9                	xor    %ecx,%ecx
55e2f6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
55e2fa:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55e2fe:	e8 65 a8 01 00       	call   0x578b68
55e303:	85 c0                	test   %eax,%eax
55e305:	7d 05                	jge    0x55e30c
55e307:	e8 3c c8 ff ff       	call   0x55ab48
55e30c:	e8 3b bc 01 00       	call   0x579f4c
55e311:	85 c0                	test   %eax,%eax
55e313:	74 24                	je     0x55e339
55e315:	ff 74 24 28          	push   0x28(%esp)
55e319:	ff 74 24 28          	push   0x28(%esp)
55e31d:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55e321:	51                   	push   %ecx
55e322:	8b 44 24 2c          	mov    0x2c(%esp),%eax
55e326:	50                   	push   %eax
55e327:	68 fb df 69 00       	push   $0x69dffb
55e32c:	68 80 2e 6a 00       	push   $0x6a2e80
55e331:	e8 96 bd 01 00       	call   0x57a0cc
55e336:	83 c4 18             	add    $0x18,%esp
55e339:	ff 44 24 40          	incl   0x40(%esp)
55e33d:	dd 44 24 14          	fldl   0x14(%esp)
55e341:	dc 25 a8 e6 55 00    	fsubl  0x55e6a8
55e347:	dc 5c 24 0c          	fcompl 0xc(%esp)
55e34b:	df e0                	fnstsw %ax
55e34d:	9e                   	sahf
55e34e:	76 0d                	jbe    0x55e35d
55e350:	8b 54 24 40          	mov    0x40(%esp),%edx
55e354:	83 fa 20             	cmp    $0x20,%edx
55e357:	0f 8c b0 fb ff ff    	jl     0x55df0d
55e35d:	8b 4c 24 34          	mov    0x34(%esp),%ecx
55e361:	85 c9                	test   %ecx,%ecx
55e363:	75 12                	jne    0x55e377
55e365:	68 23 e0 69 00       	push   $0x69e023
55e36a:	68 80 2e 6a 00       	push   $0x6a2e80
55e36f:	e8 58 bd 01 00       	call   0x57a0cc
55e374:	83 c4 08             	add    $0x8,%esp
55e377:	e8 d0 bb 01 00       	call   0x579f4c
55e37c:	85 c0                	test   %eax,%eax
55e37e:	74 1f                	je     0x55e39f
55e380:	ff 74 24 30          	push   0x30(%esp)
55e384:	ff 74 24 30          	push   0x30(%esp)
55e388:	8b 54 24 3c          	mov    0x3c(%esp),%edx
55e38c:	52                   	push   %edx
55e38d:	68 43 e0 69 00       	push   $0x69e043
55e392:	68 80 2e 6a 00       	push   $0x6a2e80
55e397:	e8 30 bd 01 00       	call   0x57a0cc
55e39c:	83 c4 14             	add    $0x14,%esp
55e39f:	8b 4c 24 70          	mov    0x70(%esp),%ecx
55e3a3:	8b 54 24 70          	mov    0x70(%esp),%edx
55e3a7:	8b 41 2c             	mov    0x2c(%ecx),%eax
55e3aa:	8b 4a 28             	mov    0x28(%edx),%ecx
55e3ad:	8b d1                	mov    %ecx,%edx
55e3af:	c1 e1 07             	shl    $0x7,%ecx
55e3b2:	03 ca                	add    %edx,%ecx
55e3b4:	c1 e1 02             	shl    $0x2,%ecx
55e3b7:	03 c1                	add    %ecx,%eax
55e3b9:	89 44 24 48          	mov    %eax,0x48(%esp)
55e3bd:	8b 44 24 70          	mov    0x70(%esp),%eax
55e3c1:	8b 48 2c             	mov    0x2c(%eax),%ecx
55e3c4:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55e3c8:	8b 44 24 44          	mov    0x44(%esp),%eax
55e3cc:	8b 54 24 48          	mov    0x48(%esp),%edx
55e3d0:	3b c2                	cmp    %edx,%eax
55e3d2:	0f 84 7f 01 00 00    	je     0x55e557
55e3d8:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e3dc:	8b 54 24 44          	mov    0x44(%esp),%edx
55e3e0:	8b 41 04             	mov    0x4(%ecx),%eax
55e3e3:	0f b7 0a             	movzwl (%edx),%ecx
55e3e6:	8b d1                	mov    %ecx,%edx
55e3e8:	c1 e2 02             	shl    $0x2,%edx
55e3eb:	8d 14 52             	lea    (%edx,%edx,2),%edx
55e3ee:	8d 14 92             	lea    (%edx,%edx,4),%edx
55e3f1:	03 c2                	add    %edx,%eax
55e3f3:	89 44 24 50          	mov    %eax,0x50(%esp)
55e3f7:	8b 44 24 44          	mov    0x44(%esp),%eax
55e3fb:	8b 48 04             	mov    0x4(%eax),%ecx
55e3fe:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
55e402:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e406:	8b 54 24 50          	mov    0x50(%esp),%edx
55e40a:	3b c2                	cmp    %edx,%eax
55e40c:	0f 84 2d 01 00 00    	je     0x55e53f
55e412:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e416:	8b 41 34             	mov    0x34(%ecx),%eax
55e419:	85 c0                	test   %eax,%eax
55e41b:	0f 84 09 01 00 00    	je     0x55e52a
55e421:	8b d0                	mov    %eax,%edx
55e423:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e427:	8b 49 30             	mov    0x30(%ecx),%ecx
55e42a:	c1 e1 02             	shl    $0x2,%ecx
55e42d:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55e430:	03 d1                	add    %ecx,%edx
55e432:	89 54 24 58          	mov    %edx,0x58(%esp)
55e436:	89 44 24 54          	mov    %eax,0x54(%esp)
55e43a:	8b 44 24 54          	mov    0x54(%esp),%eax
55e43e:	8b 54 24 58          	mov    0x58(%esp),%edx
55e442:	3b c2                	cmp    %edx,%eax
55e444:	0f 84 e0 00 00 00    	je     0x55e52a
55e44a:	8b 44 24 54          	mov    0x54(%esp),%eax
55e44e:	8b 50 04             	mov    0x4(%eax),%edx
55e451:	85 d2                	test   %edx,%edx
55e453:	0f 84 bc 00 00 00    	je     0x55e515
55e459:	33 c9                	xor    %ecx,%ecx
55e45b:	89 4c 24 74          	mov    %ecx,0x74(%esp)
55e45f:	8b 44 24 54          	mov    0x54(%esp),%eax
55e463:	8b 38                	mov    (%eax),%edi
55e465:	e9 98 00 00 00       	jmp    0x55e502
55e46a:	8b 47 1c             	mov    0x1c(%edi),%eax
55e46d:	85 c0                	test   %eax,%eax
55e46f:	0f 84 86 00 00 00    	je     0x55e4fb
55e475:	8b d0                	mov    %eax,%edx
55e477:	8b 4f 18             	mov    0x18(%edi),%ecx
55e47a:	c1 e1 02             	shl    $0x2,%ecx
55e47d:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
55e480:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55e483:	03 d1                	add    %ecx,%edx
55e485:	89 54 24 5c          	mov    %edx,0x5c(%esp)
55e489:	8b d8                	mov    %eax,%ebx
55e48b:	8b 44 24 5c          	mov    0x5c(%esp),%eax
55e48f:	3b d8                	cmp    %eax,%ebx
55e491:	74 68                	je     0x55e4fb
55e493:	8b 43 28             	mov    0x28(%ebx),%eax
55e496:	85 c0                	test   %eax,%eax
55e498:	74 56                	je     0x55e4f0
55e49a:	8b 0b                	mov    (%ebx),%ecx
55e49c:	8b 53 04             	mov    0x4(%ebx),%edx
55e49f:	c1 e1 03             	shl    $0x3,%ecx
55e4a2:	8b e8                	mov    %eax,%ebp
55e4a4:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55e4a7:	03 ca                	add    %edx,%ecx
55e4a9:	8b 54 24 34          	mov    0x34(%esp),%edx
55e4ad:	85 d2                	test   %edx,%edx
55e4af:	74 1c                	je     0x55e4cd
55e4b1:	8b d0                	mov    %eax,%edx
55e4b3:	3b ca                	cmp    %edx,%ecx
55e4b5:	74 16                	je     0x55e4cd
55e4b7:	dd 42 28             	fldl   0x28(%edx)
55e4ba:	dc 5c 24 2c          	fcompl 0x2c(%esp)
55e4be:	df e0                	fnstsw %ax
55e4c0:	9e                   	sahf
55e4c1:	72 03                	jb     0x55e4c6
55e4c3:	8d 6a 48             	lea    0x48(%edx),%ebp
55e4c6:	83 c2 48             	add    $0x48,%edx
55e4c9:	3b ca                	cmp    %edx,%ecx
55e4cb:	75 ea                	jne    0x55e4b7
55e4cd:	8b 53 28             	mov    0x28(%ebx),%edx
55e4d0:	3b ea                	cmp    %edx,%ebp
55e4d2:	74 0a                	je     0x55e4de
55e4d4:	89 72 20             	mov    %esi,0x20(%edx)
55e4d7:	83 c2 48             	add    $0x48,%edx
55e4da:	3b ea                	cmp    %edx,%ebp
55e4dc:	75 f6                	jne    0x55e4d4
55e4de:	3b ca                	cmp    %edx,%ecx
55e4e0:	74 0e                	je     0x55e4f0
55e4e2:	c7 42 20 ff ff ff ff 	movl   $0xffffffff,0x20(%edx)
55e4e9:	83 c2 48             	add    $0x48,%edx
55e4ec:	3b ca                	cmp    %edx,%ecx
55e4ee:	75 f2                	jne    0x55e4e2
55e4f0:	83 c3 3c             	add    $0x3c,%ebx
55e4f3:	8b 44 24 5c          	mov    0x5c(%esp),%eax
55e4f7:	3b d8                	cmp    %eax,%ebx
55e4f9:	75 98                	jne    0x55e493
55e4fb:	ff 44 24 74          	incl   0x74(%esp)
55e4ff:	83 c7 34             	add    $0x34,%edi
55e502:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e506:	8b 41 20             	mov    0x20(%ecx),%eax
55e509:	8b 54 24 74          	mov    0x74(%esp),%edx
55e50d:	3b c2                	cmp    %edx,%eax
55e50f:	0f 87 55 ff ff ff    	ja     0x55e46a
55e515:	83 44 24 54 24       	addl   $0x24,0x54(%esp)
55e51a:	8b 4c 24 54          	mov    0x54(%esp),%ecx
55e51e:	8b 44 24 58          	mov    0x58(%esp),%eax
55e522:	3b c8                	cmp    %eax,%ecx
55e524:	0f 85 20 ff ff ff    	jne    0x55e44a
55e52a:	83 44 24 4c 3c       	addl   $0x3c,0x4c(%esp)
55e52f:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e533:	8b 4c 24 50          	mov    0x50(%esp),%ecx
55e537:	3b d1                	cmp    %ecx,%edx
55e539:	0f 85 d3 fe ff ff    	jne    0x55e412
55e53f:	81 44 24 44 04 02 00 	addl   $0x204,0x44(%esp)
55e546:	00
55e547:	8b 44 24 44          	mov    0x44(%esp),%eax
55e54b:	8b 54 24 48          	mov    0x48(%esp),%edx
55e54f:	3b c2                	cmp    %edx,%eax
55e551:	0f 85 81 fe ff ff    	jne    0x55e3d8
55e557:	8b 4c 24 70          	mov    0x70(%esp),%ecx
55e55b:	8b 54 24 70          	mov    0x70(%esp),%edx
55e55f:	8b 41 2c             	mov    0x2c(%ecx),%eax
55e562:	8b 4a 28             	mov    0x28(%edx),%ecx
55e565:	8b d1                	mov    %ecx,%edx
55e567:	c1 e1 07             	shl    $0x7,%ecx
55e56a:	03 ca                	add    %edx,%ecx
55e56c:	c1 e1 02             	shl    $0x2,%ecx
55e56f:	03 c1                	add    %ecx,%eax
55e571:	89 44 24 48          	mov    %eax,0x48(%esp)
55e575:	8b 44 24 70          	mov    0x70(%esp),%eax
55e579:	8b 48 2c             	mov    0x2c(%eax),%ecx
55e57c:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55e580:	8b 44 24 44          	mov    0x44(%esp),%eax
55e584:	8b 54 24 48          	mov    0x48(%esp),%edx
55e588:	3b c2                	cmp    %edx,%eax
55e58a:	0f 84 d7 00 00 00    	je     0x55e667
55e590:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55e594:	8b 54 24 44          	mov    0x44(%esp),%edx
55e598:	8b 41 04             	mov    0x4(%ecx),%eax
55e59b:	0f b7 0a             	movzwl (%edx),%ecx
55e59e:	8b d1                	mov    %ecx,%edx
55e5a0:	c1 e2 02             	shl    $0x2,%edx
55e5a3:	8d 14 52             	lea    (%edx,%edx,2),%edx
55e5a6:	8d 14 92             	lea    (%edx,%edx,4),%edx
55e5a9:	03 c2                	add    %edx,%eax
55e5ab:	89 44 24 50          	mov    %eax,0x50(%esp)
55e5af:	8b 44 24 44          	mov    0x44(%esp),%eax
55e5b3:	8b 48 04             	mov    0x4(%eax),%ecx
55e5b6:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
55e5ba:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e5be:	8b 54 24 50          	mov    0x50(%esp),%edx