40981e:	dd 1b                	fstpl  (%ebx)
409820:	e9 65 ff ff ff       	jmp    0x40978a
409825:	c7 43 0c 02 00 00 00 	movl   $0x2,0xc(%ebx)
40982c:	89 0b                	mov    %ecx,(%ebx)
40982e:	89 7b 04             	mov    %edi,0x4(%ebx)
409831:	e9 54 ff ff ff       	jmp    0x40978a
409836:	e8 58 fd ff ff       	call   0x409593
40983b:	e9 dc fe ff ff       	jmp    0x40971c
409840:	b4 97                	mov    $0x97,%ah
409842:	40                   	inc    %eax
409843:	00 2d f8 43 00 ba    	add    %ch,0xba0043f8
409849:	f8                   	clc
40984a:	43                   	inc    %ebx
40984b:	00 36                	add    %dh,(%esi)
40984d:	98                   	cwtl
40984e:	40                   	inc    %eax
40984f:	00 52 f8             	add    %dl,-0x8(%edx)
409852:	43                   	inc    %ebx
409853:	00 8a 97 40 00 00    	add    %cl,0x4097(%edx)
409859:	01 05 05 05 05 02    	add    %eax,0x2050505
40985f:	05 03 03 04 55       	add    $0x55040303,%eax
409864:	8b ec                	mov    %esp,%ebp
409866:	56                   	push   %esi
409867:	8b f1                	mov    %ecx,%esi
409869:	e8 b2 01 00 00       	call   0x409a20
40986e:	8a 45 08             	mov    0x8(%ebp),%al
409871:	88 06                	mov    %al,(%esi)
409873:	8b c6                	mov    %esi,%eax
409875:	c7 46 0c 09 00 00 00 	movl   $0x9,0xc(%esi)
40987c:	5e                   	pop    %esi
40987d:	5d                   	pop    %ebp
40987e:	c2 04 00             	ret    $0x4
409881:	cc                   	int3
409882:	cc                   	int3
409883:	cc                   	int3
409884:	cc                   	int3
409885:	cc                   	int3
409886:	cc                   	int3
409887:	cc                   	int3
409888:	cc                   	int3
409889:	cc                   	int3
40988a:	cc                   	int3
40988b:	cc                   	int3
40988c:	cc                   	int3
40988d:	cc                   	int3
40988e:	cc                   	int3
40988f:	cc                   	int3
409890:	55                   	push   %ebp
409891:	8b ec                	mov    %esp,%ebp
409893:	83 ec 20             	sub    $0x20,%esp
409896:	53                   	push   %ebx
409897:	56                   	push   %esi
409898:	57                   	push   %edi
409899:	8b f9                	mov    %ecx,%edi
40989b:	89 7d f8             	mov    %edi,-0x8(%ebp)
40989e:	e8 b5 fb ff ff       	call   0x409458
4098a3:	8b 37                	mov    (%edi),%esi
4098a5:	8b ce                	mov    %esi,%ecx
4098a7:	e8 14 fa ff ff       	call   0x4092c0
4098ac:	8b 06                	mov    (%esi),%eax
4098ae:	8b 5d 08             	mov    0x8(%ebp),%ebx
4098b1:	c7 80 10 02 00 00 00 	movl   $0x0,0x210(%eax)
4098b8:	00 00 00
4098bb:	8b 5b 08             	mov    0x8(%ebx),%ebx
4098be:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4098c1:	85 db                	test   %ebx,%ebx
4098c3:	0f 84 b2 00 00 00    	je     0x40997b
4098c9:	53                   	push   %ebx
4098ca:	6a 01                	push   $0x1
4098cc:	ff 37                	push   (%edi)
4098ce:	e8 dd f8 ff ff       	call   0x4091b0
4098d3:	83 c4 0c             	add    $0xc,%esp
4098d6:	33 f6                	xor    %esi,%esi
4098d8:	85 db                	test   %ebx,%ebx
4098da:	0f 84 9b 00 00 00    	je     0x40997b
4098e0:	8b 45 08             	mov    0x8(%ebp),%eax
4098e3:	6a 10                	push   $0x10
4098e5:	8b 40 04             	mov    0x4(%eax),%eax
4098e8:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
4098eb:	e8 06 77 01 00       	call   0x420ff6
4098f0:	8b f8                	mov    %eax,%edi
4098f2:	83 c4 04             	add    $0x4,%esp
4098f5:	85 ff                	test   %edi,%edi
4098f7:	74 7e                	je     0x409977
4098f9:	8b 0b                	mov    (%ebx),%ecx
4098fb:	89 0f                	mov    %ecx,(%edi)
4098fd:	8b 4b 04             	mov    0x4(%ebx),%ecx
409900:	89 4f 04             	mov    %ecx,0x4(%edi)
409903:	8b 4b 08             	mov    0x8(%ebx),%ecx
409906:	89 4f 08             	mov    %ecx,0x8(%edi)
409909:	8b 43 0c             	mov    0xc(%ebx),%eax
40990c:	89 47 0c             	mov    %eax,0xc(%edi)
40990f:	ff 00                	incl   (%eax)
409911:	8b 5d f8             	mov    -0x8(%ebp),%ebx
409914:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409917:	56                   	push   %esi
409918:	6a 01                	push   $0x1
40991a:	50                   	push   %eax
40991b:	ff 33                	push   (%ebx)
40991d:	89 7d ec             	mov    %edi,-0x14(%ebp)
409920:	c7 45 f0 04 00 00 00 	movl   $0x4,-0x10(%ebp)
409927:	e8 14 f7 ff ff       	call   0x409040
40992c:	83 c4 10             	add    $0x10,%esp
40992f:	85 ff                	test   %edi,%edi
409931:	74 21                	je     0x409954
409933:	8b 47 0c             	mov    0xc(%edi),%eax
409936:	ff 08                	decl   (%eax)
409938:	8b 47 0c             	mov    0xc(%edi),%eax
40993b:	83 38 00             	cmpl   $0x0,(%eax)
40993e:	0f 84 a8 5f 03 00    	je     0x43f8ec
409944:	57                   	push   %edi
409945:	e8 22 77 01 00       	call   0x42106c
40994a:	83 c4 04             	add    $0x4,%esp
40994d:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
409954:	46                   	inc    %esi
409955:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
40995c:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
409963:	3b 75 f4             	cmp    -0xc(%ebp),%esi
409966:	0f 82 74 ff ff ff    	jb     0x4098e0
40996c:	8b c3                	mov    %ebx,%eax
40996e:	5f                   	pop    %edi
40996f:	5e                   	pop    %esi
409970:	5b                   	pop    %ebx
409971:	8b e5                	mov    %ebp,%esp
409973:	5d                   	pop    %ebp
409974:	c2 04 00             	ret    $0x4
409977:	33 ff                	xor    %edi,%edi
409979:	eb 96                	jmp    0x409911
40997b:	8b c7                	mov    %edi,%eax
40997d:	eb ef                	jmp    0x40996e
40997f:	56                   	push   %esi
409980:	8b f1                	mov    %ecx,%esi
409982:	8b 4e 08             	mov    0x8(%esi),%ecx
409985:	85 c9                	test   %ecx,%ecx
409987:	75 02                	jne    0x40998b
409989:	5e                   	pop    %esi
40998a:	c3                   	ret
40998b:	51                   	push   %ecx
40998c:	e8 ac e1 ff ff       	call   0x407b3d
409991:	83 66 08 00          	andl   $0x0,0x8(%esi)
409995:	5e                   	pop    %esi
409996:	c3                   	ret
409997:	55                   	push   %ebp
409998:	8b ec                	mov    %esp,%ebp
40999a:	81 ec 94 00 00 00    	sub    $0x94,%esp
4099a0:	56                   	push   %esi
4099a1:	8b f1                	mov    %ecx,%esi
4099a3:	57                   	push   %edi
4099a4:	33 ff                	xor    %edi,%edi
4099a6:	39 7e 08             	cmp    %edi,0x8(%esi)
4099a9:	74 06                	je     0x4099b1
4099ab:	5f                   	pop    %edi
4099ac:	5e                   	pop    %esi
4099ad:	8b e5                	mov    %ebp,%esp
4099af:	5d                   	pop    %ebp
4099b0:	c3                   	ret
4099b1:	8b 46 0c             	mov    0xc(%esi),%eax
4099b4:	48                   	dec    %eax
4099b5:	75 34                	jne    0x4099eb
4099b7:	6a 0a                	push   $0xa
4099b9:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4099bf:	50                   	push   %eax
4099c0:	ff 36                	push   (%esi)
4099c2:	e8 39 9d 01 00       	call   0x423700
4099c7:	83 c4 0c             	add    $0xc,%esp
4099ca:	6a 10                	push   $0x10
4099cc:	e8 25 76 01 00       	call   0x420ff6
4099d1:	59                   	pop    %ecx
4099d2:	85 c0                	test   %eax,%eax
4099d4:	74 10                	je     0x4099e6
4099d6:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
4099dc:	51                   	push   %ecx
4099dd:	8b c8                	mov    %eax,%ecx
4099df:	e8 5d e5 ff ff       	call   0x407f41
4099e4:	8b f8                	mov    %eax,%edi
4099e6:	89 7e 08             	mov    %edi,0x8(%esi)
4099e9:	eb c0                	jmp    0x4099ab
4099eb:	48                   	dec    %eax
4099ec:	0f 84 0f 60 03 00    	je     0x43fa01
4099f2:	48                   	dec    %eax
4099f3:	0f 85 0a 5f 03 00    	jne    0x43f903
4099f9:	dd 06                	fldl   (%esi)
4099fb:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
409a01:	51                   	push   %ecx
409a02:	51                   	push   %ecx
409a03:	dd 1c 24             	fstpl  (%esp)
409a06:	68 ec 2a 49 00       	push   $0x492aec
409a0b:	50                   	push   %eax
409a0c:	e8 c7 9e 01 00       	call   0x4238d8
409a11:	83 c4 10             	add    $0x10,%esp
409a14:	eb b4                	jmp    0x4099ca
409a16:	cc                   	int3
409a17:	cc                   	int3
409a18:	cc                   	int3
409a19:	cc                   	int3
409a1a:	cc                   	int3
409a1b:	cc                   	int3
409a1c:	cc                   	int3
409a1d:	cc                   	int3
409a1e:	cc                   	int3
409a1f:	cc                   	int3
409a20:	56                   	push   %esi
409a21:	8b f1                	mov    %ecx,%esi
409a23:	57                   	push   %edi
409a24:	8b 7e 08             	mov    0x8(%esi),%edi
409a27:	85 ff                	test   %edi,%edi
409a29:	75 18                	jne    0x409a43
409a2b:	8b 46 0c             	mov    0xc(%esi),%eax
409a2e:	83 f8 05             	cmp    $0x5,%eax
409a31:	7d 35                	jge    0x409a68
409a33:	5f                   	pop    %edi
409a34:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
409a3b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
409a41:	5e                   	pop    %esi
409a42:	c3                   	ret
409a43:	8b 47 0c             	mov    0xc(%edi),%eax
409a46:	ff 08                	decl   (%eax)
409a48:	8b 47 0c             	mov    0xc(%edi),%eax
409a4b:	83 38 00             	cmpl   $0x0,(%eax)
409a4e:	74 27                	je     0x409a77
409a50:	57                   	push   %edi
409a51:	e8 16 76 01 00       	call   0x42106c
409a56:	83 c4 04             	add    $0x4,%esp
409a59:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
409a60:	8b 46 0c             	mov    0xc(%esi),%eax
409a63:	83 f8 05             	cmp    $0x5,%eax
409a66:	7c cb                	jl     0x409a33
409a68:	83 e8 05             	sub    $0x5,%eax
409a6b:	83 f8 0a             	cmp    $0xa,%eax
409a6e:	77 c3                	ja     0x409a33
409a70:	ff 24 85 8c 9a 40 00 	jmp    *0x409a8c(,%eax,4)
409a77:	ff 37                	push   (%edi)
409a79:	e8 ee 75 01 00       	call   0x42106c
409a7e:	ff 77 0c             	push   0xc(%edi)
409a81:	e8 e6 75 01 00       	call   0x42106c
409a86:	83 c4 08             	add    $0x8,%esp
409a89:	eb c5                	jmp    0x409a50
409a8b:	90                   	nop
409a8c:	3d fa 43 00 33       	cmp    $0x330043fa,%eax
409a91:	9a 40 00 33 9a 40 00 	lcall  $0x40,$0x9a330040
409a98:	19 fa                	sbb    %edi,%edx
409a9a:	43                   	inc    %ebx
409a9b:	00 33                	add    %dh,(%ebx)
409a9d:	9a 40 00 2e fa 43 00 	lcall  $0x43,$0xfa2e0040
409aa4:	52                   	push   %edx
409aa5:	fa                   	cli
409aa6:	43                   	inc    %ebx
409aa7:	00 6b fa             	add    %ch,-0x6(%ebx)
409aaa:	43                   	inc    %ebx
409aab:	00 95 fa 43 00 95    	add    %dl,-0x6affbc06(%ebp)
409ab1:	fa                   	cli
409ab2:	43                   	inc    %ebx
409ab3:	00 80 fa 43 00 cc    	add    %al,-0x33ffbc06(%eax)
409ab9:	cc                   	int3
409aba:	cc                   	int3
409abb:	cc                   	int3
409abc:	cc                   	int3
409abd:	cc                   	int3
409abe:	cc                   	int3
409abf:	cc                   	int3
409ac0:	55                   	push   %ebp
409ac1:	8b ec                	mov    %esp,%ebp
409ac3:	56                   	push   %esi
409ac4:	57                   	push   %edi
409ac5:	8b 7d 08             	mov    0x8(%ebp),%edi
409ac8:	8b f1                	mov    %ecx,%esi
409aca:	8b 47 0c             	mov    0xc(%edi),%eax
409acd:	89 46 0c             	mov    %eax,0xc(%esi)
409ad0:	83 f8 01             	cmp    $0x1,%eax
409ad3:	75 0a                	jne    0x409adf
409ad5:	8b 07                	mov    (%edi),%eax
409ad7:	89 06                	mov    %eax,(%esi)
409ad9:	5f                   	pop    %edi
409ada:	5e                   	pop    %esi
409adb:	5d                   	pop    %ebp
409adc:	c2 04 00             	ret    $0x4
409adf:	48                   	dec    %eax
409ae0:	83 f8 0e             	cmp    $0xe,%eax
409ae3:	77 f4                	ja     0x409ad9
409ae5:	ff 24 85 60 9b 40 00 	jmp    *0x409b60(,%eax,4)
409aec:	dd 07                	fldl   (%edi)
409aee:	5f                   	pop    %edi
409aef:	dd 1e                	fstpl  (%esi)
409af1:	5e                   	pop    %esi
409af2:	5d                   	pop    %ebp
409af3:	c2 04 00             	ret    $0x4
409af6:	6a 10                	push   $0x10
409af8:	e8 f9 74 01 00       	call   0x420ff6
409afd:	8b d0                	mov    %eax,%edx
409aff:	83 c4 04             	add    $0x4,%esp
409b02:	85 d2                	test   %edx,%edx
409b04:	74 4d                	je     0x409b53
409b06:	8b 47 08             	mov    0x8(%edi),%eax
409b09:	8b 08                	mov    (%eax),%ecx
409b0b:	89 0a                	mov    %ecx,(%edx)
409b0d:	8b 48 04             	mov    0x4(%eax),%ecx
409b10:	89 4a 04             	mov    %ecx,0x4(%edx)
409b13:	8b 48 08             	mov    0x8(%eax),%ecx
409b16:	89 4a 08             	mov    %ecx,0x8(%edx)
409b19:	8b 40 0c             	mov    0xc(%eax),%eax
409b1c:	89 42 0c             	mov    %eax,0xc(%edx)
409b1f:	ff 00                	incl   (%eax)
409b21:	5f                   	pop    %edi
409b22:	89 56 08             	mov    %edx,0x8(%esi)
409b25:	5e                   	pop    %esi
409b26:	5d                   	pop    %ebp
409b27:	c2 04 00             	ret    $0x4
409b2a:	8a 07                	mov    (%edi),%al
409b2c:	5f                   	pop    %edi
409b2d:	88 06                	mov    %al,(%esi)
409b2f:	5e                   	pop    %esi
409b30:	5d                   	pop    %ebp
409b31:	c2 04 00             	ret    $0x4
409b34:	6a 04                	push   $0x4
409b36:	e8 bb 74 01 00       	call   0x420ff6
409b3b:	83 c4 04             	add    $0x4,%esp
409b3e:	85 c0                	test   %eax,%eax
409b40:	74 15                	je     0x409b57
409b42:	ff 37                	push   (%edi)
409b44:	8b c8                	mov    %eax,%ecx
409b46:	e8 ef f7 ff ff       	call   0x40933a
409b4b:	5f                   	pop    %edi
409b4c:	89 06                	mov    %eax,(%esi)
409b4e:	5e                   	pop    %esi
409b4f:	5d                   	pop    %ebp
409b50:	c2 04 00             	ret    $0x4
409b53:	33 d2                	xor    %edx,%edx
409b55:	eb ca                	jmp    0x409b21
409b57:	33 c0                	xor    %eax,%eax
409b59:	e9 79 ff ff ff       	jmp    0x409ad7
409b5e:	8b ff                	mov    %edi,%edi
409b60:	d5 9a                	aad    $0x9a
409b62:	40                   	inc    %eax
409b63:	00 b4 fa 43 00 ec 9a 	add    %dh,-0x6513ffbd(%edx,%edi,8)
409b6a:	40                   	inc    %eax
409b6b:	00 f6                	add    %dh,%dh
409b6d:	9a 40 00 34 9b 40 00 	lcall  $0x40,$0x9b340040
409b74:	d5 9a                	aad    $0x9a
409b76:	40                   	inc    %eax
409b77:	00 d5                	add    %dl,%ch
409b79:	9a 40 00 c3 fa 43 00 	lcall  $0x43,$0xfac30040
409b80:	2a 9b 40 00 0e fb    	sub    -0x4f1ffc0(%ebx),%bl
409b86:	43                   	inc    %ebx
409b87:	00 2e                	add    %ch,(%esi)
409b89:	fb                   	sti
409b8a:	43                   	inc    %ebx
409b8b:	00 88 fb 43 00 c8    	add    %cl,-0x37ffbc05(%eax)
409b91:	fb                   	sti
409b92:	43                   	inc    %ebx
409b93:	00 c8                	add    %cl,%al