55deef:	89 54 24 14          	mov    %edx,0x14(%esp)
55def3:	8b 54 24 64          	mov    0x64(%esp),%edx
55def7:	89 54 24 18          	mov    %edx,0x18(%esp)
55defb:	89 4c 24 34          	mov    %ecx,0x34(%esp)
55deff:	89 44 24 2c          	mov    %eax,0x2c(%esp)
55df03:	89 44 24 30          	mov    %eax,0x30(%esp)
55df07:	33 d2                	xor    %edx,%edx
55df09:	89 54 24 40          	mov    %edx,0x40(%esp)
55df0d:	8b 4c 24 78          	mov    0x78(%esp),%ecx
55df11:	8b 01                	mov    (%ecx),%eax
55df13:	89 44 24 20          	mov    %eax,0x20(%esp)
55df17:	8b 54 24 20          	mov    0x20(%esp),%edx
55df1b:	83 fa ff             	cmp    $0xffffffff,%edx
55df1e:	75 3b                	jne    0x55df5b
55df20:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55df24:	49                   	dec    %ecx
55df25:	3b f1                	cmp    %ecx,%esi
55df27:	74 17                	je     0x55df40
55df29:	68 f2 06 00 00       	push   $0x6f2
55df2e:	68 c8 df 69 00       	push   $0x69dfc8
55df33:	68 b3 df 69 00       	push   $0x69dfb3
55df38:	e8 03 cc ff ff       	call   0x55ab40
55df3d:	83 c4 0c             	add    $0xc,%esp
55df40:	33 c0                	xor    %eax,%eax
55df42:	89 44 24 2c          	mov    %eax,0x2c(%esp)
55df46:	c7 44 24 30 00 00 f0 	movl   $0xbff00000,0x30(%esp)
55df4d:	bf
55df4e:	c7 44 24 34 01 00 00 	movl   $0x1,0x34(%esp)
55df55:	00
55df56:	e9 02 04 00 00       	jmp    0x55e35d
55df5b:	dd 44 24 0c          	fldl   0xc(%esp)
55df5f:	dc 44 24 14          	faddl  0x14(%esp)
55df63:	d8 0d a4 e6 55 00    	fmuls  0x55e6a4
55df69:	dd 5c 24 24          	fstpl  0x24(%esp)
55df6d:	8b 04 24             	mov    (%esp),%eax
55df70:	e8 3f c4 00 00       	call   0x56a3b4
55df75:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55df79:	e8 7a ac 01 00       	call   0x578bf8
55df7e:	89 44 24 3c          	mov    %eax,0x3c(%esp)
55df82:	8b 54 24 3c          	mov    0x3c(%esp),%edx
55df86:	85 d2                	test   %edx,%edx
55df88:	7d 17                	jge    0x55dfa1
55df8a:	68 fd 06 00 00       	push   $0x6fd
55df8f:	68 de df 69 00       	push   $0x69dfde
55df94:	68 d2 df 69 00       	push   $0x69dfd2
55df99:	e8 a2 cb ff ff       	call   0x55ab40
55df9e:	83 c4 0c             	add    $0xc,%esp
55dfa1:	8b 4c 24 70          	mov    0x70(%esp),%ecx
55dfa5:	8b 54 24 70          	mov    0x70(%esp),%edx
55dfa9:	8b 41 2c             	mov    0x2c(%ecx),%eax
55dfac:	8b 4a 28             	mov    0x28(%edx),%ecx
55dfaf:	8b d1                	mov    %ecx,%edx
55dfb1:	c1 e1 07             	shl    $0x7,%ecx
55dfb4:	03 ca                	add    %edx,%ecx
55dfb6:	c1 e1 02             	shl    $0x2,%ecx
55dfb9:	03 c1                	add    %ecx,%eax
55dfbb:	89 44 24 48          	mov    %eax,0x48(%esp)
55dfbf:	8b 44 24 70          	mov    0x70(%esp),%eax
55dfc3:	8b 48 2c             	mov    0x2c(%eax),%ecx
55dfc6:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55dfca:	8b 44 24 44          	mov    0x44(%esp),%eax
55dfce:	8b 54 24 48          	mov    0x48(%esp),%edx
55dfd2:	3b c2                	cmp    %edx,%eax
55dfd4:	0f 84 6c 01 00 00    	je     0x55e146
55dfda:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55dfde:	8b 41 04             	mov    0x4(%ecx),%eax
55dfe1:	8b 4c 24 44          	mov    0x44(%esp),%ecx
55dfe5:	8b d0                	mov    %eax,%edx
55dfe7:	0f b7 09             	movzwl (%ecx),%ecx
55dfea:	c1 e1 02             	shl    $0x2,%ecx
55dfed:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
55dff0:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55dff3:	03 d1                	add    %ecx,%edx
55dff5:	89 54 24 50          	mov    %edx,0x50(%esp)
55dff9:	89 44 24 4c          	mov    %eax,0x4c(%esp)
55dffd:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e001:	8b 54 24 50          	mov    0x50(%esp),%edx
55e005:	3b c2                	cmp    %edx,%eax
55e007:	0f 84 21 01 00 00    	je     0x55e12e
55e00d:	8b 44 24 4c          	mov    0x4c(%esp),%eax
55e011:	8b 40 34             	mov    0x34(%eax),%eax
55e014:	85 c0                	test   %eax,%eax
55e016:	0f 84 fd 00 00 00    	je     0x55e119
55e01c:	8b d0                	mov    %eax,%edx
55e01e:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e022:	8b 49 30             	mov    0x30(%ecx),%ecx
55e025:	c1 e1 02             	shl    $0x2,%ecx
55e028:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55e02b:	03 d1                	add    %ecx,%edx
55e02d:	89 54 24 58          	mov    %edx,0x58(%esp)
55e031:	89 44 24 54          	mov    %eax,0x54(%esp)
55e035:	8b 44 24 54          	mov    0x54(%esp),%eax
55e039:	8b 54 24 58          	mov    0x58(%esp),%edx
55e03d:	3b c2                	cmp    %edx,%eax
55e03f:	0f 84 d4 00 00 00    	je     0x55e119
55e045:	8b 44 24 54          	mov    0x54(%esp),%eax
55e049:	8b 50 04             	mov    0x4(%eax),%edx
55e04c:	85 d2                	test   %edx,%edx
55e04e:	0f 84 b0 00 00 00    	je     0x55e104
55e054:	33 c9                	xor    %ecx,%ecx
55e056:	89 4c 24 74          	mov    %ecx,0x74(%esp)
55e05a:	8b 44 24 54          	mov    0x54(%esp),%eax
55e05e:	8b 38                	mov    (%eax),%edi
55e060:	e9 8c 00 00 00       	jmp    0x55e0f1
55e065:	8b 47 1c             	mov    0x1c(%edi),%eax
55e068:	85 c0                	test   %eax,%eax
55e06a:	74 7e                	je     0x55e0ea
55e06c:	8b d0                	mov    %eax,%edx
55e06e:	8b 4f 18             	mov    0x18(%edi),%ecx
55e071:	c1 e1 02             	shl    $0x2,%ecx
55e074:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
55e077:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
55e07a:	03 d1                	add    %ecx,%edx
55e07c:	89 54 24 5c          	mov    %edx,0x5c(%esp)
55e080:	8b d8                	mov    %eax,%ebx
55e082:	8b 44 24 5c          	mov    0x5c(%esp),%eax
55e086:	3b d8                	cmp    %eax,%ebx
55e088:	74 60                	je     0x55e0ea
55e08a:	8b 43 28             	mov    0x28(%ebx),%eax
55e08d:	85 c0                	test   %eax,%eax
55e08f:	74 4e                	je     0x55e0df
55e091:	8b 0b                	mov    (%ebx),%ecx
55e093:	8b 53 04             	mov    0x4(%ebx),%edx
55e096:	c1 e1 03             	shl    $0x3,%ecx
55e099:	8b e8                	mov    %eax,%ebp
55e09b:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
55e09e:	03 ca                	add    %edx,%ecx
55e0a0:	8b d0                	mov    %eax,%edx
55e0a2:	3b ca                	cmp    %edx,%ecx
55e0a4:	74 16                	je     0x55e0bc
55e0a6:	dd 42 28             	fldl   0x28(%edx)
55e0a9:	dc 5c 24 24          	fcompl 0x24(%esp)
55e0ad:	df e0                	fnstsw %ax
55e0af:	9e                   	sahf
55e0b0:	72 03                	jb     0x55e0b5
55e0b2:	8d 6a 48             	lea    0x48(%edx),%ebp
55e0b5:	83 c2 48             	add    $0x48,%edx
55e0b8:	3b ca                	cmp    %edx,%ecx
55e0ba:	75 ea                	jne    0x55e0a6
55e0bc:	8b 53 28             	mov    0x28(%ebx),%edx
55e0bf:	3b ea                	cmp    %edx,%ebp
55e0c1:	74 0a                	je     0x55e0cd
55e0c3:	89 72 20             	mov    %esi,0x20(%edx)
55e0c6:	83 c2 48             	add    $0x48,%edx
55e0c9:	3b ea                	cmp    %edx,%ebp
55e0cb:	75 f6                	jne    0x55e0c3
55e0cd:	3b ca                	cmp    %edx,%ecx
55e0cf:	74 0e                	je     0x55e0df
55e0d1:	c7 42 20 ff ff ff ff 	movl   $0xffffffff,0x20(%edx)
55e0d8:	83 c2 48             	add    $0x48,%edx
55e0db:	3b ca                	cmp    %edx,%ecx
55e0dd:	75 f2                	jne    0x55e0d1
55e0df:	83 c3 3c             	add    $0x3c,%ebx
55e0e2:	8b 44 24 5c          	mov    0x5c(%esp),%eax
55e0e6:	3b d8                	cmp    %eax,%ebx
55e0e8:	75 a0                	jne    0x55e08a
55e0ea:	ff 44 24 74          	incl   0x74(%esp)
55e0ee:	83 c7 34             	add    $0x34,%edi
55e0f1:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
55e0f5:	8b 41 20             	mov    0x20(%ecx),%eax
55e0f8:	8b 54 24 74          	mov    0x74(%esp),%edx
55e0fc:	3b c2                	cmp    %edx,%eax
55e0fe:	0f 87 61 ff ff ff    	ja     0x55e065
55e104:	83 44 24 54 24       	addl   $0x24,0x54(%esp)
55e109:	8b 4c 24 54          	mov    0x54(%esp),%ecx
55e10d:	8b 44 24 58          	mov    0x58(%esp),%eax
55e111:	3b c8                	cmp    %eax,%ecx
55e113:	0f 85 2c ff ff ff    	jne    0x55e045
55e119:	83 44 24 4c 3c       	addl   $0x3c,0x4c(%esp)
55e11e:	8b 54 24 4c          	mov    0x4c(%esp),%edx
55e122:	8b 4c 24 50          	mov    0x50(%esp),%ecx
55e126:	3b d1                	cmp    %ecx,%edx
55e128:	0f 85 df fe ff ff    	jne    0x55e00d
55e12e:	81 44 24 44 04 02 00 	addl   $0x204,0x44(%esp)
55e135:	00
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)