4098d5:	8b ce                	mov    %esi,%ecx
4098d7:	e8 30 fe ff ff       	call   0x40970c
4098dc:	85 c0                	test   %eax,%eax
4098de:	74 05                	je     0x4098e5
4098e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4098e3:	eb 03                	jmp    0x4098e8
4098e5:	6a 08                	push   $0x8
4098e7:	58                   	pop    %eax
4098e8:	5f                   	pop    %edi
4098e9:	5e                   	pop    %esi
4098ea:	c9                   	leave
4098eb:	c3                   	ret
4098ec:	8b ff                	mov    %edi,%edi
4098ee:	56                   	push   %esi
4098ef:	8b f1                	mov    %ecx,%esi
4098f1:	e8 fe fe ff ff       	call   0x4097f4
4098f6:	85 c0                	test   %eax,%eax
4098f8:	74 17                	je     0x409911
4098fa:	e8 ed fd ff ff       	call   0x4096ec
4098ff:	8b d0                	mov    %eax,%edx
409901:	8b ce                	mov    %esi,%ecx
409903:	e8 e5 0b 00 00       	call   0x40a4ed
409908:	85 c0                	test   %eax,%eax
40990a:	74 05                	je     0x409911
40990c:	33 c0                	xor    %eax,%eax
40990e:	40                   	inc    %eax
40990f:	5e                   	pop    %esi
409910:	c3                   	ret
409911:	33 c0                	xor    %eax,%eax
409913:	5e                   	pop    %esi
409914:	c3                   	ret
409915:	8b ff                	mov    %edi,%edi
409917:	55                   	push   %ebp
409918:	8b ec                	mov    %esp,%ebp
40991a:	51                   	push   %ecx
40991b:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409921:	e8 44 f1 ff ff       	call   0x408a6a
409926:	83 f8 01             	cmp    $0x1,%eax
409929:	75 76                	jne    0x4099a1
40992b:	57                   	push   %edi
40992c:	6a 03                	push   $0x3
40992e:	5a                   	pop    %edx
40992f:	e8 92 f4 ff ff       	call   0x408dc6
409934:	8b f8                	mov    %eax,%edi
409936:	85 ff                	test   %edi,%edi
409938:	74 5c                	je     0x409996
40993a:	56                   	push   %esi
40993b:	8d 77 ff             	lea    -0x1(%edi),%esi
40993e:	56                   	push   %esi
40993f:	e8 05 fa ff ff       	call   0x409349
409944:	3d 00 00 01 00       	cmp    $0x10000,%eax
409949:	75 44                	jne    0x40998f
40994b:	56                   	push   %esi
40994c:	e8 e9 f6 ff ff       	call   0x40903a
409951:	89 45 fc             	mov    %eax,-0x4(%ebp)
409954:	85 c0                	test   %eax,%eax
409956:	74 37                	je     0x40998f
409958:	8d 48 0c             	lea    0xc(%eax),%ecx
40995b:	e8 66 12 00 00       	call   0x40abc6
409960:	8d 4d fc             	lea    -0x4(%ebp),%ecx
409963:	e8 5e 12 00 00       	call   0x40abc6
409968:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
40996e:	6a 00                	push   $0x0
409970:	6a 03                	push   $0x3
409972:	5a                   	pop    %edx
409973:	e8 9e ee ff ff       	call   0x408816
409978:	85 c0                	test   %eax,%eax
40997a:	74 13                	je     0x40998f
40997c:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
409983:	75 0a                	jne    0x40998f
409985:	8b 48 0c             	mov    0xc(%eax),%ecx
409988:	8b d6                	mov    %esi,%edx
40998a:	e8 d9 f3 ff ff       	call   0x408d68
40998f:	4e                   	dec    %esi
409990:	83 ef 01             	sub    $0x1,%edi
409993:	75 a9                	jne    0x40993e
409995:	5e                   	pop    %esi
409996:	b9 b0 14 41 00       	mov    $0x4114b0,%ecx
40999b:	e8 40 f1 ff ff       	call   0x408ae0
4099a0:	5f                   	pop    %edi
4099a1:	83 3d b4 14 41 00 01 	cmpl   $0x1,0x4114b4
4099a8:	75 06                	jne    0x4099b0
4099aa:	ff 15 c4 21 41 00    	call   *0x4121c4
4099b0:	33 c0                	xor    %eax,%eax
4099b2:	40                   	inc    %eax
4099b3:	c9                   	leave
4099b4:	c3                   	ret
4099b5:	8b ff                	mov    %edi,%edi
4099b7:	55                   	push   %ebp
4099b8:	8b ec                	mov    %esp,%ebp
4099ba:	81 ec 28 01 00 00    	sub    $0x128,%esp
4099c0:	a1 44 10 41 00       	mov    0x411044,%eax
4099c5:	33 c5                	xor    %ebp,%eax
4099c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4099ca:	56                   	push   %esi
4099cb:	be 1c 01 00 00       	mov    $0x11c,%esi
4099d0:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
4099d6:	56                   	push   %esi
4099d7:	6a 00                	push   $0x0
4099d9:	50                   	push   %eax
4099da:	e8 e5 59 00 00       	call   0x40f3c4
4099df:	66 a1 ac 14 41 00    	mov    0x4114ac,%ax
4099e5:	83 c4 0c             	add    $0xc,%esp
4099e8:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
4099ee:	33 f6                	xor    %esi,%esi
4099f0:	46                   	inc    %esi
4099f1:	c7 85 dc fe ff ff 05 	movl   $0x5,-0x124(%ebp)
4099f8:	00 00 00
4099fb:	89 b5 e0 fe ff ff    	mov    %esi,-0x120(%ebp)
409a01:	6a 03                	push   $0x3
409a03:	6a 02                	push   $0x2
409a05:	6a 00                	push   $0x0
409a07:	6a 00                	push   $0x0
409a09:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
409a0d:	ff 15 c8 20 41 00    	call   *0x4120c8
409a13:	6a 03                	push   $0x3
409a15:	56                   	push   %esi
409a16:	52                   	push   %edx
409a17:	50                   	push   %eax
409a18:	ff 15 c8 20 41 00    	call   *0x4120c8
409a1e:	6a 03                	push   $0x3
409a20:	6a 20                	push   $0x20
409a22:	52                   	push   %edx
409a23:	50                   	push   %eax
409a24:	ff 15 c8 20 41 00    	call   *0x4120c8
409a2a:	52                   	push   %edx
409a2b:	50                   	push   %eax
409a2c:	6a 03                	push   $0x3
409a2e:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
409a34:	50                   	push   %eax
409a35:	ff 15 10 23 41 00    	call   *0x412310
409a3b:	33 c9                	xor    %ecx,%ecx
409a3d:	85 c0                	test   %eax,%eax
409a3f:	5e                   	pop    %esi
409a40:	0f 99 c1             	setns  %cl
409a43:	8b c1                	mov    %ecx,%eax
409a45:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409a48:	33 cd                	xor    %ebp,%ecx
409a4a:	e8 81 52 00 00       	call   0x40ecd0
409a4f:	c9                   	leave
409a50:	c3                   	ret
409a51:	a1 a8 14 41 00       	mov    0x4114a8,%eax
409a56:	33 d2                	xor    %edx,%edx
409a58:	56                   	push   %esi
409a59:	6a 0a                	push   $0xa
409a5b:	40                   	inc    %eax
409a5c:	5e                   	pop    %esi
409a5d:	a3 a8 14 41 00       	mov    %eax,0x4114a8
409a62:	f7 f6                	div    %esi
409a64:	83 c2 04             	add    $0x4,%edx
409a67:	52                   	push   %edx
409a68:	8b d1                	mov    %ecx,%edx
409a6a:	e8 02 00 00 00       	call   0x409a71
409a6f:	5e                   	pop    %esi
409a70:	c3                   	ret
409a71:	8b ff                	mov    %edi,%edi
409a73:	55                   	push   %ebp
409a74:	8b ec                	mov    %esp,%ebp
409a76:	51                   	push   %ecx
409a77:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409a7b:	53                   	push   %ebx
409a7c:	8b da                	mov    %edx,%ebx
409a7e:	56                   	push   %esi
409a7f:	57                   	push   %edi
409a80:	85 db                	test   %ebx,%ebx
409a82:	75 15                	jne    0x409a99
409a84:	ff 15 48 20 41 00    	call   *0x412048
409a8a:	85 c0                	test   %eax,%eax
409a8c:	0f 85 00 01 00 00    	jne    0x409b92
409a92:	6a 57                	push   $0x57
409a94:	e9 f3 00 00 00       	jmp    0x409b8c
409a99:	e8 ed f9 ff ff       	call   0x40948b
409a9e:	85 c0                	test   %eax,%eax
409aa0:	0f 84 ec 00 00 00    	je     0x409b92
409aa6:	33 d2                	xor    %edx,%edx
409aa8:	42                   	inc    %edx
409aa9:	e8 18 f3 ff ff       	call   0x408dc6
409aae:	8b f0                	mov    %eax,%esi
409ab0:	3b 75 08             	cmp    0x8(%ebp),%esi
409ab3:	77 2c                	ja     0x409ae1
409ab5:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409abb:	33 d2                	xor    %edx,%edx
409abd:	42                   	inc    %edx
409abe:	e8 28 f3 ff ff       	call   0x408deb
409ac3:	85 c0                	test   %eax,%eax
409ac5:	0f 84 b5 00 00 00    	je     0x409b80
409acb:	8b 55 08             	mov    0x8(%ebp),%edx
409ace:	8b c8                	mov    %eax,%ecx
409ad0:	2b d6                	sub    %esi,%edx
409ad2:	42                   	inc    %edx
409ad3:	e8 28 f2 ff ff       	call   0x408d00
409ad8:	83 f8 ff             	cmp    $0xffffffff,%eax
409adb:	0f 84 9f 00 00 00    	je     0x409b80
409ae1:	be 80 00 00 00       	mov    $0x80,%esi
409ae6:	6a 01                	push   $0x1
409ae8:	03 f6                	add    %esi,%esi
409aea:	33 d2                	xor    %edx,%edx
409aec:	56                   	push   %esi
409aed:	6a 04                	push   $0x4
409aef:	59                   	pop    %ecx
409af0:	e8 ae fa ff ff       	call   0x4095a3
409af5:	8b f8                	mov    %eax,%edi
409af7:	85 ff                	test   %edi,%edi
409af9:	0f 84 81 00 00 00    	je     0x409b80
409aff:	56                   	push   %esi
409b00:	57                   	push   %edi
409b01:	53                   	push   %ebx
409b02:	6a 00                	push   $0x0
409b04:	ff 15 84 21 41 00    	call   *0x412184
409b0a:	8b c8                	mov    %eax,%ecx
409b0c:	85 c9                	test   %ecx,%ecx
409b0e:	75 2c                	jne    0x409b3c
409b10:	ff 15 48 20 41 00    	call   *0x412048
409b16:	3d 16 07 00 00       	cmp    $0x716,%eax
409b1b:	75 75                	jne    0x409b92
409b1d:	33 c9                	xor    %ecx,%ecx
409b1f:	8d 45 fc             	lea    -0x4(%ebp),%eax
409b22:	51                   	push   %ecx
409b23:	51                   	push   %ecx
409b24:	50                   	push   %eax
409b25:	51                   	push   %ecx
409b26:	53                   	push   %ebx
409b27:	51                   	push   %ecx
409b28:	68 00 0b 00 00       	push   $0xb00
409b2d:	ff 15 60 20 41 00    	call   *0x412060
409b33:	8b c8                	mov    %eax,%ecx
409b35:	85 c9                	test   %ecx,%ecx
409b37:	74 59                	je     0x409b92
409b39:	8b 7d fc             	mov    -0x4(%ebp),%edi
409b3c:	8d 46 ff             	lea    -0x1(%esi),%eax
409b3f:	3b c8                	cmp    %eax,%ecx
409b41:	73 a3                	jae    0x409ae6
409b43:	51                   	push   %ecx
409b44:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409b4a:	33 d2                	xor    %edx,%edx
409b4c:	57                   	push   %edi
409b4d:	ff 75 08             	push   0x8(%ebp)
409b50:	42                   	inc    %edx
409b51:	e8 94 f7 ff ff       	call   0x4092ea
409b56:	85 c0                	test   %eax,%eax
409b58:	74 26                	je     0x409b80
409b5a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
409b5e:	74 0d                	je     0x409b6d
409b60:	ff 75 fc             	push   -0x4(%ebp)
409b63:	ff 15 ec 20 41 00    	call   *0x4120ec
409b69:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409b6d:	ff 75 08             	push   0x8(%ebp)
409b70:	8b 0d b0 14 41 00    	mov    0x4114b0,%ecx
409b76:	33 d2                	xor    %edx,%edx
409b78:	42                   	inc    %edx
409b79:	e8 f1 f4 ff ff       	call   0x40906f
409b7e:	eb 17                	jmp    0x409b97
409b80:	ff 15 48 20 41 00    	call   *0x412048
409b86:	85 c0                	test   %eax,%eax
409b88:	75 08                	jne    0x409b92
409b8a:	6a 08                	push   $0x8
409b8c:	ff 15 74 20 41 00    	call   *0x412074
409b92:	b8 8c 18 40 00       	mov    $0x40188c,%eax
409b97:	5f                   	pop    %edi
409b98:	5e                   	pop    %esi
409b99:	5b                   	pop    %ebx
409b9a:	c9                   	leave
409b9b:	c2 04 00             	ret    $0x4
409b9e:	8b ff                	mov    %edi,%edi
409ba0:	55                   	push   %ebp
409ba1:	8b ec                	mov    %esp,%ebp
409ba3:	83 ec 10             	sub    $0x10,%esp
409ba6:	56                   	push   %esi
409ba7:	57                   	push   %edi
409ba8:	8b f1                	mov    %ecx,%esi
409baa:	33 ff                	xor    %edi,%edi
409bac:	89 7d fc             	mov    %edi,-0x4(%ebp)
409baf:	85 f6                	test   %esi,%esi
409bb1:	74 6a                	je     0x409c1d
409bb3:	e8 d3 08 00 00       	call   0x40a48b
409bb8:	85 c0                	test   %eax,%eax
409bba:	74 61                	je     0x409c1d
409bbc:	e8 ca f8 ff ff       	call   0x40948b
409bc1:	85 c0                	test   %eax,%eax
409bc3:	74 6a                	je     0x409c2f
409bc5:	57                   	push   %edi
409bc6:	57                   	push   %edi
409bc7:	8b d6                	mov    %esi,%edx
409bc9:	33 c9                	xor    %ecx,%ecx
409bcb:	e8 d3 f9 ff ff       	call   0x4095a3
409bd0:	8b f0                	mov    %eax,%esi
409bd2:	85 f6                	test   %esi,%esi
409bd4:	75 0e                	jne    0x409be4
409bd6:	ff 15 48 20 41 00    	call   *0x412048
409bdc:	85 c0                	test   %eax,%eax
409bde:	75 4f                	jne    0x409c2f
409be0:	6a 08                	push   $0x8
409be2:	eb 45                	jmp    0x409c29
409be4:	ff 15 dc 22 41 00    	call   *0x4122dc
409bea:	89 38                	mov    %edi,(%eax)
409bec:	8d 45 fc             	lea    -0x4(%ebp),%eax
409bef:	50                   	push   %eax
409bf0:	56                   	push   %esi
409bf1:	ff 15 e0 22 41 00    	call   *0x4122e0
409bf7:	83 c4 08             	add    $0x8,%esp
409bfa:	dd 5d f0             	fstpl  -0x10(%ebp)
409bfd:	ff 15 dc 22 41 00    	call   *0x4122dc
409c03:	83 38 22             	cmpl   $0x22,(%eax)
409c06:	74 15                	je     0x409c1d
409c08:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409c0b:	85 c9                	test   %ecx,%ecx
409c0d:	74 09                	je     0x409c18
409c0f:	e8 77 08 00 00       	call   0x40a48b
409c14:	85 c0                	test   %eax,%eax
409c16:	75 05                	jne    0x409c1d
409c18:	dd 45 f0             	fldl   -0x10(%ebp)
409c1b:	eb 14                	jmp    0x409c31
409c1d:	ff 15 48 20 41 00    	call   *0x412048
409c23:	85 c0                	test   %eax,%eax
409c25:	75 08                	jne    0x409c2f
409c27:	6a 57                	push   $0x57
409c29:	ff 15 74 20 41 00    	call   *0x412074
409c2f:	d9 ee                	fldz
409c31:	5f                   	pop    %edi
409c32:	5e                   	pop    %esi
409c33:	c9                   	leave
409c34:	c3                   	ret
409c35:	8b ff                	mov    %edi,%edi
409c37:	55                   	push   %ebp
409c38:	8b ec                	mov    %esp,%ebp
409c3a:	51                   	push   %ecx
409c3b:	56                   	push   %esi
409c3c:	57                   	push   %edi
409c3d:	8b f1                	mov    %ecx,%esi
409c3f:	33 ff                	xor    %edi,%edi
409c41:	89 7d fc             	mov    %edi,-0x4(%ebp)
409c44:	85 f6                	test   %esi,%esi
409c46:	0f 84 88 00 00 00    	je     0x409cd4
409c4c:	e8 3a f8 ff ff       	call   0x40948b
409c51:	85 c0                	test   %eax,%eax
409c53:	0f 84 8d 00 00 00    	je     0x409ce6
409c59:	57                   	push   %edi
409c5a:	57                   	push   %edi
409c5b:	8b d6                	mov    %esi,%edx
409c5d:	33 c9                	xor    %ecx,%ecx
409c5f:	e8 3f f9 ff ff       	call   0x4095a3
409c64:	8b f0                	mov    %eax,%esi
409c66:	85 f6                	test   %esi,%esi
409c68:	75 0e                	jne    0x409c78
409c6a:	ff 15 48 20 41 00    	call   *0x412048
409c70:	85 c0                	test   %eax,%eax
409c72:	75 72                	jne    0x409ce6
409c74:	6a 08                	push   $0x8
409c76:	eb 68                	jmp    0x409ce0
409c78:	51                   	push   %ecx