40dfc7:	8b ce                	mov    %esi,%ecx
40dfc9:	57                   	push   %edi
40dfca:	e8 31 0f 00 00       	call   0x40ef00
40dfcf:	85 db                	test   %ebx,%ebx
40dfd1:	78 df                	js     0x40dfb2
40dfd3:	e9 9e 8d 06 00       	jmp    0x476d76
40dfd8:	cc                   	int3
40dfd9:	cc                   	int3
40dfda:	cc                   	int3
40dfdb:	cc                   	int3
40dfdc:	cc                   	int3
40dfdd:	cc                   	int3
40dfde:	cc                   	int3
40dfdf:	cc                   	int3
40dfe0:	53                   	push   %ebx
40dfe1:	8b d9                	mov    %ecx,%ebx
40dfe3:	83 7b 0c 05          	cmpl   $0x5,0xc(%ebx)
40dfe7:	75 67                	jne    0x40e050
40dfe9:	8b 03                	mov    (%ebx),%eax
40dfeb:	8b 40 04             	mov    0x4(%eax),%eax
40dfee:	85 c0                	test   %eax,%eax
40dff0:	74 38                	je     0x40e02a
40dff2:	ff 08                	decl   (%eax)
40dff4:	75 34                	jne    0x40e02a
40dff6:	8b 03                	mov    (%ebx),%eax
40dff8:	56                   	push   %esi
40dff9:	33 f6                	xor    %esi,%esi
40dffb:	39 70 08             	cmp    %esi,0x8(%eax)
40dffe:	7e 13                	jle    0x40e013
40e000:	57                   	push   %edi
40e001:	8b 00                	mov    (%eax),%eax
40e003:	8b 3c b0             	mov    (%eax,%esi,4),%edi
40e006:	85 ff                	test   %edi,%edi
40e008:	75 48                	jne    0x40e052
40e00a:	8b 03                	mov    (%ebx),%eax
40e00c:	46                   	inc    %esi
40e00d:	3b 70 08             	cmp    0x8(%eax),%esi
40e010:	7c ef                	jl     0x40e001
40e012:	5f                   	pop    %edi
40e013:	8b 03                	mov    (%ebx),%eax
40e015:	ff 30                	push   (%eax)
40e017:	e8 42 15 01 00       	call   0x41f55e
40e01c:	8b 03                	mov    (%ebx),%eax
40e01e:	ff 70 04             	push   0x4(%eax)
40e021:	e8 38 15 01 00       	call   0x41f55e
40e026:	83 c4 08             	add    $0x8,%esp
40e029:	5e                   	pop    %esi
40e02a:	8b 03                	mov    (%ebx),%eax
40e02c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40e032:	8b 03                	mov    (%ebx),%eax
40e034:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
40e03b:	8b 03                	mov    (%ebx),%eax
40e03d:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
40e044:	8b 03                	mov    (%ebx),%eax
40e046:	c7 80 0c 02 00 00 00 	movl   $0x0,0x20c(%eax)
40e04d:	00 00 00
40e050:	5b                   	pop    %ebx
40e051:	c3                   	ret
40e052:	8b cf                	mov    %edi,%ecx
40e054:	e8 17 00 00 00       	call   0x40e070
40e059:	57                   	push   %edi
40e05a:	e8 ff 14 01 00       	call   0x41f55e
40e05f:	83 c4 04             	add    $0x4,%esp
40e062:	eb a6                	jmp    0x40e00a
40e064:	cc                   	int3
40e065:	cc                   	int3
40e066:	cc                   	int3
40e067:	cc                   	int3
40e068:	cc                   	int3
40e069:	cc                   	int3
40e06a:	cc                   	int3
40e06b:	cc                   	int3
40e06c:	cc                   	int3
40e06d:	cc                   	int3
40e06e:	cc                   	int3
40e06f:	cc                   	int3
40e070:	56                   	push   %esi
40e071:	8b f1                	mov    %ecx,%esi
40e073:	57                   	push   %edi
40e074:	8b 7e 08             	mov    0x8(%esi),%edi
40e077:	85 ff                	test   %edi,%edi
40e079:	74 2f                	je     0x40e0aa
40e07b:	8b 47 0c             	mov    0xc(%edi),%eax
40e07e:	ff 08                	decl   (%eax)
40e080:	8b 47 0c             	mov    0xc(%edi),%eax
40e083:	83 38 00             	cmpl   $0x0,(%eax)
40e086:	75 12                	jne    0x40e09a
40e088:	ff 37                	push   (%edi)
40e08a:	e8 cf 14 01 00       	call   0x41f55e
40e08f:	ff 77 0c             	push   0xc(%edi)
40e092:	e8 c7 14 01 00       	call   0x41f55e
40e097:	83 c4 08             	add    $0x8,%esp
40e09a:	57                   	push   %edi
40e09b:	e8 be 14 01 00       	call   0x41f55e
40e0a0:	83 c4 04             	add    $0x4,%esp
40e0a3:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40e0aa:	8b 46 0c             	mov    0xc(%esi),%eax
40e0ad:	83 f8 05             	cmp    $0x5,%eax
40e0b0:	7d 10                	jge    0x40e0c2
40e0b2:	5f                   	pop    %edi
40e0b3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
40e0ba:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40e0c0:	5e                   	pop    %esi
40e0c1:	c3                   	ret
40e0c2:	83 e8 05             	sub    $0x5,%eax
40e0c5:	83 f8 0a             	cmp    $0xa,%eax
40e0c8:	77 e8                	ja     0x40e0b2
40e0ca:	ff 24 85 e8 e0 40 00 	jmp    *0x40e0e8(,%eax,4)
40e0d1:	8b ce                	mov    %esi,%ecx
40e0d3:	e8 e6 fb 00 00       	call   0x41dcbe
40e0d8:	5f                   	pop    %edi
40e0d9:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
40e0e0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40e0e6:	5e                   	pop    %esi
40e0e7:	c3                   	ret
40e0e8:	d1 e0                	shl    $1,%eax
40e0ea:	40                   	inc    %eax
40e0eb:	00 b2 e0 40 00 b2    	add    %dh,-0x4dffbf20(%edx)
40e0f1:	e0 40                	loopne 0x40e133
40e0f3:	00 ec                	add    %ch,%ah
40e0f5:	44                   	inc    %esp
40e0f6:	47                   	inc    %edi
40e0f7:	00 b2 e0 40 00 0c    	add    %dh,0xc0040e0(%edx)
40e0fd:	45                   	inc    %ebp
40e0fe:	47                   	inc    %edi
40e0ff:	00 21                	add    %ah,(%ecx)
40e101:	45                   	inc    %ebp
40e102:	47                   	inc    %edi
40e103:	00 3a                	add    %bh,(%edx)
40e105:	45                   	inc    %ebp
40e106:	47                   	inc    %edi
40e107:	00 64 45 47          	add    %ah,0x47(%ebp,%eax,2)
40e10b:	00 64 45 47          	add    %ah,0x47(%ebp,%eax,2)
40e10f:	00 4f 45             	add    %cl,0x45(%edi)
40e112:	47                   	inc    %edi
40e113:	00 cc                	add    %cl,%ah
40e115:	cc                   	int3
40e116:	cc                   	int3
40e117:	cc                   	int3
40e118:	cc                   	int3
40e119:	cc                   	int3
40e11a:	cc                   	int3
40e11b:	cc                   	int3
40e11c:	cc                   	int3
40e11d:	cc                   	int3
40e11e:	cc                   	int3
40e11f:	cc                   	int3
40e120:	55                   	push   %ebp
40e121:	8b ec                	mov    %esp,%ebp
40e123:	83 ec 2c             	sub    $0x2c,%esp
40e126:	80 b9 69 01 00 00 00 	cmpb   $0x0,0x169(%ecx)
40e12d:	53                   	push   %ebx
40e12e:	8d 91 60 01 00 00    	lea    0x160(%ecx),%edx
40e134:	56                   	push   %esi
40e135:	57                   	push   %edi
40e136:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40e13d:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40e144:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40e14b:	89 55 fc             	mov    %edx,-0x4(%ebp)
40e14e:	0f 85 c2 9a 06 00    	jne    0x477c16
40e154:	8b 5a 04             	mov    0x4(%edx),%ebx
40e157:	83 7b 2c 08          	cmpl   $0x8,0x2c(%ebx)
40e15b:	8b 7b 0c             	mov    0xc(%ebx),%edi
40e15e:	89 7d f8             	mov    %edi,-0x8(%ebp)
40e161:	0f 84 ba 9a 06 00    	je     0x477c21
40e167:	8b 43 1c             	mov    0x1c(%ebx),%eax
40e16a:	83 f8 05             	cmp    $0x5,%eax
40e16d:	0f 84 e7 9a 06 00    	je     0x477c5a
40e173:	83 f8 0f             	cmp    $0xf,%eax
40e176:	0f 84 6a 9b 06 00    	je     0x477ce6
40e17c:	8b 47 0c             	mov    0xc(%edi),%eax
40e17f:	8d 73 20             	lea    0x20(%ebx),%esi
40e182:	83 f8 01             	cmp    $0x1,%eax
40e185:	0f 85 8a 01 00 00    	jne    0x40e315
40e18b:	8b 46 0c             	mov    0xc(%esi),%eax
40e18e:	83 f8 01             	cmp    $0x1,%eax
40e191:	0f 85 07 9d 06 00    	jne    0x477e9e
40e197:	8b 0f                	mov    (%edi),%ecx
40e199:	8b 06                	mov    (%esi),%eax
40e19b:	8d 14 08             	lea    (%eax,%ecx,1),%edx
40e19e:	89 55 f4             	mov    %edx,-0xc(%ebp)
40e1a1:	99                   	cltd
40e1a2:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e1a5:	8b c1                	mov    %ecx,%eax
40e1a7:	89 55 ec             	mov    %edx,-0x14(%ebp)
40e1aa:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e1ad:	99                   	cltd
40e1ae:	01 45 f8             	add    %eax,-0x8(%ebp)
40e1b1:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e1b4:	13 ca                	adc    %edx,%ecx
40e1b6:	99                   	cltd
40e1b7:	3b 45 f8             	cmp    -0x8(%ebp),%eax
40e1ba:	0f 85 ca 9c 06 00    	jne    0x477e8a
40e1c0:	3b d1                	cmp    %ecx,%edx
40e1c2:	0f 85 c2 9c 06 00    	jne    0x477e8a
40e1c8:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e1cb:	89 07                	mov    %eax,(%edi)
40e1cd:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e1d0:	8b 4f 08             	mov    0x8(%edi),%ecx
40e1d3:	85 c9                	test   %ecx,%ecx
40e1d5:	0f 85 e5 9c 06 00    	jne    0x477ec0
40e1db:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40e1de:	85 c9                	test   %ecx,%ecx
40e1e0:	0f 85 ef 9c 06 00    	jne    0x477ed5
40e1e6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e1e9:	83 f8 05             	cmp    $0x5,%eax
40e1ec:	0f 8d f8 9c 06 00    	jge    0x477eea
40e1f2:	d9 ee                	fldz
40e1f4:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
40e1fb:	dd 55 d8             	fstl   -0x28(%ebp)
40e1fe:	8b 4e 0c             	mov    0xc(%esi),%ecx
40e201:	8b c1                	mov    %ecx,%eax
40e203:	c1 e0 06             	shl    $0x6,%eax
40e206:	8b 80 1c b8 4b 00    	mov    0x4bb81c(%eax),%eax
40e20c:	83 f8 03             	cmp    $0x3,%eax
40e20f:	0f 85 a2 9d 06 00    	jne    0x477fb7
40e215:	83 f9 01             	cmp    $0x1,%ecx
40e218:	0f 85 4b 9e 06 00    	jne    0x478069
40e21e:	db 06                	fildl  (%esi)
40e220:	de d9                	fcompp
40e222:	df e0                	fnstsw %ax
40e224:	f6 c4 05             	test   $0x5,%ah
40e227:	0f 8b 57 a1 06 00    	jnp    0x478384
40e22d:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
40e230:	8b c1                	mov    %ecx,%eax
40e232:	c1 e0 04             	shl    $0x4,%eax
40e235:	03 47 0c             	add    0xc(%edi),%eax
40e238:	8b 04 85 10 b8 4b 00 	mov    0x4bb810(,%eax,4),%eax
40e23f:	83 f8 01             	cmp    $0x1,%eax
40e242:	0f 85 94 00 00 00    	jne    0x40e2dc
40e248:	83 f9 01             	cmp    $0x1,%ecx
40e24b:	0f 85 c3 9f 06 00    	jne    0x478214
40e251:	8b 43 10             	mov    0x10(%ebx),%eax
40e254:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e257:	8b f0                	mov    %eax,%esi
40e259:	8b 47 0c             	mov    0xc(%edi),%eax
40e25c:	83 f8 01             	cmp    $0x1,%eax
40e25f:	0f 85 60 a0 06 00    	jne    0x4782c5
40e265:	8b 07                	mov    (%edi),%eax
40e267:	3b f0                	cmp    %eax,%esi
40e269:	7c 2c                	jl     0x40e297
40e26b:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e26e:	8b 45 0c             	mov    0xc(%ebp),%eax
40e271:	41                   	inc    %ecx
40e272:	89 08                	mov    %ecx,(%eax)
40e274:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40e277:	85 c9                	test   %ecx,%ecx
40e279:	0f 85 25 a1 06 00    	jne    0x4783a4
40e27f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e282:	83 f8 05             	cmp    $0x5,%eax
40e285:	0f 8d 2b a1 06 00    	jge    0x4783b6
40e28b:	5f                   	pop    %edi
40e28c:	5e                   	pop    %esi
40e28d:	5b                   	pop    %ebx
40e28e:	8b e5                	mov    %ebp,%esp
40e290:	5d                   	pop    %ebp
40e291:	c2 08 00             	ret    $0x8
40e294:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e297:	80 7a 09 00          	cmpb   $0x0,0x9(%edx)
40e29b:	0f 85 c4 a0 06 00    	jne    0x478365
40e2a1:	80 7a 08 00          	cmpb   $0x0,0x8(%edx)
40e2a5:	0f 85 a4 00 00 00    	jne    0x40e34f
40e2ab:	8b 72 04             	mov    0x4(%edx),%esi
40e2ae:	8b 7e 30             	mov    0x30(%esi),%edi
40e2b1:	85 f6                	test   %esi,%esi
40e2b3:	74 1c                	je     0x40e2d1
40e2b5:	8d 4e 20             	lea    0x20(%esi),%ecx
40e2b8:	e8 63 49 00 00       	call   0x412c20
40e2bd:	8d 4e 10             	lea    0x10(%esi),%ecx
40e2c0:	e8 5b 49 00 00       	call   0x412c20
40e2c5:	56                   	push   %esi
40e2c6:	e8 93 12 01 00       	call   0x41f55e
40e2cb:	8b 55 fc             	mov    -0x4(%ebp),%edx
40e2ce:	83 c4 04             	add    $0x4,%esp
40e2d1:	ff 0a                	decl   (%edx)
40e2d3:	89 7a 04             	mov    %edi,0x4(%edx)
40e2d6:	c6 42 09 00          	movb   $0x0,0x9(%edx)
40e2da:	eb 98                	jmp    0x40e274
40e2dc:	83 e8 02             	sub    $0x2,%eax
40e2df:	83 f8 07             	cmp    $0x7,%eax
40e2e2:	77 23                	ja     0x40e307
40e2e4:	ff 24 85 5c e3 40 00 	jmp    *0x40e35c(,%eax,4)
40e2eb:	8d 4b 10             	lea    0x10(%ebx),%ecx
40e2ee:	e8 dd 49 00 00       	call   0x412cd0
40e2f3:	dd 5d e8             	fstpl  -0x18(%ebp)
40e2f6:	8b cf                	mov    %edi,%ecx
40e2f8:	e8 d3 49 00 00       	call   0x412cd0
40e2fd:	dc 5d e8             	fcompl -0x18(%ebp)
40e300:	df e0                	fnstsw %ax
40e302:	f6 c4 41             	test   $0x41,%ah
40e305:	74 8d                	je     0x40e294
40e307:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e30a:	8b 45 0c             	mov    0xc(%ebp),%eax
40e30d:	41                   	inc    %ecx
40e30e:	89 08                	mov    %ecx,(%eax)
40e310:	e9 5f ff ff ff       	jmp    0x40e274
40e315:	83 e8 02             	sub    $0x2,%eax
40e318:	83 f8 09             	cmp    $0x9,%eax
40e31b:	0f 87 af fe ff ff    	ja     0x40e1d0
40e321:	ff 24 85 7c e3 40 00 	jmp    *0x40e37c(,%eax,4)
40e328:	8b ce                	mov    %esi,%ecx
40e32a:	e8 a1 49 00 00       	call   0x412cd0
40e32f:	dc 07                	faddl  (%edi)
40e331:	dd 1f                	fstpl  (%edi)
40e333:	e9 95 fe ff ff       	jmp    0x40e1cd
40e338:	8b cf                	mov    %edi,%ecx
40e33a:	e8 f3 ef 00 00       	call   0x41d332
40e33f:	8b ce                	mov    %esi,%ecx
40e341:	e8 8a 49 00 00       	call   0x412cd0
40e346:	dc 07                	faddl  (%edi)
40e348:	dd 1f                	fstpl  (%edi)
40e34a:	e9 7e fe ff ff       	jmp    0x40e1cd
40e34f:	ff 0a                	decl   (%edx)
40e351:	c6 42 09 01          	movb   $0x1,0x9(%edx)
40e355:	e9 1a ff ff ff       	jmp    0x40e274
40e35a:	8b ff                	mov    %edi,%edi
40e35c:	c6 81 47 00 eb e2 40 	movb   $0x40,-0x1d14ffb9(%ecx)
40e363:	00 9c 81 47 00 07 e3 	add    %bl,-0x1cf8ffb9(%ecx,%eax,4)
40e36a:	40                   	inc    %eax
40e36b:	00 07                	add    %al,(%edi)
40e36d:	e3 40                	jecxz  0x40e3af
40e36f:	00 f6                	add    %dh,%dh
40e371:	81 47 00 07 e3 40 00 	addl   $0x40e307,0x0(%edi)
40e378:	48                   	dec    %eax
40e379:	e2 40                	loop   0x40e3bb
40e37b:	00 b6 7d 47 00 28    	add    %dh,0x2800477d(%esi)
40e381:	e3 40                	jecxz  0x40e3c3
40e383:	00 38                	add    %bh,(%eax)
40e385:	e3 40                	jecxz  0x40e3c7
40e387:	00 d0                	add    %dl,%al
40e389:	e1 40                	loope  0x40e3cb
40e38b:	00 d0                	add    %dl,%al
40e38d:	e1 40                	loope  0x40e3cf
40e38f:	00 5b 7e             	add    %bl,0x7e(%ebx)
40e392:	47                   	inc    %edi
40e393:	00 d0                	add    %dl,%al
40e395:	e1 40                	loope  0x40e3d7
40e397:	00 38                	add    %bh,(%eax)
40e399:	e3 40                	jecxz  0x40e3db
40e39b:	00 38                	add    %bh,(%eax)
40e39d:	e3 40                	jecxz  0x40e3df
40e39f:	00 d8                	add    %bl,%al
40e3a1:	7d 47                	jge    0x40e3ea
40e3a3:	00 cc                	add    %cl,%ah
40e3a5:	cc                   	int3
40e3a6:	cc                   	int3
40e3a7:	cc                   	int3
40e3a8:	cc                   	int3
40e3a9:	cc                   	int3
40e3aa:	cc                   	int3