408fe0:	53                   	push   %ebx
408fe1:	56                   	push   %esi
408fe2:	8b 44 24 18          	mov    0x18(%esp),%eax
408fe6:	0b c0                	or     %eax,%eax
408fe8:	75 18                	jne    0x409002
408fea:	8b 4c 24 14          	mov    0x14(%esp),%ecx
408fee:	8b 44 24 10          	mov    0x10(%esp),%eax
408ff2:	33 d2                	xor    %edx,%edx
408ff4:	f7 f1                	div    %ecx
408ff6:	8b d8                	mov    %eax,%ebx
408ff8:	8b 44 24 0c          	mov    0xc(%esp),%eax
408ffc:	f7 f1                	div    %ecx
408ffe:	8b d3                	mov    %ebx,%edx
409000:	eb 41                	jmp    0x409043
409002:	8b c8                	mov    %eax,%ecx
409004:	8b 5c 24 14          	mov    0x14(%esp),%ebx
409008:	8b 54 24 10          	mov    0x10(%esp),%edx
40900c:	8b 44 24 0c          	mov    0xc(%esp),%eax
409010:	d1 e9                	shr    $1,%ecx
409012:	d1 db                	rcr    $1,%ebx
409014:	d1 ea                	shr    $1,%edx
409016:	d1 d8                	rcr    $1,%eax
409018:	0b c9                	or     %ecx,%ecx
40901a:	75 f4                	jne    0x409010
40901c:	f7 f3                	div    %ebx
40901e:	8b f0                	mov    %eax,%esi
409020:	f7 64 24 18          	mull   0x18(%esp)
409024:	8b c8                	mov    %eax,%ecx
409026:	8b 44 24 14          	mov    0x14(%esp),%eax
40902a:	f7 e6                	mul    %esi
40902c:	03 d1                	add    %ecx,%edx
40902e:	72 0e                	jb     0x40903e
409030:	3b 54 24 10          	cmp    0x10(%esp),%edx
409034:	77 08                	ja     0x40903e
409036:	72 07                	jb     0x40903f
409038:	3b 44 24 0c          	cmp    0xc(%esp),%eax
40903c:	76 01                	jbe    0x40903f
40903e:	4e                   	dec    %esi
40903f:	33 d2                	xor    %edx,%edx
409041:	8b c6                	mov    %esi,%eax
409043:	5e                   	pop    %esi
409044:	5b                   	pop    %ebx
409045:	c2 10 00             	ret    $0x10
409048:	ff 25 50 a1 40 00    	jmp    *0x40a150
40904e:	ff 25 4c a1 40 00    	jmp    *0x40a14c
409054:	ff 25 3c a1 40 00    	jmp    *0x40a13c
40905a:	83 3d 30 d8 40 00 ff 	cmpl   $0xffffffff,0x40d830
409061:	75 0c                	jne    0x40906f
409063:	ff 74 24 04          	push   0x4(%esp)
409067:	ff 15 90 a1 40 00    	call   *0x40a190
40906d:	59                   	pop    %ecx
40906e:	c3                   	ret
40906f:	68 2c d8 40 00       	push   $0x40d82c
409074:	68 30 d8 40 00       	push   $0x40d830
409079:	ff 74 24 0c          	push   0xc(%esp)
40907d:	e8 36 03 00 00       	call   0x4093b8
409082:	83 c4 0c             	add    $0xc,%esp
409085:	c3                   	ret
409086:	ff 74 24 04          	push   0x4(%esp)
40908a:	e8 cb ff ff ff       	call   0x40905a
40908f:	f7 d8                	neg    %eax
409091:	1b c0                	sbb    %eax,%eax
409093:	59                   	pop    %ecx
409094:	f7 d8                	neg    %eax
409096:	48                   	dec    %eax
409097:	c3                   	ret
409098:	cc                   	int3
409099:	cc                   	int3
40909a:	cc                   	int3
40909b:	cc                   	int3
40909c:	cc                   	int3
40909d:	cc                   	int3
40909e:	cc                   	int3
40909f:	cc                   	int3
4090a0:	57                   	push   %edi
4090a1:	56                   	push   %esi
4090a2:	53                   	push   %ebx
4090a3:	33 ff                	xor    %edi,%edi
4090a5:	8b 44 24 14          	mov    0x14(%esp),%eax
4090a9:	0b c0                	or     %eax,%eax
4090ab:	7d 14                	jge    0x4090c1
4090ad:	47                   	inc    %edi
4090ae:	8b 54 24 10          	mov    0x10(%esp),%edx
4090b2:	f7 d8                	neg    %eax
4090b4:	f7 da                	neg    %edx
4090b6:	83 d8 00             	sbb    $0x0,%eax
4090b9:	89 44 24 14          	mov    %eax,0x14(%esp)
4090bd:	89 54 24 10          	mov    %edx,0x10(%esp)
4090c1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4090c5:	0b c0                	or     %eax,%eax
4090c7:	7d 14                	jge    0x4090dd
4090c9:	47                   	inc    %edi
4090ca:	8b 54 24 18          	mov    0x18(%esp),%edx
4090ce:	f7 d8                	neg    %eax
4090d0:	f7 da                	neg    %edx
4090d2:	83 d8 00             	sbb    $0x0,%eax
4090d5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4090d9:	89 54 24 18          	mov    %edx,0x18(%esp)
4090dd:	0b c0                	or     %eax,%eax
4090df:	75 18                	jne    0x4090f9
4090e1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4090e5:	8b 44 24 14          	mov    0x14(%esp),%eax
4090e9:	33 d2                	xor    %edx,%edx
4090eb:	f7 f1                	div    %ecx
4090ed:	8b d8                	mov    %eax,%ebx
4090ef:	8b 44 24 10          	mov    0x10(%esp),%eax
4090f3:	f7 f1                	div    %ecx
4090f5:	8b d3                	mov    %ebx,%edx
4090f7:	eb 41                	jmp    0x40913a
4090f9:	8b d8                	mov    %eax,%ebx
4090fb:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4090ff:	8b 54 24 14          	mov    0x14(%esp),%edx
409103:	8b 44 24 10          	mov    0x10(%esp),%eax
409107:	d1 eb                	shr    $1,%ebx
409109:	d1 d9                	rcr    $1,%ecx
40910b:	d1 ea                	shr    $1,%edx
40910d:	d1 d8                	rcr    $1,%eax
40910f:	0b db                	or     %ebx,%ebx
409111:	75 f4                	jne    0x409107
409113:	f7 f1                	div    %ecx
409115:	8b f0                	mov    %eax,%esi
409117:	f7 64 24 1c          	mull   0x1c(%esp)
40911b:	8b c8                	mov    %eax,%ecx
40911d:	8b 44 24 18          	mov    0x18(%esp),%eax
409121:	f7 e6                	mul    %esi
409123:	03 d1                	add    %ecx,%edx
409125:	72 0e                	jb     0x409135
409127:	3b 54 24 14          	cmp    0x14(%esp),%edx
40912b:	77 08                	ja     0x409135
40912d:	72 07                	jb     0x409136
40912f:	3b 44 24 10          	cmp    0x10(%esp),%eax
409133:	76 01                	jbe    0x409136
409135:	4e                   	dec    %esi
409136:	33 d2                	xor    %edx,%edx
409138:	8b c6                	mov    %esi,%eax
40913a:	4f                   	dec    %edi
40913b:	75 07                	jne    0x409144
40913d:	f7 da                	neg    %edx
40913f:	f7 d8                	neg    %eax
409141:	83 da 00             	sbb    $0x0,%edx
409144:	5b                   	pop    %ebx
409145:	5e                   	pop    %esi
409146:	5f                   	pop    %edi
409147:	c2 10 00             	ret    $0x10
40914a:	ff 25 24 a1 40 00    	jmp    *0x40a124
409150:	ff 25 7c a1 40 00    	jmp    *0x40a17c
409156:	cc                   	int3
409157:	cc                   	int3
409158:	cc                   	int3
409159:	cc                   	int3
40915a:	cc                   	int3
40915b:	cc                   	int3
40915c:	cc                   	int3
40915d:	cc                   	int3
40915e:	cc                   	int3
40915f:	cc                   	int3
409160:	53                   	push   %ebx
409161:	57                   	push   %edi
409162:	33 ff                	xor    %edi,%edi
409164:	8b 44 24 10          	mov    0x10(%esp),%eax
409168:	0b c0                	or     %eax,%eax
40916a:	7d 14                	jge    0x409180
40916c:	47                   	inc    %edi
40916d:	8b 54 24 0c          	mov    0xc(%esp),%edx
409171:	f7 d8                	neg    %eax
409173:	f7 da                	neg    %edx
409175:	83 d8 00             	sbb    $0x0,%eax
409178:	89 44 24 10          	mov    %eax,0x10(%esp)
40917c:	89 54 24 0c          	mov    %edx,0xc(%esp)
409180:	8b 44 24 18          	mov    0x18(%esp),%eax
409184:	0b c0                	or     %eax,%eax
409186:	7d 13                	jge    0x40919b
409188:	8b 54 24 14          	mov    0x14(%esp),%edx
40918c:	f7 d8                	neg    %eax
40918e:	f7 da                	neg    %edx
409190:	83 d8 00             	sbb    $0x0,%eax
409193:	89 44 24 18          	mov    %eax,0x18(%esp)
409197:	89 54 24 14          	mov    %edx,0x14(%esp)
40919b:	0b c0                	or     %eax,%eax
40919d:	75 1b                	jne    0x4091ba
40919f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4091a3:	8b 44 24 10          	mov    0x10(%esp),%eax
4091a7:	33 d2                	xor    %edx,%edx
4091a9:	f7 f1                	div    %ecx
4091ab:	8b 44 24 0c          	mov    0xc(%esp),%eax
4091af:	f7 f1                	div    %ecx
4091b1:	8b c2                	mov    %edx,%eax
4091b3:	33 d2                	xor    %edx,%edx
4091b5:	4f                   	dec    %edi
4091b6:	79 4e                	jns    0x409206
4091b8:	eb 53                	jmp    0x40920d
4091ba:	8b d8                	mov    %eax,%ebx
4091bc:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4091c0:	8b 54 24 10          	mov    0x10(%esp),%edx
4091c4:	8b 44 24 0c          	mov    0xc(%esp),%eax
4091c8:	d1 eb                	shr    $1,%ebx
4091ca:	d1 d9                	rcr    $1,%ecx
4091cc:	d1 ea                	shr    $1,%edx
4091ce:	d1 d8                	rcr    $1,%eax
4091d0:	0b db                	or     %ebx,%ebx
4091d2:	75 f4                	jne    0x4091c8
4091d4:	f7 f1                	div    %ecx
4091d6:	8b c8                	mov    %eax,%ecx
4091d8:	f7 64 24 18          	mull   0x18(%esp)
4091dc:	91                   	xchg   %eax,%ecx
4091dd:	f7 64 24 14          	mull   0x14(%esp)
4091e1:	03 d1                	add    %ecx,%edx
4091e3:	72 0e                	jb     0x4091f3
4091e5:	3b 54 24 10          	cmp    0x10(%esp),%edx
4091e9:	77 08                	ja     0x4091f3
4091eb:	72 0e                	jb     0x4091fb
4091ed:	3b 44 24 0c          	cmp    0xc(%esp),%eax
4091f1:	76 08                	jbe    0x4091fb
4091f3:	2b 44 24 14          	sub    0x14(%esp),%eax
4091f7:	1b 54 24 18          	sbb    0x18(%esp),%edx
4091fb:	2b 44 24 0c          	sub    0xc(%esp),%eax
4091ff:	1b 54 24 10          	sbb    0x10(%esp),%edx
409203:	4f                   	dec    %edi
409204:	79 07                	jns    0x40920d
409206:	f7 da                	neg    %edx
409208:	f7 d8                	neg    %eax
40920a:	83 da 00             	sbb    $0x0,%edx
40920d:	5f                   	pop    %edi
40920e:	5b                   	pop    %ebx
40920f:	c2 10 00             	ret    $0x10
409212:	cc                   	int3
409213:	cc                   	int3
409214:	cc                   	int3
409215:	cc                   	int3
409216:	cc                   	int3
409217:	cc                   	int3
409218:	cc                   	int3
409219:	cc                   	int3
40921a:	cc                   	int3
40921b:	cc                   	int3
40921c:	cc                   	int3
40921d:	cc                   	int3
40921e:	cc                   	int3
40921f:	cc                   	int3
409220:	8b 44 24 08          	mov    0x8(%esp),%eax
409224:	8b 4c 24 10          	mov    0x10(%esp),%ecx
409228:	0b c8                	or     %eax,%ecx
40922a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40922e:	75 09                	jne    0x409239
409230:	8b 44 24 04          	mov    0x4(%esp),%eax
409234:	f7 e1                	mul    %ecx
409236:	c2 10 00             	ret    $0x10
409239:	53                   	push   %ebx
40923a:	f7 e1                	mul    %ecx
40923c:	8b d8                	mov    %eax,%ebx
40923e:	8b 44 24 08          	mov    0x8(%esp),%eax
409242:	f7 64 24 14          	mull   0x14(%esp)
409246:	03 d8                	add    %eax,%ebx
409248:	8b 44 24 08          	mov    0x8(%esp),%eax
40924c:	f7 e1                	mul    %ecx
40924e:	03 d3                	add    %ebx,%edx
409250:	5b                   	pop    %ebx
409251:	c2 10 00             	ret    $0x10
409254:	55                   	push   %ebp
409255:	8b ec                	mov    %esp,%ebp
409257:	6a ff                	push   $0xffffffff
409259:	68 c0 a3 40 00       	push   $0x40a3c0
40925e:	68 e0 93 40 00       	push   $0x4093e0
409263:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409269:	50                   	push   %eax
40926a:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409271:	83 ec 68             	sub    $0x68,%esp
409274:	53                   	push   %ebx
409275:	56                   	push   %esi
409276:	57                   	push   %edi
409277:	89 65 e8             	mov    %esp,-0x18(%ebp)
40927a:	33 db                	xor    %ebx,%ebx
40927c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40927f:	6a 02                	push   $0x2
409281:	ff 15 bc a1 40 00    	call   *0x40a1bc
409287:	59                   	pop    %ecx
409288:	83 0d 2c d8 40 00 ff 	orl    $0xffffffff,0x40d82c
40928f:	83 0d 30 d8 40 00 ff 	orl    $0xffffffff,0x40d830
409296:	ff 15 b8 a1 40 00    	call   *0x40a1b8
40929c:	8b 0d 24 d8 40 00    	mov    0x40d824,%ecx
4092a2:	89 08                	mov    %ecx,(%eax)
4092a4:	ff 15 b4 a1 40 00    	call   *0x40a1b4
4092aa:	8b 0d 20 d8 40 00    	mov    0x40d820,%ecx
4092b0:	89 08                	mov    %ecx,(%eax)
4092b2:	a1 b0 a1 40 00       	mov    0x40a1b0,%eax
4092b7:	8b 00                	mov    (%eax),%eax
4092b9:	a3 28 d8 40 00       	mov    %eax,0x40d828
4092be:	e8 1c 01 00 00       	call   0x4093df
4092c3:	39 1d d0 d4 40 00    	cmp    %ebx,0x40d4d0
4092c9:	75 0c                	jne    0x4092d7
4092cb:	68 dc 93 40 00       	push   $0x4093dc
4092d0:	ff 15 ac a1 40 00    	call   *0x40a1ac
4092d6:	59                   	pop    %ecx
4092d7:	e8 ee 00 00 00       	call   0x4093ca
4092dc:	68 10 c0 40 00       	push   $0x40c010
4092e1:	68 0c c0 40 00       	push   $0x40c00c
4092e6:	e8 d9 00 00 00       	call   0x4093c4
4092eb:	a1 1c d8 40 00       	mov    0x40d81c,%eax
4092f0:	89 45 94             	mov    %eax,-0x6c(%ebp)
4092f3:	8d 45 94             	lea    -0x6c(%ebp),%eax
4092f6:	50                   	push   %eax
4092f7:	ff 35 18 d8 40 00    	push   0x40d818
4092fd:	8d 45 9c             	lea    -0x64(%ebp),%eax
409300:	50                   	push   %eax
409301:	8d 45 90             	lea    -0x70(%ebp),%eax
409304:	50                   	push   %eax
409305:	8d 45 a0             	lea    -0x60(%ebp),%eax
409308:	50                   	push   %eax
409309:	ff 15 a4 a1 40 00    	call   *0x40a1a4
40930f:	68 08 c0 40 00       	push   $0x40c008
409314:	68 00 c0 40 00       	push   $0x40c000
409319:	e8 a6 00 00 00       	call   0x4093c4
40931e:	83 c4 24             	add    $0x24,%esp
409321:	a1 a0 a1 40 00       	mov    0x40a1a0,%eax
409326:	8b 30                	mov    (%eax),%esi
409328:	89 75 8c             	mov    %esi,-0x74(%ebp)
40932b:	80 3e 22             	cmpb   $0x22,(%esi)
40932e:	75 3a                	jne    0x40936a
409330:	46                   	inc    %esi
409331:	89 75 8c             	mov    %esi,-0x74(%ebp)
409334:	8a 06                	mov    (%esi),%al
409336:	3a c3                	cmp    %bl,%al
409338:	74 04                	je     0x40933e
40933a:	3c 22                	cmp    $0x22,%al
40933c:	75 f2                	jne    0x409330
40933e:	80 3e 22             	cmpb   $0x22,(%esi)
409341:	75 04                	jne    0x409347
409343:	46                   	inc    %esi
409344:	89 75 8c             	mov    %esi,-0x74(%ebp)
409347:	8a 06                	mov    (%esi),%al
409349:	3a c3                	cmp    %bl,%al
40934b:	74 04                	je     0x409351
40934d:	3c 20                	cmp    $0x20,%al
40934f:	76 f2                	jbe    0x409343
409351:	89 5d d0             	mov    %ebx,-0x30(%ebp)
409354:	8d 45 a4             	lea    -0x5c(%ebp),%eax
409357:	50                   	push   %eax
409358:	ff 15 d0 a0 40 00    	call   *0x40a0d0
40935e:	f6 45 d0 01          	testb  $0x1,-0x30(%ebp)
409362:	74 11                	je     0x409375
409364:	0f b7 45 d4          	movzwl -0x2c(%ebp),%eax
409368:	eb 0e                	jmp    0x409378
40936a:	80 3e 20             	cmpb   $0x20,(%esi)
40936d:	76 d8                	jbe    0x409347
40936f:	46                   	inc    %esi
409370:	89 75 8c             	mov    %esi,-0x74(%ebp)
409373:	eb f5                	jmp    0x40936a
409375:	6a 0a                	push   $0xa
409377:	58                   	pop    %eax
409378:	50                   	push   %eax