4098af:	ff 55 14             	call   *0x14(%ebp)
4098b2:	eb e3                	jmp    0x409897
4098b4:	33 c0                	xor    %eax,%eax
4098b6:	40                   	inc    %eax
4098b7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4098ba:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4098c1:	e8 1e 00 00 00       	call   0x4098e4
4098c6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4098c9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4098d0:	59                   	pop    %ecx
4098d1:	5f                   	pop    %edi
4098d2:	5e                   	pop    %esi
4098d3:	5b                   	pop    %ebx
4098d4:	c9                   	leave
4098d5:	c2 10 00             	ret    $0x10
4098d8:	8b 7d 10             	mov    0x10(%ebp),%edi
4098db:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4098de:	8b 75 08             	mov    0x8(%ebp),%esi
4098e1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4098e4:	85 c0                	test   %eax,%eax
4098e6:	75 0b                	jne    0x4098f3
4098e8:	ff 75 14             	push   0x14(%ebp)
4098eb:	57                   	push   %edi
4098ec:	53                   	push   %ebx
4098ed:	56                   	push   %esi
4098ee:	e8 06 00 00 00       	call   0x4098f9
4098f3:	c3                   	ret
4098f4:	e9 77 ff ff ff       	jmp    0x409870
4098f9:	6a 14                	push   $0x14
4098fb:	68 90 ae 40 00       	push   $0x40ae90
409900:	e8 e3 08 00 00       	call   0x40a1e8
409905:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409909:	83 6d 10 01          	subl   $0x1,0x10(%ebp)
40990d:	78 46                	js     0x409955
40990f:	8b 75 08             	mov    0x8(%ebp),%esi
409912:	2b 75 0c             	sub    0xc(%ebp),%esi
409915:	89 75 08             	mov    %esi,0x8(%ebp)
409918:	8b 4d 14             	mov    0x14(%ebp),%ecx
40991b:	ff 15 20 f2 40 00    	call   *0x40f220
409921:	8b ce                	mov    %esi,%ecx
409923:	ff 55 14             	call   *0x14(%ebp)
409926:	eb e1                	jmp    0x409909
409928:	8b 45 ec             	mov    -0x14(%ebp),%eax
40992b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40992e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409931:	8b 00                	mov    (%eax),%eax
409933:	89 45 e0             	mov    %eax,-0x20(%ebp)
409936:	8b 45 e0             	mov    -0x20(%ebp),%eax
409939:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40993f:	74 0b                	je     0x40994c
409941:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
409948:	8b 45 dc             	mov    -0x24(%ebp),%eax
40994b:	c3                   	ret
40994c:	ff 15 88 f1 40 00    	call   *0x40f188
409952:	8b 65 e8             	mov    -0x18(%ebp),%esp
409955:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40995c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40995f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409966:	59                   	pop    %ecx
409967:	5f                   	pop    %edi
409968:	5e                   	pop    %esi
409969:	5b                   	pop    %ebx
40996a:	c9                   	leave
40996b:	c2 10 00             	ret    $0x10
40996e:	cc                   	int3
40996f:	cc                   	int3
409970:	ff 25 88 f1 40 00    	jmp    *0x40f188
409976:	cc                   	int3
409977:	cc                   	int3
409978:	cc                   	int3
409979:	cc                   	int3
40997a:	cc                   	int3
40997b:	cc                   	int3
40997c:	cc                   	int3
40997d:	cc                   	int3
40997e:	cc                   	int3
40997f:	cc                   	int3
409980:	8b ff                	mov    %edi,%edi
409982:	55                   	push   %ebp
409983:	8b ec                	mov    %esp,%ebp
409985:	ff 75 14             	push   0x14(%ebp)
409988:	ff 75 10             	push   0x10(%ebp)
40998b:	ff 75 0c             	push   0xc(%ebp)
40998e:	ff 75 08             	push   0x8(%ebp)
409991:	68 60 98 40 00       	push   $0x409860
409996:	68 e4 c1 40 00       	push   $0x40c1e4
40999b:	e8 a1 08 00 00       	call   0x40a241
4099a0:	83 c4 18             	add    $0x18,%esp
4099a3:	5d                   	pop    %ebp
4099a4:	c3                   	ret
4099a5:	cc                   	int3
4099a6:	cc                   	int3
4099a7:	cc                   	int3
4099a8:	cc                   	int3
4099a9:	cc                   	int3
4099aa:	cc                   	int3
4099ab:	cc                   	int3
4099ac:	cc                   	int3
4099ad:	cc                   	int3
4099ae:	cc                   	int3
4099af:	cc                   	int3
4099b0:	8b ff                	mov    %edi,%edi
4099b2:	55                   	push   %ebp
4099b3:	8b ec                	mov    %esp,%ebp
4099b5:	56                   	push   %esi
4099b6:	8b f1                	mov    %ecx,%esi
4099b8:	ff 15 94 f1 40 00    	call   *0x40f194
4099be:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4099c2:	74 07                	je     0x4099cb
4099c4:	56                   	push   %esi
4099c5:	e8 80 fe ff ff       	call   0x40984a
4099ca:	59                   	pop    %ecx
4099cb:	8b c6                	mov    %esi,%eax
4099cd:	5e                   	pop    %esi
4099ce:	5d                   	pop    %ebp
4099cf:	c2 04 00             	ret    $0x4
4099d2:	cc                   	int3
4099d3:	cc                   	int3
4099d4:	cc                   	int3
4099d5:	cc                   	int3
4099d6:	cc                   	int3
4099d7:	cc                   	int3
4099d8:	cc                   	int3
4099d9:	cc                   	int3
4099da:	cc                   	int3
4099db:	cc                   	int3
4099dc:	cc                   	int3
4099dd:	cc                   	int3
4099de:	cc                   	int3
4099df:	cc                   	int3
4099e0:	8b ff                	mov    %edi,%edi
4099e2:	55                   	push   %ebp
4099e3:	8b ec                	mov    %esp,%ebp
4099e5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4099e8:	85 c9                	test   %ecx,%ecx
4099ea:	74 2a                	je     0x409a16
4099ec:	6a e0                	push   $0xffffffe0
4099ee:	33 d2                	xor    %edx,%edx
4099f0:	58                   	pop    %eax
4099f1:	f7 f1                	div    %ecx
4099f3:	3b 45 10             	cmp    0x10(%ebp),%eax
4099f6:	73 1e                	jae    0x409a16
4099f8:	e8 4a 08 00 00       	call   0x40a247
4099fd:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
409a03:	33 c0                	xor    %eax,%eax
409a05:	50                   	push   %eax
409a06:	50                   	push   %eax
409a07:	50                   	push   %eax
409a08:	50                   	push   %eax
409a09:	50                   	push   %eax
409a0a:	e8 3e 08 00 00       	call   0x40a24d
409a0f:	83 c4 14             	add    $0x14,%esp
409a12:	33 c0                	xor    %eax,%eax
409a14:	5d                   	pop    %ebp
409a15:	c3                   	ret
409a16:	0f af 4d 10          	imul   0x10(%ebp),%ecx
409a1a:	51                   	push   %ecx
409a1b:	ff 75 08             	push   0x8(%ebp)
409a1e:	e8 d5 08 00 00       	call   0x40a2f8
409a23:	59                   	pop    %ecx
409a24:	59                   	pop    %ecx
409a25:	5d                   	pop    %ebp
409a26:	c3                   	ret
409a27:	8b ff                	mov    %edi,%edi
409a29:	55                   	push   %ebp
409a2a:	8b ec                	mov    %esp,%ebp
409a2c:	6a 00                	push   $0x0
409a2e:	ff 15 3c f1 40 00    	call   *0x40f13c
409a34:	ff 75 08             	push   0x8(%ebp)
409a37:	ff 15 40 f1 40 00    	call   *0x40f140
409a3d:	68 09 04 00 c0       	push   $0xc0000409
409a42:	ff 15 70 f0 40 00    	call   *0x40f070
409a48:	50                   	push   %eax
409a49:	ff 15 50 f1 40 00    	call   *0x40f150
409a4f:	5d                   	pop    %ebp
409a50:	c3                   	ret
409a51:	8b ff                	mov    %edi,%edi
409a53:	55                   	push   %ebp
409a54:	8b ec                	mov    %esp,%ebp
409a56:	81 ec 24 03 00 00    	sub    $0x324,%esp
409a5c:	a3 70 c3 40 00       	mov    %eax,0x40c370
409a61:	89 0d 6c c3 40 00    	mov    %ecx,0x40c36c
409a67:	89 15 68 c3 40 00    	mov    %edx,0x40c368
409a6d:	89 1d 64 c3 40 00    	mov    %ebx,0x40c364
409a73:	89 35 60 c3 40 00    	mov    %esi,0x40c360
409a79:	89 3d 5c c3 40 00    	mov    %edi,0x40c35c
409a7f:	66 8c 15 88 c3 40 00 	data16 mov %ss,0x40c388
409a86:	66 8c 0d 7c c3 40 00 	data16 mov %cs,0x40c37c
409a8d:	66 8c 1d 58 c3 40 00 	data16 mov %ds,0x40c358
409a94:	66 8c 05 54 c3 40 00 	data16 mov %es,0x40c354
409a9b:	66 8c 25 50 c3 40 00 	data16 mov %fs,0x40c350
409aa2:	66 8c 2d 4c c3 40 00 	data16 mov %gs,0x40c34c
409aa9:	9c                   	pushf
409aaa:	8f 05 80 c3 40 00    	pop    0x40c380
409ab0:	8b 45 00             	mov    0x0(%ebp),%eax
409ab3:	a3 74 c3 40 00       	mov    %eax,0x40c374
409ab8:	8b 45 04             	mov    0x4(%ebp),%eax
409abb:	a3 78 c3 40 00       	mov    %eax,0x40c378
409ac0:	8d 45 08             	lea    0x8(%ebp),%eax
409ac3:	a3 84 c3 40 00       	mov    %eax,0x40c384
409ac8:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
409ace:	c7 05 c0 c2 40 00 01 	movl   $0x10001,0x40c2c0
409ad5:	00 01 00
409ad8:	a1 78 c3 40 00       	mov    0x40c378,%eax
409add:	a3 7c c2 40 00       	mov    %eax,0x40c27c
409ae2:	c7 05 70 c2 40 00 09 	movl   $0xc0000409,0x40c270
409ae9:	04 00 c0
409aec:	c7 05 74 c2 40 00 01 	movl   $0x1,0x40c274
409af3:	00 00 00
409af6:	c7 05 80 c2 40 00 03 	movl   $0x3,0x40c280
409afd:	00 00 00
409b00:	6a 04                	push   $0x4
409b02:	58                   	pop    %eax
409b03:	6b c0 00             	imul   $0x0,%eax,%eax
409b06:	c7 80 84 c2 40 00 02 	movl   $0x2,0x40c284(%eax)
409b0d:	00 00 00
409b10:	6a 04                	push   $0x4
409b12:	58                   	pop    %eax
409b13:	c1 e0 00             	shl    $0x0,%eax
409b16:	8b 0d e4 c1 40 00    	mov    0x40c1e4,%ecx
409b1c:	89 88 84 c2 40 00    	mov    %ecx,0x40c284(%eax)
409b22:	6a 04                	push   $0x4
409b24:	58                   	pop    %eax
409b25:	d1 e0                	shl    $1,%eax
409b27:	8b 0d e8 c1 40 00    	mov    0x40c1e8,%ecx
409b2d:	89 88 84 c2 40 00    	mov    %ecx,0x40c284(%eax)
409b33:	6a 04                	push   $0x4
409b35:	58                   	pop    %eax
409b36:	6b c0 00             	imul   $0x0,%eax,%eax
409b39:	8b 0d e4 c1 40 00    	mov    0x40c1e4,%ecx
409b3f:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
409b43:	6a 04                	push   $0x4
409b45:	58                   	pop    %eax
409b46:	c1 e0 00             	shl    $0x0,%eax
409b49:	8b 0d e8 c1 40 00    	mov    0x40c1e8,%ecx
409b4f:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
409b53:	68 48 15 40 00       	push   $0x401548
409b58:	e8 ca fe ff ff       	call   0x409a27
409b5d:	c9                   	leave
409b5e:	c3                   	ret
409b5f:	8b ff                	mov    %edi,%edi
409b61:	55                   	push   %ebp
409b62:	8b ec                	mov    %esp,%ebp
409b64:	a3 70 c3 40 00       	mov    %eax,0x40c370
409b69:	89 0d 6c c3 40 00    	mov    %ecx,0x40c36c
409b6f:	89 15 68 c3 40 00    	mov    %edx,0x40c368
409b75:	89 1d 64 c3 40 00    	mov    %ebx,0x40c364
409b7b:	89 35 60 c3 40 00    	mov    %esi,0x40c360
409b81:	89 3d 5c c3 40 00    	mov    %edi,0x40c35c
409b87:	66 8c 15 88 c3 40 00 	data16 mov %ss,0x40c388
409b8e:	66 8c 0d 7c c3 40 00 	data16 mov %cs,0x40c37c
409b95:	66 8c 1d 58 c3 40 00 	data16 mov %ds,0x40c358
409b9c:	66 8c 05 54 c3 40 00 	data16 mov %es,0x40c354
409ba3:	66 8c 25 50 c3 40 00 	data16 mov %fs,0x40c350
409baa:	66 8c 2d 4c c3 40 00 	data16 mov %gs,0x40c34c
409bb1:	9c                   	pushf
409bb2:	8f 05 80 c3 40 00    	pop    0x40c380
409bb8:	c7 05 c0 c2 40 00 01 	movl   $0x10001,0x40c2c0
409bbf:	00 01 00
409bc2:	8b 45 04             	mov    0x4(%ebp),%eax
409bc5:	a3 78 c3 40 00       	mov    %eax,0x40c378
409bca:	8d 45 04             	lea    0x4(%ebp),%eax
409bcd:	83 c0 04             	add    $0x4,%eax
409bd0:	a3 84 c3 40 00       	mov    %eax,0x40c384
409bd5:	a1 78 c3 40 00       	mov    0x40c378,%eax
409bda:	a3 7c c2 40 00       	mov    %eax,0x40c27c
409bdf:	c7 05 70 c2 40 00 09 	movl   $0xc0000409,0x40c270
409be6:	04 00 c0
409be9:	c7 05 74 c2 40 00 01 	movl   $0x1,0x40c274
409bf0:	00 00 00
409bf3:	c7 05 80 c2 40 00 01 	movl   $0x1,0x40c280
409bfa:	00 00 00
409bfd:	6a 04                	push   $0x4
409bff:	58                   	pop    %eax
409c00:	6b c0 00             	imul   $0x0,%eax,%eax
409c03:	c7 80 84 c2 40 00 08 	movl   $0x8,0x40c284(%eax)
409c0a:	00 00 00
409c0d:	68 48 15 40 00       	push   $0x401548
409c12:	e8 10 fe ff ff       	call   0x409a27
409c17:	5d                   	pop    %ebp
409c18:	c3                   	ret
409c19:	6a 14                	push   $0x14
409c1b:	68 d0 ae 40 00       	push   $0x40aed0
409c20:	e8 c3 05 00 00       	call   0x40a1e8
409c25:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
409c29:	a1 2c ee 40 00       	mov    0x40ee2c,%eax
409c2e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409c31:	83 f8 ff             	cmp    $0xffffffff,%eax
409c34:	75 16                	jne    0x409c4c
409c36:	ff 75 08             	push   0x8(%ebp)
409c39:	8b 35 18 f2 40 00    	mov    0x40f218,%esi
409c3f:	8b ce                	mov    %esi,%ecx
409c41:	ff 15 20 f2 40 00    	call   *0x40f220
409c47:	ff d6                	call   *%esi
409c49:	59                   	pop    %ecx
409c4a:	eb 54                	jmp    0x409ca0
409c4c:	6a 08                	push   $0x8
409c4e:	e8 ab 06 00 00       	call   0x40a2fe
409c53:	59                   	pop    %ecx
409c54:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409c58:	a1 2c ee 40 00       	mov    0x40ee2c,%eax
409c5d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409c60:	a1 28 ee 40 00       	mov    0x40ee28,%eax
409c65:	89 45 e0             	mov    %eax,-0x20(%ebp)
409c68:	8d 45 e0             	lea    -0x20(%ebp),%eax
409c6b:	50                   	push   %eax
409c6c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409c6f:	50                   	push   %eax
409c70:	ff 75 08             	push   0x8(%ebp)
409c73:	e8 92 06 00 00       	call   0x40a30a
409c78:	83 c4 0c             	add    $0xc,%esp
409c7b:	8b f0                	mov    %eax,%esi
409c7d:	89 75 dc             	mov    %esi,-0x24(%ebp)
409c80:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409c83:	89 0d 2c ee 40 00    	mov    %ecx,0x40ee2c
409c89:	8b 4d e0             	mov    -0x20(%ebp),%ecx
409c8c:	89 0d 28 ee 40 00    	mov    %ecx,0x40ee28
409c92:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409c99:	e8 15 00 00 00       	call   0x409cb3
409c9e:	8b c6                	mov    %esi,%eax
409ca0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409ca3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409caa:	59                   	pop    %ecx
409cab:	5f                   	pop    %edi
409cac:	5e                   	pop    %esi
409cad:	5b                   	pop    %ebx
409cae:	c9                   	leave
409caf:	c3                   	ret
409cb0:	8b 75 dc             	mov    -0x24(%ebp),%esi
409cb3:	6a 08                	push   $0x8
409cb5:	e8 4a 06 00 00       	call   0x40a304
409cba:	59                   	pop    %ecx
409cbb:	c3                   	ret
409cbc:	8b ff                	mov    %edi,%edi
409cbe:	55                   	push   %ebp
409cbf:	8b ec                	mov    %esp,%ebp
409cc1:	ff 75 08             	push   0x8(%ebp)
409cc4:	e8 50 ff ff ff       	call   0x409c19
409cc9:	f7 d8                	neg    %eax
409ccb:	59                   	pop    %ecx
409ccc:	1b c0                	sbb    %eax,%eax
409cce:	f7 d8                	neg    %eax
409cd0:	48                   	dec    %eax
409cd1:	5d                   	pop    %ebp
409cd2:	c3                   	ret
409cd3:	6a 10                	push   $0x10
409cd5:	68 f0 ae 40 00       	push   $0x40aef0
409cda:	e8 09 05 00 00       	call   0x40a1e8
409cdf:	33 f6                	xor    %esi,%esi
409ce1:	89 75 e4             	mov    %esi,-0x1c(%ebp)