54c07f:	8b 86 1c 01 00 00    	mov    0x11c(%esi),%eax
54c085:	05 90 e8 ff ff       	add    $0xffffe890,%eax
54c08a:	99                   	cltd
54c08b:	33 c2                	xor    %edx,%eax
54c08d:	2b c2                	sub    %edx,%eax
54c08f:	3d e8 03 00 00       	cmp    $0x3e8,%eax
54c094:	7e 0c                	jle    0x54c0a2
54c096:	ba 1f b4 69 00       	mov    $0x69b41f,%edx
54c09b:	8b c3                	mov    %ebx,%eax
54c09d:	e8 ba ee ff ff       	call   0x54af5c
54c0a2:	8b cf                	mov    %edi,%ecx
54c0a4:	8b d6                	mov    %esi,%edx
54c0a6:	8b c3                	mov    %ebx,%eax
54c0a8:	e8 33 81 ff ff       	call   0x5441e0
54c0ad:	5a                   	pop    %edx
54c0ae:	5f                   	pop    %edi
54c0af:	5e                   	pop    %esi
54c0b0:	5b                   	pop    %ebx
54c0b1:	c3                   	ret
54c0b2:	90                   	nop
54c0b3:	90                   	nop
54c0b4:	53                   	push   %ebx
54c0b5:	56                   	push   %esi
54c0b6:	57                   	push   %edi
54c0b7:	55                   	push   %ebp
54c0b8:	83 c4 f4             	add    $0xfffffff4,%esp
54c0bb:	8b d8                	mov    %eax,%ebx
54c0bd:	33 ff                	xor    %edi,%edi
54c0bf:	8b e9                	mov    %ecx,%ebp
54c0c1:	89 14 24             	mov    %edx,(%esp)
54c0c4:	f6 43 28 01          	testb  $0x1,0x28(%ebx)
54c0c8:	75 0e                	jne    0x54c0d8
54c0ca:	ba 57 b4 69 00       	mov    $0x69b457,%edx
54c0cf:	8b c3                	mov    %ebx,%eax
54c0d1:	e8 ea ed ff ff       	call   0x54aec0
54c0d6:	eb 5e                	jmp    0x54c136
54c0d8:	f6 43 28 04          	testb  $0x4,0x28(%ebx)
54c0dc:	74 1a                	je     0x54c0f8
54c0de:	ba 70 b4 69 00       	mov    $0x69b470,%edx
54c0e3:	8b c3                	mov    %ebx,%eax
54c0e5:	e8 72 ee ff ff       	call   0x54af5c
54c0ea:	8b d5                	mov    %ebp,%edx
54c0ec:	8b c3                	mov    %ebx,%eax
54c0ee:	e8 51 f0 ff ff       	call   0x54b144
54c0f3:	e9 6d 01 00 00       	jmp    0x54c265
54c0f8:	f6 43 28 02          	testb  $0x2,0x28(%ebx)
54c0fc:	74 0e                	je     0x54c10c
54c0fe:	ba 88 b4 69 00       	mov    $0x69b488,%edx
54c103:	8b c3                	mov    %ebx,%eax
54c105:	e8 52 ee ff ff       	call   0x54af5c
54c10a:	eb 2a                	jmp    0x54c136
54c10c:	8b 0c 24             	mov    (%esp),%ecx
54c10f:	85 c9                	test   %ecx,%ecx
54c111:	74 23                	je     0x54c136
54c113:	8b 04 24             	mov    (%esp),%eax
54c116:	f6 40 09 10          	testb  $0x10,0x9(%eax)
54c11a:	74 1a                	je     0x54c136
54c11c:	ba a0 b4 69 00       	mov    $0x69b4a0,%edx
54c121:	8b c3                	mov    %ebx,%eax
54c123:	e8 34 ee ff ff       	call   0x54af5c
54c128:	8b d5                	mov    %ebp,%edx
54c12a:	8b c3                	mov    %ebx,%eax
54c12c:	e8 13 f0 ff ff       	call   0x54b144
54c131:	e9 2f 01 00 00       	jmp    0x54c265
54c136:	8d 55 01             	lea    0x1(%ebp),%edx
54c139:	8b c3                	mov    %ebx,%eax
54c13b:	e8 28 ec ff ff       	call   0x54ad68
54c140:	8b f0                	mov    %eax,%esi
54c142:	8b cd                	mov    %ebp,%ecx
54c144:	8b d6                	mov    %esi,%edx
54c146:	8b c3                	mov    %ebx,%eax
54c148:	e8 d3 ef ff ff       	call   0x54b120
54c14d:	8b d7                	mov    %edi,%edx
54c14f:	8b c3                	mov    %ebx,%eax
54c151:	e8 ee ef ff ff       	call   0x54b144
54c156:	85 c0                	test   %eax,%eax
54c158:	74 0e                	je     0x54c168
54c15a:	8b d6                	mov    %esi,%edx
54c15c:	8b c3                	mov    %ebx,%eax
54c15e:	e8 79 ec ff ff       	call   0x54addc
54c163:	e9 fd 00 00 00       	jmp    0x54c265
54c168:	c6 04 2e 00          	movb   $0x0,(%esi,%ebp,1)
54c16c:	8b fe                	mov    %esi,%edi
54c16e:	eb 01                	jmp    0x54c171
54c170:	47                   	inc    %edi
54c171:	8a 07                	mov    (%edi),%al
54c173:	84 c0                	test   %al,%al
54c175:	75 f9                	jne    0x54c170
54c177:	47                   	inc    %edi
54c178:	8b d5                	mov    %ebp,%edx
54c17a:	03 d6                	add    %esi,%edx
54c17c:	3b fa                	cmp    %edx,%edi
54c17e:	72 1a                	jb     0x54c19a
54c180:	8b d6                	mov    %esi,%edx
54c182:	8b c3                	mov    %ebx,%eax
54c184:	e8 53 ec ff ff       	call   0x54addc
54c189:	ba b5 b4 69 00       	mov    $0x69b4b5,%edx
54c18e:	8b c3                	mov    %ebx,%eax
54c190:	e8 c7 ed ff ff       	call   0x54af5c
54c195:	e9 cb 00 00 00       	jmp    0x54c265
54c19a:	8a 0f                	mov    (%edi),%cl
54c19c:	88 4c 24 04          	mov    %cl,0x4(%esp)
54c1a0:	47                   	inc    %edi
54c1a1:	8a 44 24 04          	mov    0x4(%esp),%al
54c1a5:	84 c0                	test   %al,%al
54c1a7:	74 11                	je     0x54c1ba
54c1a9:	ba ca b4 69 00       	mov    $0x69b4ca,%edx
54c1ae:	8b c3                	mov    %ebx,%eax
54c1b0:	e8 a7 ed ff ff       	call   0x54af5c
54c1b5:	c6 44 24 04 00       	movb   $0x0,0x4(%esp)
54c1ba:	2b fe                	sub    %esi,%edi
54c1bc:	55                   	push   %ebp
54c1bd:	57                   	push   %edi
54c1be:	8d 54 24 10          	lea    0x10(%esp),%edx
54c1c2:	52                   	push   %edx
54c1c3:	33 d2                	xor    %edx,%edx
54c1c5:	8a 54 24 10          	mov    0x10(%esp),%dl
54c1c9:	8b ce                	mov    %esi,%ecx
54c1cb:	8b c3                	mov    %ebx,%eax
54c1cd:	e8 56 f0 ff ff       	call   0x54b228
54c1d2:	8b f0                	mov    %eax,%esi
54c1d4:	8b 44 24 08          	mov    0x8(%esp),%eax
54c1d8:	2b c7                	sub    %edi,%eax
54c1da:	8b 54 24 08          	mov    0x8(%esp),%edx
54c1de:	3b fa                	cmp    %edx,%edi
54c1e0:	77 05                	ja     0x54c1e7
54c1e2:	83 f8 04             	cmp    $0x4,%eax
54c1e5:	73 17                	jae    0x54c1fe
54c1e7:	8b d6                	mov    %esi,%edx
54c1e9:	8b c3                	mov    %ebx,%eax
54c1eb:	e8 ec eb ff ff       	call   0x54addc
54c1f0:	ba fa b4 69 00       	mov    $0x69b4fa,%edx
54c1f5:	8b c3                	mov    %ebx,%eax
54c1f7:	e8 60 ed ff ff       	call   0x54af5c
54c1fc:	eb 67                	jmp    0x54c265
54c1fe:	8b d7                	mov    %edi,%edx
54c200:	03 d6                	add    %esi,%edx
54c202:	33 c9                	xor    %ecx,%ecx
54c204:	8a 0a                	mov    (%edx),%cl
54c206:	c1 e1 18             	shl    $0x18,%ecx
54c209:	0f b6 6a 01          	movzbl 0x1(%edx),%ebp
54c20d:	c1 e5 10             	shl    $0x10,%ebp
54c210:	0b cd                	or     %ebp,%ecx
54c212:	0f b6 6a 02          	movzbl 0x2(%edx),%ebp
54c216:	c1 e5 08             	shl    $0x8,%ebp
54c219:	0b cd                	or     %ebp,%ecx
54c21b:	0f b6 52 03          	movzbl 0x3(%edx),%edx
54c21f:	0b ca                	or     %edx,%ecx
54c221:	8b d1                	mov    %ecx,%edx
54c223:	3b c2                	cmp    %edx,%eax
54c225:	76 02                	jbe    0x54c229
54c227:	8b c2                	mov    %edx,%eax
54c229:	3b c2                	cmp    %edx,%eax
54c22b:	73 17                	jae    0x54c244
54c22d:	8b d6                	mov    %esi,%edx
54c22f:	8b c3                	mov    %ebx,%eax
54c231:	e8 a6 eb ff ff       	call   0x54addc
54c236:	ba 25 b5 69 00       	mov    $0x69b525,%edx
54c23b:	8b c3                	mov    %ebx,%eax
54c23d:	e8 1a ed ff ff       	call   0x54af5c
54c242:	eb 21                	jmp    0x54c265
54c244:	33 c9                	xor    %ecx,%ecx
54c246:	8a 4c 24 04          	mov    0x4(%esp),%cl
54c24a:	51                   	push   %ecx
54c24b:	03 fe                	add    %esi,%edi
54c24d:	57                   	push   %edi
54c24e:	50                   	push   %eax
54c24f:	8b ce                	mov    %esi,%ecx
54c251:	8b 54 24 0c          	mov    0xc(%esp),%edx
54c255:	8b c3                	mov    %ebx,%eax
54c257:	e8 c8 80 ff ff       	call   0x544324
54c25c:	8b d6                	mov    %esi,%edx
54c25e:	8b c3                	mov    %ebx,%eax
54c260:	e8 77 eb ff ff       	call   0x54addc
54c265:	83 c4 0c             	add    $0xc,%esp
54c268:	5d                   	pop    %ebp
54c269:	5f                   	pop    %edi
54c26a:	5e                   	pop    %esi
54c26b:	5b                   	pop    %ebx
54c26c:	c3                   	ret
54c26d:	90                   	nop
54c26e:	90                   	nop
54c26f:	90                   	nop
54c270:	53                   	push   %ebx
54c271:	56                   	push   %esi
54c272:	57                   	push   %edi
54c273:	55                   	push   %ebp
54c274:	83 c4 e8             	add    $0xffffffe8,%esp
54c277:	8b f8                	mov    %eax,%edi
54c279:	33 db                	xor    %ebx,%ebx
54c27b:	8b f1                	mov    %ecx,%esi
54c27d:	89 14 24             	mov    %edx,(%esp)
54c280:	f6 47 28 01          	testb  $0x1,0x28(%edi)
54c284:	75 0e                	jne    0x54c294
54c286:	ba 47 b5 69 00       	mov    $0x69b547,%edx
54c28b:	8b c7                	mov    %edi,%eax
54c28d:	e8 2e ec ff ff       	call   0x54aec0
54c292:	eb 20                	jmp    0x54c2b4
54c294:	f6 47 28 04          	testb  $0x4,0x28(%edi)
54c298:	74 1a                	je     0x54c2b4
54c29a:	ba 60 b5 69 00       	mov    $0x69b560,%edx
54c29f:	8b c7                	mov    %edi,%eax
54c2a1:	e8 b6 ec ff ff       	call   0x54af5c
54c2a6:	8b d6                	mov    %esi,%edx
54c2a8:	8b c7                	mov    %edi,%eax
54c2aa:	e8 95 ee ff ff       	call   0x54b144
54c2af:	e9 9c 01 00 00       	jmp    0x54c450
54c2b4:	8d 56 01             	lea    0x1(%esi),%edx
54c2b7:	8b c7                	mov    %edi,%eax
54c2b9:	e8 aa ea ff ff       	call   0x54ad68
54c2be:	89 44 24 04          	mov    %eax,0x4(%esp)
54c2c2:	8b ce                	mov    %esi,%ecx
54c2c4:	8b 54 24 04          	mov    0x4(%esp),%edx
54c2c8:	8b c7                	mov    %edi,%eax
54c2ca:	e8 51 ee ff ff       	call   0x54b120
54c2cf:	8b d3                	mov    %ebx,%edx
54c2d1:	8b c7                	mov    %edi,%eax
54c2d3:	e8 6c ee ff ff       	call   0x54b144
54c2d8:	85 c0                	test   %eax,%eax
54c2da:	74 10                	je     0x54c2ec
54c2dc:	8b 54 24 04          	mov    0x4(%esp),%edx
54c2e0:	8b c7                	mov    %edi,%eax
54c2e2:	e8 f5 ea ff ff       	call   0x54addc
54c2e7:	e9 64 01 00 00       	jmp    0x54c450
54c2ec:	8b 4c 24 04          	mov    0x4(%esp),%ecx
54c2f0:	c6 04 31 00          	movb   $0x0,(%ecx,%esi,1)
54c2f4:	8b 5c 24 04          	mov    0x4(%esp),%ebx
54c2f8:	eb 01                	jmp    0x54c2fb
54c2fa:	43                   	inc    %ebx
54c2fb:	8a 03                	mov    (%ebx),%al
54c2fd:	84 c0                	test   %al,%al
54c2ff:	75 f9                	jne    0x54c2fa
54c301:	43                   	inc    %ebx
54c302:	8b 54 24 04          	mov    0x4(%esp),%edx
54c306:	03 d6                	add    %esi,%edx
54c308:	3b da                	cmp    %edx,%ebx
54c30a:	76 1c                	jbe    0x54c328
54c30c:	8b 54 24 04          	mov    0x4(%esp),%edx
54c310:	8b c7                	mov    %edi,%eax
54c312:	e8 c5 ea ff ff       	call   0x54addc
54c317:	ba 78 b5 69 00       	mov    $0x69b578,%edx
54c31c:	8b c7                	mov    %edi,%eax
54c31e:	e8 39 ec ff ff       	call   0x54af5c
54c323:	e9 28 01 00 00       	jmp    0x54c450
54c328:	8a 03                	mov    (%ebx),%al
54c32a:	88 44 24 0c          	mov    %al,0xc(%esp)
54c32e:	43                   	inc    %ebx
54c32f:	3c 08                	cmp    $0x8,%al
54c331:	75 07                	jne    0x54c33a
54c333:	b9 06 00 00 00       	mov    $0x6,%ecx
54c338:	eb 05                	jmp    0x54c33f
54c33a:	b9 0a 00 00 00       	mov    $0xa,%ecx
54c33f:	8b c3                	mov    %ebx,%eax
54c341:	8b 54 24 04          	mov    0x4(%esp),%edx
54c345:	2b c2                	sub    %edx,%eax
54c347:	8b ee                	mov    %esi,%ebp
54c349:	2b e8                	sub    %eax,%ebp
54c34b:	8b c5                	mov    %ebp,%eax
54c34d:	99                   	cltd
54c34e:	f7 f9                	idiv   %ecx
54c350:	85 d2                	test   %edx,%edx
54c352:	74 1c                	je     0x54c370
54c354:	8b 54 24 04          	mov    0x4(%esp),%edx
54c358:	8b c7                	mov    %edi,%eax
54c35a:	e8 7d ea ff ff       	call   0x54addc
54c35f:	ba 8d b5 69 00       	mov    $0x69b58d,%edx
54c364:	8b c7                	mov    %edi,%eax
54c366:	e8 f1 eb ff ff       	call   0x54af5c
54c36b:	e9 e0 00 00 00       	jmp    0x54c450
54c370:	8b c5                	mov    %ebp,%eax
54c372:	99                   	cltd
54c373:	f7 f9                	idiv   %ecx
54c375:	8b f0                	mov    %eax,%esi
54c377:	8b c7                	mov    %edi,%eax
54c379:	8b d6                	mov    %esi,%edx
54c37b:	89 74 24 14          	mov    %esi,0x14(%esp)
54c37f:	03 d2                	add    %edx,%edx
54c381:	8d 14 92             	lea    (%edx,%edx,4),%edx
54c384:	e8 df e9 ff ff       	call   0x54ad68
54c389:	89 44 24 10          	mov    %eax,0x10(%esp)
54c38d:	33 ed                	xor    %ebp,%ebp
54c38f:	e9 81 00 00 00       	jmp    0x54c415
54c394:	8b f5                	mov    %ebp,%esi
54c396:	03 f6                	add    %esi,%esi
54c398:	8d 34 b6             	lea    (%esi,%esi,4),%esi
54c39b:	8b 44 24 10          	mov    0x10(%esp),%eax
54c39f:	03 f0                	add    %eax,%esi
54c3a1:	8a 54 24 0c          	mov    0xc(%esp),%dl
54c3a5:	80 fa 08             	cmp    $0x8,%dl
54c3a8:	75 25                	jne    0x54c3cf
54c3aa:	33 c9                	xor    %ecx,%ecx
54c3ac:	33 c0                	xor    %eax,%eax
54c3ae:	8a 0b                	mov    (%ebx),%cl
54c3b0:	43                   	inc    %ebx
54c3b1:	66 89 0e             	mov    %cx,(%esi)
54c3b4:	33 d2                	xor    %edx,%edx
54c3b6:	8a 03                	mov    (%ebx),%al
54c3b8:	43                   	inc    %ebx
54c3b9:	66 89 46 02          	mov    %ax,0x2(%esi)
54c3bd:	33 c9                	xor    %ecx,%ecx
54c3bf:	8a 13                	mov    (%ebx),%dl
54c3c1:	43                   	inc    %ebx
54c3c2:	66 89 56 04          	mov    %dx,0x4(%esi)
54c3c6:	8a 0b                	mov    (%ebx),%cl
54c3c8:	43                   	inc    %ebx
54c3c9:	66 89 4e 06          	mov    %cx,0x6(%esi)
54c3cd:	eb 37                	jmp    0x54c406
54c3cf:	8b c3                	mov    %ebx,%eax
54c3d1:	e8 36 ed ff ff       	call   0x54b10c
54c3d6:	66 89 06             	mov    %ax,(%esi)
54c3d9:	83 c3 02             	add    $0x2,%ebx
54c3dc:	8b c3                	mov    %ebx,%eax
54c3de:	e8 29 ed ff ff       	call   0x54b10c
54c3e3:	66 89 46 02          	mov    %ax,0x2(%esi)
54c3e7:	83 c3 02             	add    $0x2,%ebx
54c3ea:	8b c3                	mov    %ebx,%eax
54c3ec:	e8 1b ed ff ff       	call   0x54b10c
54c3f1:	66 89 46 04          	mov    %ax,0x4(%esi)
54c3f5:	83 c3 02             	add    $0x2,%ebx
54c3f8:	8b c3                	mov    %ebx,%eax
54c3fa:	e8 0d ed ff ff       	call   0x54b10c
54c3ff:	66 89 46 06          	mov    %ax,0x6(%esi)
54c403:	83 c3 02             	add    $0x2,%ebx
54c406:	8b c3                	mov    %ebx,%eax
54c408:	e8 ff ec ff ff       	call   0x54b10c
54c40d:	66 89 46 08          	mov    %ax,0x8(%esi)
54c411:	83 c3 02             	add    $0x2,%ebx
54c414:	45                   	inc    %ebp
54c415:	8b 54 24 14          	mov    0x14(%esp),%edx
54c419:	3b ea                	cmp    %edx,%ebp
54c41b:	0f 8c 73 ff ff ff    	jl     0x54c394
54c421:	8b 4c 24 04          	mov    0x4(%esp),%ecx
54c425:	89 4c 24 08          	mov    %ecx,0x8(%esp)
54c429:	6a 01                	push   $0x1
54c42b:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
54c42f:	8b 54 24 04          	mov    0x4(%esp),%edx
54c433:	8b c7                	mov    %edi,%eax
54c435:	e8 be 82 ff ff       	call   0x5446f8
54c43a:	8b 54 24 04          	mov    0x4(%esp),%edx
54c43e:	8b c7                	mov    %edi,%eax
54c440:	e8 97 e9 ff ff       	call   0x54addc
54c445:	8b 54 24 10          	mov    0x10(%esp),%edx
54c449:	8b c7                	mov    %edi,%eax
54c44b:	e8 8c e9 ff ff       	call   0x54addc
54c450:	83 c4 18             	add    $0x18,%esp
54c453:	5d                   	pop    %ebp
54c454:	5f                   	pop    %edi
54c455:	5e                   	pop    %esi
54c456:	5b                   	pop    %ebx
54c457:	c3                   	ret