44a0dc:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
44a0e3:	89 37                	mov    %esi,(%edi)
44a0e5:	89 5f 04             	mov    %ebx,0x4(%edi)
44a0e8:	eb 2c                	jmp    0x44a116
44a0ea:	83 7e 0c 02          	cmpl   $0x2,0xc(%esi)
44a0ee:	75 16                	jne    0x44a106
44a0f0:	8b 07                	mov    (%edi),%eax
44a0f2:	99                   	cltd
44a0f3:	2b 06                	sub    (%esi),%eax
44a0f5:	1b 56 04             	sbb    0x4(%esi),%edx
44a0f8:	89 07                	mov    %eax,(%edi)
44a0fa:	89 57 04             	mov    %edx,0x4(%edi)
44a0fd:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
44a104:	eb 10                	jmp    0x44a116
44a106:	e8 27 32 fd ff       	call   0x41d332
44a10b:	8b ce                	mov    %esi,%ecx
44a10d:	e8 be 8b fc ff       	call   0x412cd0
44a112:	dc 2f                	fsubrl (%edi)
44a114:	dd 1f                	fstpl  (%edi)
44a116:	8b cf                	mov    %edi,%ecx
44a118:	e8 bc 05 00 00       	call   0x44a6d9
44a11d:	8b c7                	mov    %edi,%eax
44a11f:	5f                   	pop    %edi
44a120:	5e                   	pop    %esi
44a121:	5b                   	pop    %ebx
44a122:	c9                   	leave
44a123:	c2 04 00             	ret    $0x4
44a126:	55                   	push   %ebp
44a127:	8b ec                	mov    %esp,%ebp
44a129:	56                   	push   %esi
44a12a:	8b f1                	mov    %ecx,%esi
44a12c:	8b 46 0c             	mov    0xc(%esi),%eax
44a12f:	85 c0                	test   %eax,%eax
44a131:	7e 2a                	jle    0x44a15d
44a133:	83 f8 02             	cmp    $0x2,%eax
44a136:	7e 14                	jle    0x44a14c
44a138:	83 f8 03             	cmp    $0x3,%eax
44a13b:	74 14                	je     0x44a151
44a13d:	83 f8 04             	cmp    $0x4,%eax
44a140:	74 0a                	je     0x44a14c
44a142:	83 f8 09             	cmp    $0x9,%eax
44a145:	74 05                	je     0x44a14c
44a147:	83 f8 0b             	cmp    $0xb,%eax
44a14a:	75 11                	jne    0x44a15d
44a14c:	e8 e1 31 fd ff       	call   0x41d332
44a151:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a154:	e8 77 8b fc ff       	call   0x412cd0
44a159:	dc 3e                	fdivrl (%esi)
44a15b:	dd 1e                	fstpl  (%esi)
44a15d:	8b ce                	mov    %esi,%ecx
44a15f:	e8 75 05 00 00       	call   0x44a6d9
44a164:	8b c6                	mov    %esi,%eax
44a166:	5e                   	pop    %esi
44a167:	5d                   	pop    %ebp
44a168:	c2 04 00             	ret    $0x4
44a16b:	56                   	push   %esi
44a16c:	8b f1                	mov    %ecx,%esi
44a16e:	8d 4e 08             	lea    0x8(%esi),%ecx
44a171:	e8 c1 29 fc ff       	call   0x40cb37
44a176:	56                   	push   %esi
44a177:	e8 e2 53 fd ff       	call   0x41f55e
44a17c:	59                   	pop    %ecx
44a17d:	8b c6                	mov    %esi,%eax
44a17f:	5e                   	pop    %esi
44a180:	c2 04 00             	ret    $0x4
44a183:	55                   	push   %ebp
44a184:	8b ec                	mov    %esp,%ebp
44a186:	56                   	push   %esi
44a187:	8b f1                	mov    %ecx,%esi
44a189:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
44a18d:	75 18                	jne    0x44a1a7
44a18f:	83 3e 00             	cmpl   $0x0,(%esi)
44a192:	74 13                	je     0x44a1a7
44a194:	e8 8b 01 00 00       	call   0x44a324
44a199:	8b 06                	mov    (%esi),%eax
44a19b:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a19e:	8b 10                	mov    (%eax),%edx
44a1a0:	8b 40 08             	mov    0x8(%eax),%eax
44a1a3:	89 11                	mov    %edx,(%ecx)
44a1a5:	eb 02                	jmp    0x44a1a9
44a1a7:	33 c0                	xor    %eax,%eax
44a1a9:	5e                   	pop    %esi
44a1aa:	5d                   	pop    %ebp
44a1ab:	c2 04 00             	ret    $0x4
44a1ae:	8b 01                	mov    (%ecx),%eax
44a1b0:	8b 90 0c 02 00 00    	mov    0x20c(%eax),%edx
44a1b6:	3b 90 10 02 00 00    	cmp    0x210(%eax),%edx
44a1bc:	74 03                	je     0x44a1c1
44a1be:	32 c0                	xor    %al,%al
44a1c0:	c3                   	ret
44a1c1:	33 c9                	xor    %ecx,%ecx
44a1c3:	56                   	push   %esi
44a1c4:	85 d2                	test   %edx,%edx
44a1c6:	7e 1b                	jle    0x44a1e3
44a1c8:	05 0c 01 00 00       	add    $0x10c,%eax
44a1cd:	8b 30                	mov    (%eax),%esi
44a1cf:	85 f6                	test   %esi,%esi
44a1d1:	78 14                	js     0x44a1e7
44a1d3:	3b b0 00 ff ff ff    	cmp    -0x100(%eax),%esi
44a1d9:	7d 0c                	jge    0x44a1e7
44a1db:	41                   	inc    %ecx
44a1dc:	83 c0 04             	add    $0x4,%eax
44a1df:	3b ca                	cmp    %edx,%ecx
44a1e1:	7c ea                	jl     0x44a1cd
44a1e3:	b0 01                	mov    $0x1,%al
44a1e5:	5e                   	pop    %esi
44a1e6:	c3                   	ret
44a1e7:	32 c0                	xor    %al,%al
44a1e9:	5e                   	pop    %esi
44a1ea:	c3                   	ret
44a1eb:	55                   	push   %ebp
44a1ec:	8b ec                	mov    %esp,%ebp
44a1ee:	56                   	push   %esi
44a1ef:	8b f1                	mov    %ecx,%esi
44a1f1:	57                   	push   %edi
44a1f2:	8b 16                	mov    (%esi),%edx
44a1f4:	8b 8a 0c 02 00 00    	mov    0x20c(%edx),%ecx
44a1fa:	85 c9                	test   %ecx,%ecx
44a1fc:	0f 84 cc 00 00 00    	je     0x44a2ce
44a202:	8b 7d 08             	mov    0x8(%ebp),%edi
44a205:	8b 07                	mov    (%edi),%eax
44a207:	3b 88 0c 02 00 00    	cmp    0x20c(%eax),%ecx
44a20d:	0f 85 bb 00 00 00    	jne    0x44a2ce
44a213:	53                   	push   %ebx
44a214:	33 db                	xor    %ebx,%ebx
44a216:	85 c9                	test   %ecx,%ecx
44a218:	7e 1d                	jle    0x44a237
44a21a:	b9 0c 01 00 00       	mov    $0x10c,%ecx
44a21f:	83 24 11 00          	andl   $0x0,(%ecx,%edx,1)
44a223:	8b 07                	mov    (%edi),%eax
44a225:	83 24 01 00          	andl   $0x0,(%ecx,%eax,1)
44a229:	8b 16                	mov    (%esi),%edx
44a22b:	43                   	inc    %ebx
44a22c:	8d 49 04             	lea    0x4(%ecx),%ecx
44a22f:	3b 9a 0c 02 00 00    	cmp    0x20c(%edx),%ebx
44a235:	7c e8                	jl     0x44a21f
44a237:	8b cf                	mov    %edi,%ecx
44a239:	e8 98 00 00 00       	call   0x44a2d6
44a23e:	85 c0                	test   %eax,%eax
44a240:	78 24                	js     0x44a266
44a242:	8b 0f                	mov    (%edi),%ecx
44a244:	8b 09                	mov    (%ecx),%ecx
44a246:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
44a249:	85 db                	test   %ebx,%ebx
44a24b:	74 19                	je     0x44a266
44a24d:	6a 00                	push   $0x0
44a24f:	6a 00                	push   $0x0
44a251:	56                   	push   %esi
44a252:	e8 39 79 fc ff       	call   0x411b90
44a257:	83 c4 0c             	add    $0xc,%esp
44a25a:	85 c0                	test   %eax,%eax
44a25c:	74 08                	je     0x44a266
44a25e:	53                   	push   %ebx
44a25f:	8b c8                	mov    %eax,%ecx
44a261:	e8 48 3a fc ff       	call   0x40dcae
44a266:	8b 06                	mov    (%esi),%eax
44a268:	33 c9                	xor    %ecx,%ecx
44a26a:	89 4d 08             	mov    %ecx,0x8(%ebp)
44a26d:	39 88 0c 02 00 00    	cmp    %ecx,0x20c(%eax)
44a273:	7e 4a                	jle    0x44a2bf
44a275:	bb 0c 01 00 00       	mov    $0x10c,%ebx
44a27a:	8b 06                	mov    (%esi),%eax
44a27c:	8b ce                	mov    %esi,%ecx
44a27e:	ff 04 03             	incl   (%ebx,%eax,1)
44a281:	8b 07                	mov    (%edi),%eax
44a283:	ff 04 03             	incl   (%ebx,%eax,1)
44a286:	e8 23 ff ff ff       	call   0x44a1ae
44a28b:	84 c0                	test   %al,%al
44a28d:	74 0b                	je     0x44a29a
44a28f:	8b cf                	mov    %edi,%ecx
44a291:	e8 18 ff ff ff       	call   0x44a1ae
44a296:	84 c0                	test   %al,%al
44a298:	75 22                	jne    0x44a2bc
44a29a:	8b 06                	mov    (%esi),%eax
44a29c:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a29f:	83 24 03 00          	andl   $0x0,(%ebx,%eax,1)
44a2a3:	8b 07                	mov    (%edi),%eax
44a2a5:	83 24 03 00          	andl   $0x0,(%ebx,%eax,1)
44a2a9:	8b 06                	mov    (%esi),%eax
44a2ab:	41                   	inc    %ecx
44a2ac:	83 c3 04             	add    $0x4,%ebx
44a2af:	89 4d 08             	mov    %ecx,0x8(%ebp)
44a2b2:	3b 88 0c 02 00 00    	cmp    0x20c(%eax),%ecx
44a2b8:	7c c0                	jl     0x44a27a
44a2ba:	eb 03                	jmp    0x44a2bf
44a2bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a2bf:	8b 06                	mov    (%esi),%eax
44a2c1:	3b 88 0c 02 00 00    	cmp    0x20c(%eax),%ecx
44a2c7:	0f 8c 6a ff ff ff    	jl     0x44a237
44a2cd:	5b                   	pop    %ebx
44a2ce:	5f                   	pop    %edi
44a2cf:	32 c0                	xor    %al,%al
44a2d1:	5e                   	pop    %esi
44a2d2:	5d                   	pop    %ebp
44a2d3:	c2 04 00             	ret    $0x4
44a2d6:	56                   	push   %esi
44a2d7:	8b f1                	mov    %ecx,%esi
44a2d9:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
44a2dd:	74 05                	je     0x44a2e4
44a2df:	83 c8 ff             	or     $0xffffffff,%eax
44a2e2:	5e                   	pop    %esi
44a2e3:	c3                   	ret
44a2e4:	e8 c5 fe ff ff       	call   0x44a1ae
44a2e9:	84 c0                	test   %al,%al
44a2eb:	74 f2                	je     0x44a2df
44a2ed:	8b 06                	mov    (%esi),%eax
44a2ef:	57                   	push   %edi
44a2f0:	8b b0 0c 02 00 00    	mov    0x20c(%eax),%esi
44a2f6:	8b 50 08             	mov    0x8(%eax),%edx
44a2f9:	33 ff                	xor    %edi,%edi
44a2fb:	85 f6                	test   %esi,%esi
44a2fd:	7e 20                	jle    0x44a31f
44a2ff:	53                   	push   %ebx
44a300:	8d 98 0c 01 00 00    	lea    0x10c(%eax),%ebx
44a306:	8b c2                	mov    %edx,%eax
44a308:	99                   	cltd
44a309:	f7 bb 00 ff ff ff    	idivl  -0x100(%ebx)
44a30f:	8b 0b                	mov    (%ebx),%ecx
44a311:	8d 5b 04             	lea    0x4(%ebx),%ebx
44a314:	8b d0                	mov    %eax,%edx
44a316:	0f af ca             	imul   %edx,%ecx
44a319:	03 f9                	add    %ecx,%edi
44a31b:	4e                   	dec    %esi
44a31c:	75 e8                	jne    0x44a306
44a31e:	5b                   	pop    %ebx
44a31f:	8b c7                	mov    %edi,%eax
44a321:	5f                   	pop    %edi
44a322:	5e                   	pop    %esi
44a323:	c3                   	ret
44a324:	55                   	push   %ebp
44a325:	8b ec                	mov    %esp,%ebp
44a327:	51                   	push   %ecx
44a328:	56                   	push   %esi
44a329:	8b f1                	mov    %ecx,%esi
44a32b:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
44a32f:	0f 85 ab 00 00 00    	jne    0x44a3e0
44a335:	8b 06                	mov    (%esi),%eax
44a337:	8b 48 04             	mov    0x4(%eax),%ecx
44a33a:	85 c9                	test   %ecx,%ecx
44a33c:	0f 84 9e 00 00 00    	je     0x44a3e0
44a342:	8b 01                	mov    (%ecx),%eax
44a344:	83 f8 01             	cmp    $0x1,%eax
44a347:	0f 8e 93 00 00 00    	jle    0x44a3e0
44a34d:	48                   	dec    %eax
44a34e:	89 01                	mov    %eax,(%ecx)
44a350:	8b 06                	mov    (%esi),%eax
44a352:	53                   	push   %ebx
44a353:	8b 18                	mov    (%eax),%ebx
44a355:	8b 40 08             	mov    0x8(%eax),%eax
44a358:	57                   	push   %edi
44a359:	33 c9                	xor    %ecx,%ecx
44a35b:	6a 04                	push   $0x4
44a35d:	5f                   	pop    %edi
44a35e:	f7 e7                	mul    %edi
44a360:	0f 90 c1             	seto   %cl
44a363:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44a366:	f7 d9                	neg    %ecx
44a368:	0b c8                	or     %eax,%ecx
44a36a:	51                   	push   %ecx
44a36b:	e8 7a 51 fd ff       	call   0x41f4ea
44a370:	8b 0e                	mov    (%esi),%ecx
44a372:	57                   	push   %edi
44a373:	89 01                	mov    %eax,(%ecx)
44a375:	e8 70 51 fd ff       	call   0x41f4ea
44a37a:	59                   	pop    %ecx
44a37b:	59                   	pop    %ecx
44a37c:	8b c8                	mov    %eax,%ecx
44a37e:	85 c9                	test   %ecx,%ecx
44a380:	74 08                	je     0x44a38a
44a382:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
44a388:	eb 02                	jmp    0x44a38c
44a38a:	33 c9                	xor    %ecx,%ecx
44a38c:	8b 06                	mov    (%esi),%eax
44a38e:	33 ff                	xor    %edi,%edi
44a390:	89 48 04             	mov    %ecx,0x4(%eax)
44a393:	8b 06                	mov    (%esi),%eax
44a395:	39 78 08             	cmp    %edi,0x8(%eax)
44a398:	7e 44                	jle    0x44a3de
44a39a:	83 3c bb 00          	cmpl   $0x0,(%ebx,%edi,4)
44a39e:	74 30                	je     0x44a3d0
44a3a0:	6a 10                	push   $0x10
44a3a2:	e8 43 51 fd ff       	call   0x41f4ea
44a3a7:	8b d8                	mov    %eax,%ebx
44a3a9:	59                   	pop    %ecx
44a3aa:	85 db                	test   %ebx,%ebx
44a3ac:	74 14                	je     0x44a3c2
44a3ae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a3b1:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
44a3b4:	83 63 08 00          	andl   $0x0,0x8(%ebx)
44a3b8:	51                   	push   %ecx
44a3b9:	8b cb                	mov    %ebx,%ecx
44a3bb:	e8 60 73 fc ff       	call   0x411720
44a3c0:	eb 02                	jmp    0x44a3c4
44a3c2:	33 db                	xor    %ebx,%ebx
44a3c4:	8b 06                	mov    (%esi),%eax
44a3c6:	8b 00                	mov    (%eax),%eax
44a3c8:	89 1c b8             	mov    %ebx,(%eax,%edi,4)
44a3cb:	8b 5d fc             	mov    -0x4(%ebp),%ebx
44a3ce:	eb 06                	jmp    0x44a3d6
44a3d0:	8b 00                	mov    (%eax),%eax
44a3d2:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
44a3d6:	8b 06                	mov    (%esi),%eax
44a3d8:	47                   	inc    %edi
44a3d9:	3b 78 08             	cmp    0x8(%eax),%edi
44a3dc:	7c bc                	jl     0x44a39a
44a3de:	5f                   	pop    %edi
44a3df:	5b                   	pop    %ebx
44a3e0:	5e                   	pop    %esi
44a3e1:	c9                   	leave
44a3e2:	c3                   	ret
44a3e3:	55                   	push   %ebp
44a3e4:	8b ec                	mov    %esp,%ebp
44a3e6:	56                   	push   %esi
44a3e7:	8b f1                	mov    %ecx,%esi
44a3e9:	e8 32 88 fc ff       	call   0x412c20
44a3ee:	6a 08                	push   $0x8
44a3f0:	e8 f5 50 fd ff       	call   0x41f4ea
44a3f5:	8b 55 08             	mov    0x8(%ebp),%edx
44a3f8:	89 06                	mov    %eax,(%esi)
44a3fa:	59                   	pop    %ecx
44a3fb:	89 10                	mov    %edx,(%eax)
44a3fd:	85 d2                	test   %edx,%edx
44a3ff:	74 21                	je     0x44a422
44a401:	8b 06                	mov    (%esi),%eax
44a403:	ff 30                	push   (%eax)
44a405:	e8 e0 50 fd ff       	call   0x41f4ea
44a40a:	8b 0e                	mov    (%esi),%ecx
44a40c:	89 41 04             	mov    %eax,0x4(%ecx)
44a40f:	8b 06                	mov    (%esi),%eax
44a411:	ff 30                	push   (%eax)
44a413:	6a 00                	push   $0x0
44a415:	ff 70 04             	push   0x4(%eax)
44a418:	e8 33 69 fd ff       	call   0x420d50
44a41d:	83 c4 10             	add    $0x10,%esp
44a420:	eb 15                	jmp    0x44a437
44a422:	6a 01                	push   $0x1
44a424:	e8 c1 50 fd ff       	call   0x41f4ea
44a429:	59                   	pop    %ecx
44a42a:	8b 0e                	mov    (%esi),%ecx
44a42c:	89 41 04             	mov    %eax,0x4(%ecx)
44a42f:	8b 06                	mov    (%esi),%eax
44a431:	8b 40 04             	mov    0x4(%eax),%eax
44a434:	c6 00 00             	movb   $0x0,(%eax)
44a437:	8b 06                	mov    (%esi),%eax
44a439:	c7 46 0c 0b 00 00 00 	movl   $0xb,0xc(%esi)
44a440:	8b 40 04             	mov    0x4(%eax),%eax
44a443:	5e                   	pop    %esi
44a444:	5d                   	pop    %ebp
44a445:	c2 04 00             	ret    $0x4
44a448:	55                   	push   %ebp